iterative compression
TRANSCRIPT
Iterative Compression
Input
Question
Vertex Cover
Is there a vertex cover of size at most k?
A graph G = (V,E) with n vertices, m edges, and k.
Input
Question
Vertex Cover
Is there a vertex cover of size at most k?
A graph G = (V,E) with n vertices, m edges, and k.
Input
Question
Vertex Cover
Is there a vertex cover of size at most k?
A graph G = (V,E) with n vertices, m edges, and k.
A vertex cover of size (k+1).
Input
Question
Vertex Cover
Is there a vertex cover of size at most k?
A vertex cover of size (k+1).
A graph G with a vertex cover of size k+1.
Vertex Cover
A vertex cover of size (k+1).
Input
QuestionIs there a vertex cover of size at most k?
A graph G with a vertex cover of size k+1.
Vertex Cover
A vertex cover of size (k+1).
Let us “guess” how a vertex cover ofsize at most k interacts with
this one.
Input
QuestionIs there a vertex cover of size at most k?
A graph G with a vertex cover of size k+1.
Vertex Cover
A vertex cover of size (k+1).
Let us “guess” how a vertex cover ofsize at most k interacts with
this one.
Input
QuestionIs there a vertex cover of size at most k?
A graph G with a vertex cover of size k+1.
Vertex Cover
A vertex cover of size (k+1).
Let us “guess” how a vertex cover ofsize at most k interacts with
this one.
Input
QuestionIs there a vertex cover of size at most k?
A graph G with a vertex cover of size k+1.
Vertex Cover
A vertex cover of size (k+1).
Input
QuestionIs there a vertex cover of size at most k?
A graph G with a vertex cover of size k+1.
Vertex Cover
A vertex cover of size (k+1).
Can there be an edge betweentwo red vertices?
Input
QuestionIs there a vertex cover of size at most k?
A graph G with a vertex cover of size k+1.
Vertex Cover
A vertex cover of size (k+1).
Input
QuestionIs there a vertex cover of size at most k?
A graph G with a vertex cover of size k+1.
Vertex Cover
A vertex cover of size (k+1).
Now we need to make up for thework that the red vertices were doing.
Input
QuestionIs there a vertex cover of size at most k?
A graph G with a vertex cover of size k+1.
Vertex Cover
Input
QuestionIs there a vertex cover of size at most k?
A graph G with a vertex cover of size k+1.
Vertex Cover
Input
QuestionIs there a vertex cover of size at most k?
A graph G with a vertex cover of size k+1.
Vertex Cover
Input
QuestionIs there a vertex cover of size at most k?
A graph G = (V,E) with n vertices, m edges, and k.
Vertex Cover
Input
QuestionIs there a vertex cover of size at most k?
A graph G = (V,E) with n vertices, m edges, and k.
Vertex Cover
Input
QuestionIs there a vertex cover of size at most k?
A graph G = (V,E) with n vertices, m edges, and k.
Vertex Cover
Input
QuestionIs there a vertex cover of size at most k?
A graph G = (V,E) with n vertices, m edges, and k.
Vertex Cover
Input
QuestionIs there a vertex cover of size at most k?
A graph G = (V,E) with n vertices, m edges, and k.
The first k+2 vertices in G.
Vertex Cover
Input
QuestionIs there a vertex cover of size at most k?
A graph G = (V,E) with n vertices, m edges, and k.
The first k+2 vertices in G. It has an easy vertex cover of size k+1.
Vertex Cover
Input
QuestionIs there a vertex cover of size at most k?
A graph G = (V,E) with n vertices, m edges, and k.
The first k+2 vertices in G. It has an easy vertex cover of size k+1.
Vertex Cover
Input
QuestionIs there a vertex cover of size at most k?
A graph G = (V,E) with n vertices, m edges, and k.
The first k+2 vertices in G. It has an easy vertex cover of size k+1.
Vertex Cover
Input
QuestionIs there a vertex cover of size at most k?
A graph G = (V,E) with n vertices, m edges, and k.
The first k+2 vertices in G. It has an easy vertex cover of size k+1.
Vertex Cover
Input
QuestionIs there a vertex cover of size at most k?
A graph G = (V,E) with n vertices, m edges, and k.
The first k+2 vertices in G. It has an easy vertex cover of size k+1.
Vertex Cover
Input
QuestionIs there a vertex cover of size at most k?
A graph G = (V,E) with n vertices, m edges, and k.
The first k+2 vertices in G. It has an easy vertex cover of size k+1.
Compress again… rinse, repeat.
Vertex Cover
Input
QuestionIs there a subset of vertices S of size at most k that intersects all the edges?
A graph G = (V,E) with n vertices, m edges, and k.
We have a O*(2k) algorithm for Vertex Cover.
Vertex Cover
Input
QuestionIs there a subset of vertices S of size at most k that intersects all the edges?
A graph G = (V,E) with n vertices, m edges, and k.
We have a O*(2k) algorithm for Vertex Cover.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
A Feedback Vertex Set of size (k+1).
Let us “guess” how a FVS of size at most k interacts with
this one.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
A vertex with two neighbors in the same component is forced.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
A leaf that has exactly one neighbor above can be preprocessed.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
…a leaf with at least two neighbors in different components.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
The leaf merges two components when we don’t include it.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
The number of components “on top” decreases.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Start with a leaf. !
Two neighbors in one component: forced. At most one neighbor above: preprocess.
At least two neighbors, all in different components above: branch.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Let t denote the number of components amongthe red vertices. Let w = (k+t).
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Include v… k drops by 1Exclude v… t drops by at least 1
Let t denote the number of components amongthe red vertices. Let w = (k+t).
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Include v… k drops by 1Exclude v… t drops by at least 1
Let t denote the number of components amongthe red vertices. Let w = (k+t).
Either way, w drops by at least one.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Either way, w drops by at least one.
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Either way, w drops by at least one.
Running time: 2w = 2(k+t)
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Either way, w drops by at least one.
Running time: 2w = 2(k+t) ≤ 2k+k ≤ 4k
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Either way, w drops by at least one.
Running time: 2w = 2(k+t) ≤ 2k+k ≤ 4k
Overall Running Time…
Input
Question
Feedback Vertex Set
Is there a subset of at most k vertices whose removal makes the graph acyclic?
A graph on n vertices, m edges and an integer k.
Either way, w drops by at least one.
Running time: 2w = 2(k+t) ≤ 2k+k ≤ 4k
k�
i=1
�k
i
�4k = 5k
Overall Running Time…
Input
QuestionIs there a subset of k arcs that can be reversed to make the tournament acyclic?
A tournament T on n vertices and an integer k.
This implies an O(5k) algorithm for FVS.
Feedback Vertex Set
Input
QuestionIs there a subset of k arcs that can be reversed to make the tournament acyclic?
A tournament T on n vertices and an integer k.
This implies an O(5k) algorithm for FVS.
Feedback Vertex Set
Input
Question
Odd Cycle Transversal (OCT)
Is there a subset of at most k vertices whose removal makes the graph bipartite?
A graph on n vertices, m edges and an integer k.
A Odd Cycle Transversal of size (k+1).
Let us “guess” how a OCT of size at most k interacts with
this one.
Input
Question
Odd Cycle Transversal (OCT)
Is there a subset of at most k vertices whose removal makes the graph bipartite?
A graph on n vertices, m edges and an integer k.
Input
Question
Odd Cycle Transversal (OCT)
Is there a subset of at most k vertices whose removal makes the graph bipartite?
A graph on n vertices, m edges and an integer k.
Input
Question
Odd Cycle Transversal (OCT)
Is there a subset of at most k vertices whose removal makes the graph bipartite?
A graph on n vertices, m edges and an integer k.
Input
Question
Odd Cycle Transversal (OCT)
Is there a subset of at most k vertices whose removal makes the graph bipartite?
A graph on n vertices, m edges and an integer k.
Input
Question
Odd Cycle Transversal (OCT)
Is there a subset of at most k vertices whose removal makes the graph bipartite?
A graph on n vertices, m edges and an integer k.
Input
Question
Odd Cycle Transversal (OCT)
Is there a subset of at most k vertices whose removal makes the graph bipartite?
A graph on n vertices, m edges and an integer k.
Input
Question
Odd Cycle Transversal (OCT)
Is there a subset of at most k vertices whose removal makes the graph bipartite?
A graph on n vertices, m edges and an integer k.
Input
Question
Odd Cycle Transversal (OCT)
Is there a subset of at most k vertices whose removal makes the graph bipartite?
A graph on n vertices, m edges and an integer k.
Input
Question
Odd Cycle Transversal (OCT)
Is there a subset of at most k vertices whose removal makes the graph bipartite?
A graph on n vertices, m edges and an integer k.
Input
Question
Odd Cycle Transversal (OCT)
Is there a subset of at most k vertices whose removal makes the graph bipartite?
A graph on n vertices, m edges and an integer k.
Input
Question
Odd Cycle Transversal (OCT)
Is there a subset of at most k vertices whose removal makes the graph bipartite?
A graph on n vertices, m edges and an integer k.
Can we remove at most b verticesso that the resulting graph has a bipartition
extending this pre-coloring?
Input
Question
Odd Cycle Transversal (OCT)
Is there a subset of at most k vertices whose removal makes the graph bipartite?
A graph on n vertices, m edges and an integer k.
Can we remove at most b vertices so that the resulting graph has a bipartition
extending this pre-coloring?
GREEN YELLOW
Input
Question
Odd Cycle Transversal (OCT)
Is there a subset of at most k vertices whose removal makes the graph bipartite?
A graph on n vertices, m edges and an integer k.
Can we remove at most b vertices so that the resulting graph has a bipartition
extending this pre-coloring?
GREEN YELLOW
Input
QuestionIs there a subset of k arcs that can be reversed to make the tournament acyclic?
A tournament T on n vertices and an integer k.
This implies an O*(3k) algorithm for OCT.
Odd Cycle Transversal (OCT)
Input
QuestionIs there a subset of k arcs that can be reversed to make the tournament acyclic?
A tournament T on n vertices and an integer k.
This implies an O*(3k) algorithm for OCT.
Odd Cycle Transversal (OCT)
Take Away…
Show that the problem has a hereditary
property
Solve the “compression”
question, or even a “Disjoint”
version.
Show that the problem has a hereditary
property
Solve the “compression”
question, or even a “Disjoint”
version.
Is a framework that canbe setup quite easily.
Show that the problem has a hereditary
property
Solve the “compression”
question, or even a “Disjoint”
version.
Is a framework that canbe setup quite easily.
The compression algorithmcan be fairly non-trivial.