SDP-Based Approximation Algorithms for Graph Coloring, Study notes of Approximation Algorithms

The use of semi-definite programming (sdp) in approximating the graph coloring problem. It covers the problem overview, sdp formulation, and a randomized algorithm for converting an sdp solution to a feasible coloring. The document also includes lemmas related to the lovász theta function and perfect graphs.

Typology: Study notes

2011/2012

Uploaded on 02/14/2012

alexey
alexey 🇺🇸

4.7

(20)

325 documents

1 / 5

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CS880: Approximations Algorithms
Scribe: Chi Man Liu Lecturer: Shuchi Chawla
Topic: Semi-Definite Programming: Graph Coloring Date: 3/29/2007
In the previous lecture , we saw how semi-definite programming (SDP) could be employed to
approximate Max-Cut and Max-2-SAT. In this lecture, we look at another problem which can be
approximated using SDP: Graph Coloring.
21.1 Graph Coloring: Overview
Let G= (V, E ) be a graph. A k-coloring for Gis a function f:V[k] such that f(u)6=f(v)
for all (u, v)E. In other words, a k-coloring is an assignment of vertices to kcolors such that
no edge is monochromatic. We say that a graph Gis k-colorable if there exists a k-coloring for G.
The chromatic number of Gis the least ksuch that Gis k-colorable. Given a k-colorable graph G,
finding a k-coloring for Gis solvable in polynomial time for k= 2, but NP-hard for k3.
In Homework 1, we showed how to find a O(n)-coloring for any 3-colorable graph in polynomial
time, where nis the number of vertices in the graph. That algorithm is due to Wigderson [1]
and can be extended to find O(n2/3)-colorings for k= 4, and O(kn11/(k1))-colorings for general
k. Blum [2] gave a combinatorial algorithm for coloring 3-colorable graphs using ˜
O(n3/8) colors1.
Karger, Motwani and Sudan [3] presented a semi-definite programming based ˜
O(n1/4)-coloring for
3-colorable graphs. Combining the techniques in [2] and [3], Blum and Karger [4] improved the
bound to ˜
O(n3/14). The best known approximation for 3-coloring uses O(n0.2111) colors. This
algorithm, due to Arora, Chlamtac and Charikar [5], is based on semi-definite programming and
the triangle inequality.
On the hardness of Graph Coloring, it is known that coloring a 3-colorable graph using only 4
colors is NP-hard. In fact, the Unique Games Conjecture implies that there is no constant factor
approximation for 3-coloring. It is also known that approximating k-coloring better than a factor
of n1for arbitrary kis NP-hard.
21.2 SDP Formulation
We need to divide the vertices into ksets such that every edge gets cut. This is different from the
Max-Cut and Max-2-SAT problems for which only two sets are sufficient. Our strategy is to map
the vertices to unit vectors in Rn, and we want to maximize distances between the edges. Finally, a
randomized procedure is used to partition the vertices into ksets according to the optimal solution
vectors.
We introduce a vector variable viRnfor each iV. Recall that the dot product between two
vectors increases as they get closer to each other. Therefore, to maximize distances between the
edges, we want to minimize the quantity max(i,j)Evi·vj. We formulate Graph Coloring as the
1The notation ˜
Ois sometimes used to hide low-order multiplicative terms, such as log n.
1
pf3
pf4
pf5

Partial preview of the text

Download SDP-Based Approximation Algorithms for Graph Coloring and more Study notes Approximation Algorithms in PDF only on Docsity!

CS880: Approximations Algorithms Scribe: Chi Man Liu Lecturer: Shuchi Chawla Topic: Semi-Definite Programming: Graph Coloring Date: 3/29/

In the previous lecture , we saw how semi-definite programming (SDP) could be employed to approximate Max-Cut and Max-2-SAT. In this lecture, we look at another problem which can be approximated using SDP: Graph Coloring.

21.1 Graph Coloring: Overview

Let G = (V, E) be a graph. A k-coloring for G is a function f : V → [k] such that f (u) 6 = f (v) for all (u, v) ∈ E. In other words, a k-coloring is an assignment of vertices to k colors such that no edge is monochromatic. We say that a graph G is k-colorable if there exists a k-coloring for G. The chromatic number of G is the least k such that G is k-colorable. Given a k-colorable graph G, finding a k-coloring for G is solvable in polynomial time for k = 2, but NP-hard for k ≥ 3.

