Approximate Coloring - Advanced Algorithms - Lecture Notes, Study notes of Advanced Algorithms

Main points of this lecture are: Approximate Coloring, Widgerson's Algorithm, Lund and Yannakakis, Polynomial Time, Semidefinite Programming, Unit Vector, Reference Color Vectors, Vector Program, Random Hyperplane, Same Hyperplane Region

Typology: Study notes

2012/2013

Uploaded on 04/23/2013

atasi
atasi 🇮🇳

4.6

(32)

134 documents

1 / 5

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Lecture 11: Approximate Coloring
1 Approximate 3-coloring
Definition 1.0.1. Ak-vertex coloring of a graph G= (V, E)is an assign-
ment f:VCfrom the vertices of Gto a set of colors Cwhere |C|=k
such that for each edge the colors of its vertices are not equal.
We start by considering 3-vertex-colorable graphs, which we refer to as
3-colorable graphs for convenience. Deciding whether a particular graph is
3-colorable is NP-complete, while determing 2-colorability can be done in
linear time. It is also possible to + 1 color a graph with max degree in
polynomial time.
The problem we wish to solve is the following:
Approximate 3-coloring problem:
Input: A graph that is 3-vertex colorable.
Output: Ac-vertex coloring of the graph for some c3.
The goal is to minimize c, while still taking polynomial time.
2 Widgerson’s Algorithm
First we consider Widgerson’s algorithm [3], which shows for every 3-colorable
graph on nvertices a 3dne-coloring can be found for the graph in polyno-
mial time. Thus this algorithm gives an O(n1/2) approximation to the op-
timal number of colors. Lund and Yannakakis [2] showed that there exists
some small ε > 0 such that no algorithm can achieve a better than O(nε)
approximation for the 3-coloring problem unless P=NP .
1
pf3
pf4
pf5

Partial preview of the text

Download Approximate Coloring - Advanced Algorithms - Lecture Notes and more Study notes Advanced Algorithms in PDF only on Docsity!

Lecture 11: Approximate Coloring

1 Approximate 3-coloring

Definition 1.0.1. A k-vertex coloring of a graph G = (V, E) is an assign- ment f : V → C from the vertices of G to a set of colors C where |C| = k such that for each edge the colors of its vertices are not equal.

We start by considering 3-vertex-colorable graphs, which we refer to as 3-colorable graphs for convenience. Deciding whether a particular graph is 3-colorable is NP-complete, while determing 2-colorability can be done in linear time. It is also possible to ∆ + 1 color a graph with max degree ∆ in polynomial time.

The problem we wish to solve is the following:

Approximate 3-coloring problem: Input: A graph that is 3-vertex colorable. Output: A c-vertex coloring of the graph for some c ≥ 3.

The goal is to minimize c, while still taking polynomial time.

2 Widgerson’s Algorithm

First we consider Widgerson’s algorithm [3], which shows for every 3-colorable graph on n vertices a 3d

ne-coloring can be found for the graph in polyno- mial time. Thus this algorithm gives an O(n^1 /^2 ) approximation to the op- timal number of colors. Lund and Yannakakis [2] showed that there exists some small ε > 0 such that no algorithm can achieve a better than O(nε) approximation for the 3-coloring problem unless P = N P.

WidgersonApproximateColoring(G): While the max degree of G is > ∆: Pick a vertex v in G of degree > ∆. 2-color the neighborhood (adjacent vertices) of v with 2 new color Remove v and its neighborhood from G. ∆ + 1 color remaining graph.

In the algorithm, the neighborhood of v can be 2-colored because v and its neighborhood form a subgraph of a G, which can be 3-colored.

Now consider how many colors are used. The total number of colors used during looping is 2 (^) ∆n +1, while the ∆+1 coloring obviously uses ∆ +1 colors. So in total the coloring uses 2 (^) ∆n + ∆ + 1 colors. If we select ∆ = d

ne, then the coloring uses approximately 3

n = O(

n) colors.

It turns out that this algorithm also yields an algorithm for approximately coloring k-colorable graphs by recursively making calls to a subroutine for approximately coloring (k − 1)-colorable graphs, instead of the 2-coloring subroutine seen in WidgersonApproximateColoring(). This algorithm colors

a k-colorable graph using O(n k− k 1 ) colors.

3 Approximate Coloring via Semidefinite Pro-

gramming

Widgerson’s algorithm stood as the best known polynomial time algorithm for approximate coloring from 1983 when it published, until 1998 when Karger, Motwani, and Sudan published algorithms for solving approximate coloring using semidefinite programming [1]. We now present this pair of algorithms.

3.1 Algorithm 1

Given a 3-coloring of a 3-colorable graph G = (V, E), consider mapping each vertex to a unit vector pointed in one of three directions corresponding to

To show that this algorithm gives a good approximation, we need (but will not prove) the following lemma:

Lemma 3.1.3. Given two vectors (colored vertices) and an angle of Θ, the probability that they are separated by a random hyperplane is exactly ΘΠ.

Now consider the probability that two vertices that share an edge have the same color. P r[(i, j) ∈ E and i, j have same color] is equal to the probability that their color vectors lie in the same hyperplane region:

P r[(i, j) ∈ E, color(i) = color(j)] = P r[region(i) = region(j)]t^ (1) = 1 − P r[region(i) 6 = region(j)] (2)

= 1 −

So E[number of bad edges] ≤ (^) 9∆m ≤ 18 n ≤ n 8 , since the number of edges is at most n 2 ∆. Thus the probability that we get more than twice the expected number of bad edges is at most 12 and thus with probability at least 12 the number of bad edges is less than n 4. This algorithm uses 2 t^ = O(2dlog^3 ∆e) = O(∆log^3 2 ) = O(∆.^631 ) colors. We can improve this result by using the following trick:

Reduce the maximum degree to ∆ using (^2) ∆n colors.

Color remaining with O˜(∆.^631 ) colors. Choose ∆ ≈ n.^631.

With this trick the coloring uses O˜(n.^387 ) colors. In the same paper a bound of O˜(n.^25 ) is achieved using an improved semicoloring.

3.2 Algorithm 2

Now we give a second algorithm similar to the previous, and achieving a better bound of O˜(n^0.^25 ). This algorithm also originates in [1].

KMSApproximateColoring2(): Choose t random (Gaussian) vectors. Assign vertex i to the vector cj that maximizes vi · cj. Color vertices assigned to cj with color j.

References

[1] D. Karger, R. Motwani, M. Sudan Approximate graph coloring by semidef- inite programming, J. of the ACM, 45 (1998), 26–265.

[2] D. Lund and M. Yannakakis, On the hardness of approximating minimiza- tion problems, In Proc. of the 25th ACM Symp. on Theory of Computing (1993) 286-293.

[3] A. Widgerson, Improving the performance guarantee for approximate graph coloring, J. of the ACM, 30 (1983), 729–735.