Presentation is loading. Please wait.

Presentation is loading. Please wait.

Approximation Algorithms for NP-hard Combinatorial Problems Magnús M. Halldórsson Reykjavik University Local Search, Greedy and Partitioning www.ru.is/~mmh/ewscs13/

Similar presentations


Presentation on theme: "Approximation Algorithms for NP-hard Combinatorial Problems Magnús M. Halldórsson Reykjavik University Local Search, Greedy and Partitioning www.ru.is/~mmh/ewscs13/"— Presentation transcript:

1 Approximation Algorithms for NP-hard Combinatorial Problems Magnús M. Halldórsson Reykjavik University Local Search, Greedy and Partitioning www.ru.is/~mmh/ewscs13/ EWSCS, 5 March 2013

2 Today‘s lecture Local search – Independent set (in bounded-degree graphs) – Max Cut Greedy Partitioning If time allows: – Probabilistic method EWSCS, 5 March 2013

3 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

4 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

5 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

6 Max Cut : Local search EWSCS, 5 March 2013

7 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

8 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

9 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

10 2-opt 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

11 Some observation Let B’ = B \ C, and A’ = A \ C. Rest of G doesn’t matter B’ A’ u v1v1 w v2v2 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

12 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, 2b = 2(b 1 + b 2 )  (  +1) a  (  +1)/2-approximation B’ A’ u v1v1 w v2v2 EWSCS, 5 March 2013

13 SIMPLE GREEDY ARGUMENTS EWSCS, 5 March 2013

14 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} v N(v) N[v] EWSCS, 5 March 2013

15 Independent Set in Bounded-degree Graphs Maximal IS(G) if V = , return  Pick some vertex v from V V’ = V – N[v] return MaximalIS(G[V’])  {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) N[v] EWSCS, 5 March 2013

16 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

17 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

18 Problem #1: IS 1.Consider the min-degree greedy algorithm for the independent set problem 2.Argue a  -1-approximation ratio on non- regular graphs 3.Argue a (  +1)/2 ratio on regular graphs. EWSCS, 5 March 2013

19 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


Download ppt "Approximation Algorithms for NP-hard Combinatorial Problems Magnús M. Halldórsson Reykjavik University Local Search, Greedy and Partitioning www.ru.is/~mmh/ewscs13/"

Similar presentations


Ads by Google