Input-Dependent and Asymptotic Approximation
Summary- Approximation algorithm for graph coloring
- Approximation algorithm for set cover
- Asymptotic approximation scheme for edge coloring
begin i:=0; U:=V;
while U ø dobegin
i:=i+1;V[i]:=ø;W:=U;H:=graph induced by W;
while W ø dobegin
v=node of minimum degree in H; insert v inV[i];delete v and its neighbors from W;U:=U-V[i]
endend
end.
Approximation of graph coloring- Polynomial-time n/logn-approximation algorithm for
MINIMUM GRAPH COLORING
ProofWe first prove that, if G is k-colorable, then the
algorithm uses at most 3|V|/logk|V| colors.
- At any iteration of the inner loop, H is k-colorable
- Hence, it contains an independent set of at least |W|/k nodes of degree at most |W|(k-1)/k
- At least |W|/k nodes will be in W at the next iteration
- At least logk|W| iterations of the inner loop
- |V[i]| is at least logk|U|
Proof (continued)
- As long as |U| |V|/logk|V|, logk|U| logk(|V|/logk|V|) (1/2) logk|V|
- When |U|<|V|/logk|V|, at most 2|V|/logk|V| colors have been used
- To color the remaining nodes|V|/logk|V| colors suffice
- That is, the algorithm uses at most 3|V|/logk|V| colors
Proof (end)
- The algorithm uses at most |V|/logm*(G)|V|, that is, at most 3nlog(m*(G))/logn colors
- The performance ratio is at most 3n/logn
MINIMUM SET COVER- INSTANCE: Collection C of subsets of a finite set S
- SOLUTION: A set cover for S, i.e., a subset C’ of C such that every element in S belongs to at least one member of C’
- MEASURE: |C’|
beginU:=S; C’:=ø;for any ci do c’i := ci ;repeat
i:=index of c’with maximum cardinality;insert ci in C’; U := U-{elements of c’i };delete all elements of ci from all c’;
until U:=øend.
Johnson’s algorithm- Polynomial-time logarithmic approximation algorithm
for MINIMUM SET COVER
Proof- We prove that the performance ratio of the algorithm
is at most ∑1 i k (1/i) where k is the maximum cardinality of the sets in C
- Let a1 ,...,a|C’| be the sequence of indices obtained by the algorithm
- Let cji be the surviving part of ci before index aj has
been chosen
- The intersection of ci and cjaj is equal to cj
i - cj+1i
- li denote largest index j such that cji is not empty
First stepFor any i, H(|ci|) 1 j C’| (|ci cj
aj |/|cj
aj|) where H(n)=
1 i n (1/i)
Proof
1 j C’| (|ci cjaj |/|cj
aj|)= 1 j C’| (|cj
i |-|cj+1i |)/|cj
aj|)
1 j li (|cji|-|cj+1
i|)/|cji|)= 1 j li
|cj+1
i|+1 k | cji | (1/|cj
i|)
1 j li 1 k | c
ji |-|c
j+1i| (1/(k+|cj+1
i|))
1 j li (H(|cj
i|)-H(|cj+1i|)= H(|c1
i|)=H(|ci|)
Second step
For any set cover C’’,
ci C’’ 1 j |C’| (|ci cjaj |/|cj
aj|) |C’|
Proof
ci C’’ 1 j |C’| (|ci cjaj |/|cj
aj|) =
1 j |C’| (1/|cjaj|) ci C’’|ci cj
aj |
1 j =|C’| (|cjaj|/|cj
aj|) = |C’|
Final stepH(|ci|) 1 j C’| (|ci cj
aj |/|cj
aj|)
and
ci C* 1 j C’| (|ci cjaj |/|cj
aj|) |C’|
imply
ci C* H(|ci|) |C’|
Since |ci | k, we have that
ci C* H(k) |C’| , that is, |C*|H(k) |C’|
Since H(k) ln k+1 ln n+1, we have that the performance ratio is logarithmic
MINIMUM EDGE COLORING- INSTANCE: Graph G=(V,E)
- SOLUTION: A coloring of E, that is, function f such that, for any pair of edges e1 and e2 that share a common endpoint, f(e1) f(e2)
- MEASURE: Number of colors, i.e., cardinality of the range of f
Vizing’s algorithm- Polynomial-time algorithm to color a graph with at
most D+1 colors, where D denotes the maximum degree of the graph
beginD:=maximum degree of G;
G’:=(V, E’:=ø); // G’ is clearly colorable with D+1 colorsrepeat
add an edge (u,v) of E to E’;extend coloring of G’ without (u,v) into coloring of G’ with at most D+1 colors; E := E-{(u,v)};
until E:=øend.
Asymptotic approximation scheme- The algorithm returns an edge-coloring with at most
D+1 colors
- The optimum is at least D
- Hence, performance ratio is at most (D+1)/m*(G) D/D+1/m*(G)=1+ 1/m*(G)
- It implies a 2-approximation
Proof- Assume G’ without (u,v) has an edge-coloring with at
most D+1 colors
- Let µ(v) denote the set of colors that are not used to color an edge incident to v
- Clearly, if the coloring uses D+1 colors, then for any v, µ(v)ø: let c(v) be one of the colors in µ(v)
Proof (continued)- Compute in polynomial-time a sequence of edges
(u,x[0]),...,(u,x[s]) such that:- x[0]=v- for any i, the color of (u,x[i]) = c(x[i-1])- there is no other edge (u,w) such that its color is equal to
c(x[s])
u
x0=v x1
x2
x3
x4
c(x0)
c(x1)
c(x2)c(x3)
First case: c(x[s]) is in µ(u)- In this case, we can simply shift the colors of the
sequence in order to obtain the new coloring of G’- That is, for any i, we color (u,x[i]) with c(x[i])
u
x0=v x1
x2
x3
x4
c(x0)
c(x1)
c(x2)c(x3)
u
x0=v x1
x2
x3
x4
c(x1)
c(x2)
c(x3)c(x4)
c(x0)
Second case: c(x[s]) is not in µ(u)- In this case, one edge (u,x[i]) must have been colored
with c(x[s]) (since the sequence is maximal)- Hence, c(x[i-1]) = c(x[s])
- We compute in polynomial time a path Pi-1 starting from x[i-1] formed by edges whose colors are, alternatively, c(u) and c(x[s])
u
x0=vx1
x2
x3
x4
c(x0)
c(x1)=c(x4)
c(x2)c(x3)
c(u) c(x4) c(u)
u
x0=vx1
x2
x3
x4
c(x0)
c(x1)=c(x4)
c(x2)c(x3)
c(u) c(x4)
c(u)
c(x4)
c(u)
u
x0=vx1
x2
x3
x4
c(x0)
c(x1)=c(x4)
c(x2)c(x3)
c(u)
c(x4) c(u)
c(x4)
c(u)
c(x4)
First subcase: Pi-1 does not end in u
- Interchange colors c(u) and c(x[s]) in the path, assign color c(u) to (u,x[i]), shift the colors of the subsequence of edges preceding (u,x[i-1])
Second subcase: Pi-1 ends in u
- Compute in polynomial time a path Ps starting from x[s] formed by edges whose colors are, alternatively, c(u) and c(x[s])- Ps does not end in u
u
x0=vx1
x2
x3
x4
c(x0)
c(x1)=c(x4)
c(x2)c(x3)
c(u) c(x4)
c(u)
c(u)c(x4)
c(u)c(x4)
c(u)c(x4)
c(u)
c(x4) u
x0=vx1
x2
x3
x4
c(x0)
c(x1)=c(x4)
c(x2)c(x3)
c(u) c(x4)
c(u)
c(u)
c(u)
c(x4)
c(u)
c(x4)
c(x4)
- Interchange colors c(u) and c(x[s]) in Ps, assign color c(u) to (u,x[s]), and shift the colors of the subsequence of edges preceding (u,x[s])
u
x0=vx1
x2
x3
x4
c(x0)
c(x1)=c(x4)
c(x2)c(x3)
c(u) c(x4)
c(u)
c(u)
c(u)c(x4)
c(u)
c(x4) u
x0=vx1
x2
x3
x4
c(x0) c(x1)
c(x2)
c(x3)
c(u) c(x4)
c(u)
c(u)
c(u)
c(x4)
c(u)
c(x4)
c(x4)
Class F-APX- Let F be a class of functions
- The class F -APX contains all NPO problems P that admit a polynomial-time algorithm A such that, for any instance x of P, R(x, A(x))) f(|x|), for a given function f F
- P is said to be f(n)-approximable
- A is said to be an f(n)-approximation algorithm
Class APTAS- The class APTAS contains all NPO problems P that
admit a polynomial-time algorithm A and a constant k such that, for any instance x of P and for any rational r, R(x, A(x,r))) r+k/m*(x)
- The time complexity of A is polynomial in |x| but not necessarily in 1/(r-1)
- A is said to be an asymptotic approximation scheme- A is clearly a (r+k)-approximation algorithm
The NPO worldNPO
APX MAXIMUM SATMINIMUM VERTEX COVERMAXIMUM CUT
PO MINIMUM PATH
O(n)-APX
O(logn)-APX
MINIMUM GRAPH COLORING
MINIMUM SET COVER
PTAS MINIMUM PARTITION
APTAS MINIMUM EDGE COLORING