Published on

An Independent Set Optimization Problem

Authors

Introduction

Consider the following optimization problem.

Under the assumption that P=NPP=NP, given a vertex weighted graph G=(V,E,w)G=(V,E,w) with w:V{1,2,...,2k}w:V\mapsto \{1, 2, ... ,2^k\} for some kZ+k\in \mathbb{Z^+}, find an independent set VVV'\subseteq V that maximizes vVw(v)\sum_{v\in V'}w(v).

Restating the Problem

We can encode GG as a V×V|V|\times|V| adjacency matrix using the binary string m11m12...mV1...m1V...mVVm_{11}m_{12}...m_{|V|1}...m_{1|V|}...m_{|V||V|} with length V2|V|^2. Since 2k2^k, from the codomain of ww, gives the largest possible weight of any vertex, if we assume that each vertex has weight 2k2^k for the sake of a worst case binary encoding, the length of our encoding will be worst case less than kV2k|V|^2. Consequentely, time as a function of the length of the input encoded in binary form is O(kV2)O(k|V|^2). Alternatively, if we did not want to represent GG as an adjacency matrix, and had some machine configured to read a weighted graph as an input string, we could, in certain cases, shorten a tight upper bound on input time to O(E+kV)O(|E|+k|V|).

For a maximum weighted independent set, let xi=1x_i=1 if viVv_i\in V', and xi=0x_i=0 otherwise. Now, the optimization problem can be restated as maximizing

i=1Vw(vi)xi\sum_{i=1}^{|V|}w(v_i)x_i

subject to xi+xj1x_i+x_j\leq 1 for all (vi,vj)E(v_i,v_j)\in E. Notice that for all solutions to this new problem, we have uiUxi1\sum_{u_i\in U}x_i\leq 1 for any clique UVU\subseteq V. Taking this inequality, we may use 0-1 integer programming to compute the solution to this problem, where a solution in polynomial time is attainable if this instance of 0-1 integer programming is in NP.

Solution

Theorem. The following 0-1 integer programming problem is in NP:

Take our binary string representation of our graph G=(V,E,w)G=(V,E,w) as adjacency matrix M=m11m12...mV1...m1V...mVVM=m_{11}m_{12}...m_{|V|1}...m_{1|V|}...m_{|V||V|}. Consider the clique UU satisfying uiUxi1\sum_{u_i\in U}x_i\leq 1, and set every entry mijm_{ij} in MM to zero if mijm_{ij} is not in UU. Now, find a vector xx such that the following (element-wise) comparison holds:

[m11m12m1Vm21m22m2VmV1mV2mVV]x[11]\begin{bmatrix} m_{11} & m_{12} & \dots & m_{1|V|} \\ m_{21} & m_{22} & \dots & m_{2|V|} \\ \vdots & \vdots & \ddots & \vdots \\ m_{|V|1} & m_{|V|2} & \dots & m_{|V||V|} \end{bmatrix} x\leq \begin{bmatrix} 1 \\ \vdots\\ 1 \end{bmatrix}

Proof. Take the problem above as a decision problem with certificate vector xx. The left of the inequality above is computable in O(V2)O(|V|^2), and the element-wise comparison to verify whether the inequality holds takes O(V)O(|V|). Thus, the certificate for this problem can be verified in polynomial time by a deterministic Turing machine that takes MM concatenated with a binary encoding of UU as input, making this an NP problem.

Therefore, we have a non-deterministic polynomial time algorithm for finding an independent set VVV'\subseteq V that maximizes vVw(v)\sum_{v\in V'}w(v). For an alternative approach, we could say that if UU is a Hamiltonian cycle of odd cardinality,

uiUxiU12\sum_{u_i\in U}x_i\leq \frac{|U|-1}{2}

By utilizing the aforementioned and preceding inequalities, we can compute a reasonable solution to the maximum independent set problem using the Gomory cutting plane algorithm. Although this approach may appear slower when considering only the few constraints of the original problem, it is well-suited for practical purposes.