Approximation Algorithms for NPhard Combinatorial Problems Local Search
Approximation Algorithms for NP-hard Combinatorial Problems Local Search, Greedy and Partitioning Magnús M. Halldórsson Reykjavik University www. ru. is/~mmh/ewscs 13/ EWSCS, 5 March 2013
Today‘s lecture • Local search – Independent set (in bounded-degree graphs) – Max Cut • Greedy • Partitioning • If time allows: – Probabilistic method EWSCS, 5 March 2013
Local search technique • Post-processing technique – Frequently used on solutions found by some other algorithms, to try to improve it using simple changes. • “Local” : Changes that affect a small part of the solution EWSCS, 5 March 2013
Generic local improvement method S initial starting solution (obtained elsewhere) while ( small improvement I to S) do S solution obtained by applying I to S output S A solution that has gone through local search is said to be locally optimal (with respect to the improvements applied) Issues: - What is an improvement? (Problem specific) - How do we find the improvement? (Search) EWSCS, 5 March 2013
Greedy is a form of local search • Consider the Independent Set problem • (1, 0)-improvement : Add a single vertex (& delete none) • A locally optimal solution with respect (1, 0)improvements is precisely a maximal independent set EWSCS, 5 March 2013
Max Cut : Local search EWSCS, 5 March 2013
Max Cut – Local search • While some node has more neighbors in its own group than the other group – Move it to the other group • Convergence? • Potential function: # edges cut – Strictly increasing with each move EWSCS, 5 March 2013
Max Cut – Local search • While some node has more neighbors in its own group than the other group – Move it to the other group • For each vertex v: d(v)/2 edges incident on v are cut • More than |E|/2 edges are cut – |ALG| >= |E|/2 – |OPT| <= |E| EWSCS, 5 March 2013
LS for Independent Sets • A 2 -improvement (2 -imp) is the addition of up to 2 vertices and removal of up to 1 vertex, from the current solution. – Thus, it is a set I of up to 3 vertices so that |SI| ≤ 2 and |IS| ≤ 1. S while ( 2 -imp I to S) do S S I (symmetric set difference) output S EWSCS, 5 March 2013
Analysis of 2 -opt • • Given graph G of max degree A : Algorithm’s solution (2 -locally optimal) B : “Best” solution (optimal) C=A B • B’ = B C • A’ = A C • Rest of G doesn’t matter G B A C EWSCS, 5 March 2013
Some observation • Let B’ = B C, and A’ = A C. • Rest of G doesn’t matter n u v 1 v 2 n w A’ B’ Suppose a vertex in A’ is adjacent to two vertices in B’ Then at least one of them must be adjacent to another node in A’ EWSCS, 5 March 2013
Argument • b 1 = #nodes in B w/ 1 nbor in A • b 2 = #nodes in B w/ 2 nbors in A • b = b 1 + b 2 = |B’|, a = |A’| • • b 1 a b 1 + 2 b 2 a So, 2 b = 2(b 1 + b 2) ( +1) a ( +1)/2 -approximation u v 2 w A’ EWSCS, 5 March 2013 v 1 B’
SIMPLE GREEDY ARGUMENTS EWSCS, 5 March 2013
Independent Set in Boundeddegree Graphs Maximal IS(G) // G=(V, E) is a graph if V = , return Pick some vertex v from V V’ = V – N[v] Let G’ = graph induced by V’ N(v) v return Maximal. IS(G’) {v} N[v] EWSCS, 5 March 2013
Independent Set in Bounded-degree Graphs n Observation: OPT contains at most = |N(v)| nodes from N[v] N(v) v Maximal. IS() obtains 1 from N[v] n n “Pay , get 1” N[v] Claim: Maximal. IS gives a -approximation Maximal IS(G) if V = , return Pick some vertex v from V V’ = V – N[v] EWSCS, 5 March 2013 return Maximal. IS(G[V’]) {v}
Maximum collection of disjoint unit circles • • • Simplest algorithm is: Keep adding new circles, disjoint from the previous ones That gives a maximal collection. Max. Circles(S) // S is a set of unit circles if S = , return Pick any circle C from S S 1 = Circles that intersect C, S 2 = S S 1 return Max. Circles(S 2) {C} Observation: Each circle can intersect at most 6 mutually non-intersecting circles Claim: Max. Circles gives a 6 approximation Argument: “Pay 6, get 1” EWSCS, 5 March 2013
Maximum collection of disjoint unit circles • • Improved algorithm: Find a circle whose neighborhood contains few nonintersecting circles Max. Circles(S) // S is a set of unit circles if S = , return Pick lowest circle C from S S 1 = Circles that intersect C, S 2 = S S 1 return Max. Circles(S 2) {C} Observation: C intersects at most 3 mutually non-intersecting circles Claim: Max. Circles gives a 3 approximation Argument: “Pay 3, get 1” EWSCS, 5 March 2013
Problem #1: IS 1. Consider the min-degreedy algorithm for the independent set problem 2. Argue a -1 -approximation ratio on nonregular graphs 3. Argue a ( +1)/2 ratio on regular graphs. EWSCS, 5 March 2013
Problem #2: Min maximal matching 1. Design a factor-2 approximation algorithm for the problem of finding a minimum cardinality maximal matching in an undirected graph. EWSCS, 5 March 2013
- Slides: 19