Coloring k-colorable graphs using smaller palletes

Coloring k-colorable graphs
using smaller palettes
Eran Halperin Ram Nathaniel Uri Zwick
Tel Aviv University
New coloring results
Coloring k-colorable graphs
of maximum degree D using
D1-2/k log1/kD colors
(instead of D1-2/k log1/2D colors [KMS])
New coloring results
Coloring k-colorable graphs using
na(k) colors (instead of nb(k) colors [KMS])
k
a(k)
b(k)
k
4
7/19
2/5
4 0.3684 0.4000
5 97/207
1/2
5 0.4686 0.5000
6
4/7
6 0.5443 0.5714
43/79
a(k)
b(k)
An extension of Alon-Kahale
AK: If a graph contains an independent set of
size n/k+m, k integer, then an independent set
of size m3/(k+1) can be found in polynomial time.
Extension: If a graph contains an independent
set of size n/a, then an independent set of size
nf(a) can be found in polynomial time, where
f (a ) 
a (a  1)
k a (a  k ) 
( k 1)( k 1)
3
)
k  [a ]
Graph coloring basics
If in any k-colorable graph on n vertices
we can find, in polynomial time, one of
• Two vertices that have the same color
under some valid k-coloring ;
• An independent set of size W(n1-a) ;
then we can color any k-colorable graph
using O(na) colors.
Coloring 3-colorable graphs using
O(n1/2) colors [Wigderson]
A graph with maximum degree D can be
easily colored using D1 colors.
If D < n1/2, color using D1 colors.
Otherwise, let v be a vertex of degree D.
Then, N(v) is 2-colorable and contains
an independent set of size D/2> n1/2/2.
Vector k-Coloring [KMS]
A vector k-coloring of a graph G=(V,E) is
a sequence of unit vectors v1,v2,…,vn such
that if (i,j) in E then <vi,vj>=-1/(k-1).
Finding large independent sets
Let G=(V,E) be a 3-colorable graph.
Let r be a random normally distributed
vector in Rn. Let c  23 ln D  13 ln ln D .
I  {i V | vi  r  c}
I’ is obtained from I by removing a
vertex from each edge of I.
Constructing the sets I and I’
vi
r
vj
Analysis
E [n ' ]  n Pr[ v1  r  c ]  nN ( c )
1
2
( 1c  c13 )e
2
 c2
 N (c) 
2
1 1
2 c
e
 c2
E [m' ]  m Pr[ v1  r  c  v2  r  c ]
 m Pr[( v1  v2 )  r  2c ]  mN [2c ]
Analysis (Cont.)
cv1
2c(v1  v2 )
cv2
2cu1
cv1
2c(v1  v2 )
cv2
2cu2
Analysis (Cont.)
Pr[ v1  r  c  v2  r  c] 
Pr[u1  r  2c  u2  r  2c] N ( 2c)
N ( 2c ) 
1
2c
N ( 2c ) 
2
e
2 c 2
1
2 c2
e
2 c 2
2
Analysis (Cont.)
With c 
2
3
ln D  13 ln ln D ,
c2 / 2
(  )
e
N (c)
>
2
2 c2
1
1
N ( 2c )
e
2 c 2 2
1
c
1
c3
1
2
> 2  ce
3c 2 / 2
>D
Thus,
nD
n
2
E [n ' m' ]  nN ( c ) 
N ( 2c ) > N ( c )
2
2
n 1 1 1 c2 / 2
n
> ( c  c 3 ) 2 e
 W(
)
1/ 3
2
( D ln D )
A simple observation
Suppose G=(V,E) is k-colorable.
u
N ( u, v )  N ( u )  N ( v )
v
Either G[N(u,v)] is (k-2)-colorable,
or u and v get the same color under
any a k-coloring of G.
A lemma of Blum
Let G=(V,E) be a k-colorable graph with
• minimum degree d
 | N (u)  N (v ) | s for every u, v V
Then, it is possible to construct, in polynomial
time, a collection {Ti} of about n subsets of V
such that at least one Ti satisfies:
• |Ti|=Wd2/s)
• Ti has an independent subset of size
( k11  O( log1n )) | Ti |
A lemma of Blum
v
N (v )
N ( N ( v ))
Graph coloring techniques
Wigderson
Karger
Motwani
Sudan
Blum
Blum
Karger
Alon
Kahale
Our
Algorithm
The new algorithm
Step 0:
If k=2, color the graph using 2 colors.
If k=3, color the graph using n3/14 colors
using the algorithm of Blum and Karger.
The new algorithm
Step 1:
Repeatedly remove from the graph vertices of
degree at most na(k)/(1-2/k). Let U be the set of
vertices removed, and W=V-U.
Average degree of G[U] is at most na(k)/(1-2/k).
Minimum degree of G[W] at least na(k)/(1-2/k).
If |U|>n/2, use [KMS] to find an independent
set of size n/D1-2/k= n1-ak).
Step 1
Let dna(k)/(1-2/k).
U
W
Average degree of G[U] is at most d.
Minimum degree of G[W] at least d.
The new algorithm
Step 2:
For every u,v such that N(u,v)>n(1-a(k)/(1-a(k-2)),
apply the algorithm recursively on G[N(u,v)]
and k-2.
If G[N(u,v)] is (k-2)-colorable, we get an
independent set of size |N(u,v)|1-a(k-2)>n1-a(k).
Otherwise, we can infer* that u and v must be
assigned the same color.
The new algorithm
Step 3: If we reach this step then |W|>n/2, the
minimum degree of G[W] is at least na(k)/(1-2/k),
and for every u,v in W, N(u,v)>n(1-a(k)/(1-a(k-2)).
By Blum’s lemma, we can find a collection {Ti} of
about n subsets of W such that at least one Ti
satisfies |Ti|=Wd2/s) and Ti has an independent
subset of size ( k11  O( log1n )) | Ti | .
By the extension of the Alon-Kahale result,
we can find an IS of size 3  2a ( k )  1a ( k ) 
n
k  12 / k 1a ( k 2 ) 
The recurrence relation
a ( 2)  0
a (3)  143 [Blum - Karger]
6
a (k )  1 
3(1  k2 )
k 4
1  a ( k  2)
Hardness results
It is NP-hard to 4-color 3-colorable graphs
[Khanna,Linial,Safra ‘93]
[Guruswami,Khanna ‘00]
For any k, it is NP-hard to k-color
2-colorable hypergraphs
[Guruswami,Hastad,Sudan ‘00]