In Homework 1, we showed how to find a O(

n)-coloring for any 3-colorable graph in polynomial time, where n is the number of vertices in the graph. That algorithm is due to Wigderson [1] and can be extended to find O(n^2 /^3 )-colorings for k = 4, and O(kn^1 −^1 /(k−1))-colorings for general k. Blum [2] gave a combinatorial algorithm for coloring 3-colorable graphs using O˜(n^3 /^8 ) colors^1. Karger, Motwani and Sudan [3] presented a semi-definite programming based O˜(n^1 /^4 )-coloring for 3-colorable graphs. Combining the techniques in [2] and [3], Blum and Karger [4] improved the bound to O˜(n^3 /^14 ). The best known approximation for 3-coloring uses O(n^0.^2111 ) colors. This algorithm, due to Arora, Chlamtac and Charikar [5], is based on semi-definite programming and the triangle inequality.

On the hardness of Graph Coloring, it is known that coloring a 3-colorable graph using only 4 colors is NP-hard. In fact, the Unique Games Conjecture implies that there is no constant factor approximation for 3-coloring. It is also known that approximating k-coloring better than a factor of n^1 −^ for arbitrary k is NP-hard.

21.2 SDP Formulation

We need to divide the vertices into k sets such that every edge gets cut. This is different from the Max-Cut and Max-2-SAT problems for which only two sets are sufficient. Our strategy is to map the vertices to unit vectors in Rn, and we want to maximize distances between the edges. Finally, a randomized procedure is used to partition the vertices into k sets according to the optimal solution vectors.

We introduce a vector variable vi ∈ Rn^ for each i ∈ V. Recall that the dot product between two vectors increases as they get closer to each other. Therefore, to maximize distances between the edges, we want to minimize the quantity max(i,j)∈E vi · vj. We formulate Graph Coloring as the

(^1) The notation O˜ is sometimes used to hide low-order multiplicative terms, such as log n.

following SDP (equivalently, vector program).

minimize t subject to vi · vj ≤ t ∀(i, j) ∈ E vi · vi = 1 ∀i ∈ V vi ∈ Rn^ ∀i ∈ V

Unfortunately, the relation between an feasible solution to the SDP and a legal coloring for the graph is not obvious — given a feasible solution to the SDP, how to construct a legal k-coloring? Furthermore, how does k depend on t? The following two lemmas answer the latter question.

Lemma 21.2.1 Let t∗^ be the optimal value of the SDP. If G is k-colorable, then t∗^ ≤ (^) k−−^11.

Lemma 21.2.2 Let t∗^ be the optimal value of the SDP. If G contains a k-clique, then t∗^ ≥ (^) k−−^11.

Remark. We define θ(G) = 1 − (^) t^1 ∗ for any graph G. This function is known as the Lov´asz theta function. Note that if t∗^ = (^) k−−^11 , then θ(G) = k. In this case, the graph is called vector-k-colorable. For a graph G, the clique number of G is the size of the largest clique in G. By Lemma 21.2.1, θ(G) is at most the chromatic number of G. By Lemma 21.2.2, θ(G) is at least the clique number of G. A graph with its chromatic number equal to its clique number is known as a perfect graph. For example, complete graphs are perfect graphs. Note that for perfect graphs, their chromatic numbers and clique numbers can be computed in polynomial time, namely by computing the Lov´asz theta function.

Proof: [Proof of Lemma 21.2.1] Suppose that we have a partition of V into k subsets. We will define explicitly k unit vectors v 1 ,... , vk in Rk^ such that vi · vj ≤ (^) k−−^11 for any i 6 = j. Assigning vertices in different subsets to different vectors, we have found a feasible solution to the SDP with value at most (^) k−−^11 , thus proving the lemma. We demonstrate how to find such vectors by induction on k.

