Approximation algorithms for np hard combinatorial problems
This presentation is the property of its rightful owner.
Sponsored Links
1 / 19

Approximation Algorithms for NP-hard Combinatorial Problems PowerPoint PPT Presentation


  • 70 Views
  • Uploaded on
  • Presentation posted in: General

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:

Download Presentation

Approximation Algorithms for NP-hard Combinatorial Problems

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


  • Login