Download presentation
Presentation is loading. Please wait.
Published byEsther Riley Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.