Approximation Algorithms for NP-hard Combinatorial Problems
190 likes | 224 Views
Explore local search, greedy, and partitioning techniques for optimization problems in graph theory. Learn about independent set, maximal independent set, max cut, and heuristic algorithms.
Approximation Algorithms for NP-hard Combinatorial Problems
E N D
Presentation Transcript
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