from fvs to f-deletion
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