The base case (k = 2) is trivial. Assume that for some k ≥ 2 we have unit vectors v′ 1 ,... , v k′ ∈ Rk such that v′ i · v′ j ≤ (^) k−−^11 for i 6 = j. We construct k + 1 unit vectors v 1 ,... , vk+1 ∈ Rk+1^ as follows.

  • vk+1 = (0,... , 0 , 1);
  • for 1 ≤ i ≤ k, vi = (αv i′, − 1 /k), i.e. the k + 1-vector obtained by adding one coordinate (− 1 /k) to the k-vector αv′ i, where α =

1 − 1 /k^2.

There are a few things to show. First, the vi’s are unit vectors:

vi · vi = α^2 (v′ i · v i′) +

k^2

  1. Pick t (whose value to be decided) “directions” (unit vectors) α 1 ,... , αt uniformly at random.
  2. Divide the graph into 2t^ parts according to sgn(αj · vi) for every j. Color each part with a unique color.
  3. Recurse on monochromatic edges.

If G is 3-colorable, then by Lemma 21.2.1 we get an optimal solution to the SDP with k ≤ 3 and vi · vj ≤ − 1 /2 for all (i, j) ∈ E. This implies that for any (i, j) ∈ E, the angle between vi and vj is at least 2π/3.

Let ∆ be the maximum degree of the graph. We pick t = log 3 ∆ + 1.

Claim 21.3.1 Suppose that we use the above algorithm to color a 3-colorable graph G = (V, E). Then, the expected number of monochromatic edges after any iteration is at most n/ 4 , where n = |V |.

Proof: Consider any (x, y) ∈ E. Fix a j (1 ≤ j ≤ t). Then, since the angle between vx and vy is at least 2π/3 as discussed above, we have

Pr[sgn(αj , vx) = sgn(αj , vy)] ≤

Hence,

Pr[(x, y) is monochromatic] = Pr[∀j, sgn(αj , vx) = sgn(αj , vy)]

3 t

Thus, the expected number of monochromatic edges is at most n 2 ∆ · (^) 3∆^1 ≤ n/4.

We know from Claim 21.3.1 that the expected number of vertices need to be considered after any iteration is at most n/2 (since there are n/4 monochromatic edges). Thus, we have the following corollary.

Corollary 21.3.2 With high probability, the above algorithm terminates after O(log n) iterations.

We now analyze the number of colors used in the coloring. In each iteration, at most 2t^ new colors are used. Supposing there are log n iterations, the total number of colors used is

2 t^ log n ≈ 2 log^3 ∆^ · log n = ∆log^3 2 · log n = ∆^0.^63 log n = O(n^0.^63 log n).

This is worse than the O(

n)-approximation we got in Homework 1. We can improve the approx- imation factor by combining the above algorithm with the idea in Homework 1. Note that in the above analysis we simply bound the value of ∆ by n. As in Homework 1, we can set a threshold for the value of ∆, say ∆∗. The combined algorithm is as follows.

  1. Pick a vertex v with degree greater than ∆∗. 3-color the neighbors of v (including v), and remove them from the graph.
  2. Repeat step 1 until all vertices in the graph have degree at most ∆∗.
  3. Run the above 3-coloring algorithm on the pruned graph.

The number of colors used in the pruning phase (steps 1 and 2) is at most (^) ∆^3 n∗. The (expected) number of colors used in step 3 is (∆∗)^0.^63 log n. We can minimize their sum by setting ∆∗^ = n^1 /^1.^63 , which leads to a O˜(n^0.^39 )-coloring. A smarter preprocessing gives a O˜(n^0.^25 )-coloring algorithm for 3-colorable graphs, but we will not discuss it in class.

References

[1] A. Wigderson. Improving the performance guarantee for approximate graph coloring. Journal of the ACM, 30(4):729–735, October 1983.

[2] A. Blum. New approximation algorithms for graph coloring. Journal of the ACM, 31(3):470–516,

[3] D. Karger, R. Motwani and M. Sudan. Approximate graph coloring by semidefinite program- ming. In Proceedings of the 35th Annual Symposium on Foundations of Computer Science, November 1994.

[4] A. Blum and D. Karger. An O˜(n^3 /^14 )-coloring algorithm for 3-colorable graphs. Information Processing Letters, 61(1):49–53, 1997.

[5] S. Arora, E. Chlamtac and M. Charikar. New approximation guarantee for chromatic number. In Proceedings of the 38th Annual ACM Symposium on Theory of Computing, 2006.