approximation algorithms for np hard combinatorial problems
Download
Skip this Video
Download Presentation
Approximation Algorithms for NP-hard Combinatorial Problems

Loading in 2 Seconds...

play fullscreen
1 / 19

Approximation Algorithms for NP-hard Combinatorial Problems - PowerPoint PPT Presentation


  • 113 Views
  • Uploaded on

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:

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Approximation Algorithms for NP-hard Combinatorial Problems' - ellard


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
approximation algorithms for np hard combinatorial problems

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
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
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
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
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
Max Cut : Local search

EWSCS, 5 March 2013

max cut local search1
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 search2
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
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

analysis of 2 opt

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
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
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
Simple greedy arguments

EWSCS, 5 March 2013

independent set in bounded degree graphs

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 graphs1

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
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 circles1
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
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
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

ad