from fvs to f-deletion

Post on 29-Nov-2014

1.079 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

From to F-deletionFVS

From to F-deletiona simple constant-factor randomized

approximation algorithm

FVS

From to F-deletiona simple constant-factor randomized

approximation algorithm

VC

A Generic Algorithm

A Generic Algorithm

Special Cases

THE BLUEPRINT

Every

intersects

at at least one endpoint.

Vertex Cover

every edge

Every

intersects

at at least one endpoint.

every edge

Solution

Every

intersects

at at least one endpoint.

Solution

some subset of edges?

Every

intersects

at at least one endpoint.

Solution

a good fraction of edges

Every

intersects

at at least one endpoint.

Solution

a good fraction of edges

Pick an edge e, uniformly at random.

Pick an endpoint of e, uniformly at random.

Repeat until a solution is obtained.

Pick an edge e, uniformly at random.

Repeat until a solution is obtained.

Pick an endpoint of e, uniformly at random.

Pick an edge e, uniformly at random.

Repeat until a solution is obtained.

Pick an endpoint of e, uniformly at random.

Pick a good edge with probability (1/c)

Pick an edge e, uniformly at random.

Repeat until a solution is obtained.

Pick an endpoint of e, uniformly at random.

Pick a good edge with probability (1/c)

Pick a good endpoint with probability (1/2)

Pick an edge e, uniformly at random.

Repeat until a solution is obtained.

Pick an endpoint of e, uniformly at random.

Pick a good edge with probability (1/c)

Pick a good endpoint with probability (1/2)

The expected solution size: 2c(OPT)

Pick an edge e, uniformly at random.

Repeat until a solution is obtained.

Pick an endpoint of e, uniformly at random.

Pick a good edge with probability (1/c)

Pick a good endpoint with probability (1/2)

The expected solution size: 2c(OPT)

S

G \ S

S

G \ S

#cross edges + #edges within S � (1/c) ·m

S

G \ S

#cross edges + #edges within S � (1/c) ·m

Pv2S d(v)

2

S

G \ S

� (1/c) ·mP

v2S d(v)

2

S

G \ S

� (1/c) ·mX

v2S

d(v) ·2

S

G \ S

� (1/c) ·mX

v2S

d(v) ·2

S

G \ S

X

v2S

d(v) � (1/c) ·X

v2G

d(v)

� (1/c) ·mX

v2S

d(v) ·2

S

G \ S

X

v2S

d(v) � (1/c) ·X

v2G

d(v)

S

G \ S

SPECIAL CASES

G\S is an independent set.

G\S is a matching

S

G \ S

X

v2S

d(v) � (1/c) ·X

v2G

d(v)

Preprocess: Delete isolated edges.

S

G \ S

Preprocess: Delete isolated edges.

X

v2S

d(v) � (1/4) ·X

v2G

d(v)

G\S is an acyclic graph

(forest)

G\S is an acyclic graph

(forest)

cÉÉÇÄ~Åâ=sÉêíÉñ=pÉí

S

G \ S

X

v2S

d(v) � (1/c) ·X

v2G

d(v)

Preprocess: ???

S

When can we say that every leaf “contributes” a cross-edge?

S

Preprocess: Delete pendant vertices.

#of cross edges #of leaves�

#of edges in the tree #of leaves + #internal nodes

#of cross edges #of leaves�

= - 1

#of leaves #internal nodes�

(minimum degree at least three)

#of edges in the tree #of leaves + #internal nodes

#of cross edges #of leaves�

= - 1

#of leaves #internal nodes�

(minimum degree at least three)

#of edges in the tree #of leaves +

#of cross edges #of leaves�

� - 1#of leaves

#of leaves #internal nodes�

(minimum degree at least three)

#of edges in the tree #of leaves +

#of cross edges #of leaves�

� - 1#of leaves

#of edges in the tree 2(#of leaves) -1�

#of leaves #internal nodes�

(minimum degree at least three)

#of edges in the tree #of leaves +

#of cross edges #of leaves�

� - 1#of leaves

#of edges in the tree 2(#of leaves) -1�

#of edges in the tree 2(#of cross edges) -1�

#of edges in the tree 2(#of cross edges) -1�

#of edges in the tree 2(#of cross edges) -1�

X

v2S

d(v) � (1/c) ·X

v2G

d(v)

#of edges in the tree 2(#of cross edges) -1�

X

v2S

d(v) � (1/c) ·X

v2G

d(v)

X

v2G

d(v) = 2(#of edges in the tree) + 2(#of cross edges)

#of edges in the tree 2(#of cross edges) -1�

X

v2S

d(v) � (1/c) ·X

v2G

d(v)

X

v2G

d(v) = 2(#of edges in the tree) + 2(#of cross edges)

2(2#cross edges - 1) + 2(#of cross edges)�

#of edges in the tree 2(#of cross edges) -1�

X

v2S

d(v) � (1/c) ·X

v2G

d(v)

X

v2G

d(v) = 2(#of edges in the tree) + 2(#of cross edges)

2(2#cross edges - 1) + 2(#of cross edges)�

�6(#cross edges)

#of edges in the tree 2(#of cross edges) -1�

X

v2S

d(v) � (1/c) ·X

v2G

d(v)

X

v2G

d(v) = 2(#of edges in the tree) + 2(#of cross edges)

2(2#cross edges - 1) + 2(#of cross edges)�

�6(#cross edges)

�6 X

v2S

d(v)

!

#of leaves #internal nodes�

(minimum degree at least three)

#of leaves #internal nodes�

(minimum degree at least three)

#of leaves #internal nodes�

(minimum degree at least three)

More preprocessing!

#of leaves #internal nodes�

(minimum degree at least three)

#of edges in the tree #of leaves +

#of cross edges 2(#of leaves)�

= - 1#of leaves

#of edges in the tree 2(#of leaves) -1�

#of edges in the tree 2(#of cross edges) -1�

#of leaves #internal nodes�

(minimum degree at least three)

#of edges in the tree #of leaves +

#of cross edges 2(#of leaves)�

= - 1#of leaves

#of edges in the tree 2(#of leaves) -1�

#of edges in the tree 2(#of cross edges) -1�#of edges in the tree #of cross edges -1 �

G\S is acyclic

G\S is independent

G\S is a matching

G\S is acyclic

G\S is independent

G\S is a matching

Factor 2, for free.

G\S is acyclic

G\S is independent

G\S is a matching

Factor 2, for free.

Factor 4, after removingisolated edges

G\S is acyclic

G\S is independent

G\S is a matching

Factor 2, for free.

Factor 4, after removingisolated edges

Factor 4, after deleting degree 1and short-circuiting degree 2

vertices.

WHAT’S NEXT?

What is the most general problem forwhich the algorithm

“just works”?

Beyond problem-specific reduction rules...

Is there a one-size-fits-all?

Answer: mä~å~ê=cJÇÉäÉíáçå

Remove at most k vertices such that theremaining graph has no minor models of graphs from F.

qÜÉ=cJaÉäÉíáçå=mêçÄäÉãRemove at most k vertices such that the

remaining graph has no minor models of graphs from F.

qÜÉ=cJaÉäÉíáçå=mêçÄäÉãRemove at most k vertices such that the

remaining graph has no minor models of graphs from F.

mä~å~ê

(Where F contains a planar graph.)

Independent = no edges

Forbid an edge as a minor

Acyclic = no cycles

Forbid a triangle as a minor

Pathwidth-one graphs

Forbid T2, K3 as a minor

Turns out that when you want to killminor models of planar graphs,

G\S must have bounded treewidth.

This can be exploited to framesome very general reduction rules.

This can be exploited to framesome very general reduction rules.

http://arxiv.org/abs/1204.4230

Thank You!http://neeldhara.com/planar-f-deletion-1/

A brief summary of this discussion

Thank You!

http://neeldhara.com/planar-f-deletion-1/

A brief summary of this discussion

top related