190 likes | 207 Views
Approximation Algorithms for NP-hard Combinatorial Problems. Local Search, Greedy and Partitioning. Magnús M. Halldórsson Reykjavik University. www.ru.is/~mmh/ewscs13/. Today‘s lecture. Local search Independent set (in bounded-degree graphs) Max Cut Greedy Partitioning If time allows:
E N D
Approximation Algorithms for NP-hard Combinatorial Problems Local Search, Greedy and Partitioning Magnús M. Halldórsson Reykjavik University www.ru.is/~mmh/ewscs13/ 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 |S\I| ≤ 2 and |I\S| ≤ 1. S while ( 2-imp I to S) do S S I(symmetric set difference) output S EWSCS, 5 March 2013
G B A C 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 EWSCS, 5 March 2013
Some observation • Let B’ = B \ C, and A’ = A \ C. • Rest of G doesn’t matter • Suppose a vertex in A’ is adjacent to two vertices in B’ v1 u v2 • Then at least one of them must be adjacent to another node in A’ w B’ A’ EWSCS, 5 March 2013
Argument • b1 = #nodes in B w/ 1 nbor in A • b2 = #nodes in B w/ 2 nbors in A • b = b1 + b2 = |B’|, a = |A’| • b1 a • b1 + 2 b2 a • So, 2b = 2(b1 + b2) (+1) a • (+1)/2-approximation v1 u v2 w B’ A’ EWSCS, 5 March 2013
Simple greedy arguments EWSCS, 5 March 2013
Independent Set in Bounded-degree 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’ return MaximalIS(G’) {v} N(v) v N[v] EWSCS, 5 March 2013
Independent Set in Bounded-degree Graphs N(v) • Observation: OPT contains at most = |N(v)| nodes from N[v]MaximalIS() obtains 1 from N[v] • “Pay , get 1” • Claim: MaximalIS gives a -approximation v N[v] Maximal IS(G) if V = , return Pick some vertex v from V V’ = V – N[v] return MaximalIS(G[V’]) {v} EWSCS, 5 March 2013
Maximum collection of disjoint unit circles • Simplest algorithm is: • Keep adding new circles, disjoint from the previous ones • That gives a maximal collection. MaxCircles(S) // S is a set of unit circles if S = , return Pick any circle C from S S1 = Circles that intersect C, S2 = S \ S1 return MaxCircles(S2) {C} Observation: Each circle can intersect at most 6 mutually non-intersecting circles Claim: MaxCircles 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 non-intersecting circles MaxCircles(S) // S is a set of unit circles if S = , return Pick lowest circle C from S S1 = Circles that intersect C, S2 = S \ S1 return MaxCircles(S2) {C} Observation: C intersects at most 3 mutually non-intersecting circles Claim: MaxCircles gives a 3-approximation Argument: “Pay 3, get 1” EWSCS, 5 March 2013
Problem #1: IS • Consider the min-degree greedy algorithm for the independent set problem • Argue a -1-approximation ratio on non-regular graphs • Argue a (+1)/2 ratio on regular graphs. EWSCS, 5 March 2013
Problem #2: Min maximal matching • Design a factor-2 approximation algorithm for the problem of finding a minimum cardinality maximal matching in an undirected graph. EWSCS, 5 March 2013