iterative compression

75
Iterative Compression

Upload: aspak2014

Post on 20-Jun-2015

435 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Iterative Compression

Iterative Compression

Page 2: 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.

Page 3: 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.

Page 4: 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.

A vertex cover of size (k+1).

Page 5: Iterative Compression

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.

Page 6: Iterative Compression

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.

Page 7: Iterative Compression

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.

Page 8: Iterative Compression

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.

Page 9: Iterative Compression

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.

Page 10: Iterative Compression

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.

Page 11: Iterative Compression

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.

Page 12: Iterative Compression

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.

Page 13: Iterative Compression

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.

Page 14: Iterative Compression

Vertex Cover

Input

QuestionIs there a vertex cover of size at most k?

A graph G with a vertex cover of size k+1.

Page 15: Iterative Compression

Vertex Cover

Input

QuestionIs there a vertex cover of size at most k?

A graph G with a vertex cover of size k+1.

Page 16: Iterative Compression

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.

Page 17: Iterative Compression

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.

Page 18: Iterative Compression

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.

Page 19: Iterative Compression

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.

Page 20: Iterative Compression

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.

Page 21: Iterative Compression

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.

Page 22: Iterative Compression

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.

Page 23: Iterative Compression

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.

Page 24: Iterative Compression

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.

Page 25: Iterative Compression

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.

Page 26: Iterative Compression

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.

Page 27: Iterative Compression

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.

Page 28: Iterative Compression

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.

Page 29: Iterative Compression

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.

Page 30: Iterative Compression

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.

Page 31: Iterative Compression

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.

Page 32: Iterative Compression

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.

Page 33: Iterative Compression

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.

Page 34: Iterative Compression

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.

Page 35: Iterative Compression

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.

Page 36: Iterative Compression

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.

Page 37: Iterative Compression

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.

Page 38: Iterative Compression

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.

Page 39: Iterative Compression

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.

Page 40: Iterative Compression

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.

Page 41: Iterative Compression

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.

Page 42: Iterative Compression

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.

Page 43: Iterative Compression

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.

Page 44: Iterative Compression

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.

Page 45: Iterative Compression

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).

Page 46: Iterative Compression

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).

Page 47: Iterative Compression

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.

Page 48: Iterative Compression

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.

Page 49: Iterative Compression

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)

Page 50: Iterative Compression

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

Page 51: Iterative Compression

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…

Page 52: Iterative Compression

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…

Page 53: Iterative Compression

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

Page 54: Iterative Compression

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

Page 55: Iterative Compression

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.

Page 56: Iterative Compression

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.

Page 57: Iterative Compression

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.

Page 58: Iterative Compression

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.

Page 59: Iterative Compression

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.

Page 60: Iterative Compression

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.

Page 61: Iterative Compression

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.

Page 62: Iterative Compression

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.

Page 63: Iterative Compression

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.

Page 64: Iterative Compression

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.

Page 65: Iterative Compression

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.

Page 66: Iterative Compression

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?

Page 67: Iterative Compression

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

Page 68: Iterative Compression

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

Page 69: Iterative Compression

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)

Page 70: Iterative Compression

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)

Page 71: Iterative Compression

Take Away…

Page 72: Iterative Compression
Page 73: Iterative Compression

Show that the problem has a hereditary

property

Solve the “compression”

question, or even a “Disjoint”

version.

Page 74: Iterative Compression

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.

Page 75: Iterative Compression

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.