Top Banner
Cut & Count
66

Cut and Count

Jun 29, 2015

Download

Education

ASPAK2014
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cut and Count

Cut & Count

Page 2: Cut and Count

Steiner Tree

Page 3: Cut and Count

Steiner Tree

Input A graph G, a set of terminals T, and a number k.

Page 4: Cut and Count

Steiner Tree

Input

QuestionIs there a set X of size at most k such that T is contained in X and G[X] is connected?

A graph G, a set of terminals T, and a number k.

Page 5: Cut and Count

Steiner Tree

Input

QuestionIs there a set X of size at most k such that T is contained in X and G[X] is connected?

A graph G, a set of terminals T, and a number k.

parameterized by treewidth

Page 6: Cut and Count

Promise

The input either has no solution or has exactly one solution.

Page 7: Cut and Count

Promise

The input either has no solution or has exactly one solution.

Page 8: Cut and Count
Page 9: Cut and Count

Want: All connected sets of size at most kthat contain the terminals.

Page 10: Cut and Count

Want: All connected sets of size at most kthat contain the terminals.

U: All sets of size at most k that contain the terminals.

Page 11: Cut and Count

Want: All connected sets of size at most k that contain the terminals.

U: All sets of size at most k that contain the terminals.

Page 12: Cut and Count

Want: All connected sets of size at most k that contain the terminals.

U: All sets of size at most k that contain the terminals.

Page 13: Cut and Count

Want: All connected sets of size at most k that contain the terminals.

U: All sets of size at most k that contain the terminals.

Page 14: Cut and Count

Want: All connected sets of size at most k that contain the terminals.

U: All sets of size at most k that contain the terminals.

Page 15: Cut and Count

Want: All connected sets of size at most k that contain the terminals.

U: All sets of size at most k that contain the terminals.

Page 16: Cut and Count

Want: All connected sets of size at most k that contain the terminals.

U: All sets of size at most k that contain the terminals.

Page 17: Cut and Count

Our universe consists of pairs (X,f) where !!!

X is a subset of size at most k containing the terminals, !

and f: X —> {Red,Green} is a 2-coloring of the components of X,

where f(v1) = Red.

Page 18: Cut and Count

|U| is odd if, and only if, G is a YES-instance.

Page 19: Cut and Count
Page 20: Cut and Count
Page 21: Cut and Count

For a bag x, store Tx[green,red; i]

Page 22: Cut and Count

Want: All connected sets of size at most k that contain the terminals.

U: All sets of size at most k that contain the terminals.

Page 23: Cut and Count

Want: All connected sets of size at most k that contain the terminals.

U: All sets of size at most k that contain the terminals.

Page 24: Cut and Count

Want: All connected sets of size at most k that contain the terminals.

U: All sets of size at most k that contain the terminals.

Page 25: Cut and Count

For a bag B of a tree decomposition, guess how solution intersects the bag,

and further, guess the labeling.

Page 26: Cut and Count

For a bag B of a tree decomposition, guess how solution intersects the bag,

and further, guess the labeling.

For each i in {1,…,k}, we maintain:

Page 27: Cut and Count

For a bag B of a tree decomposition, guess how solution intersects the bag,

and further, guess the labeling.

For each i in {1,…,k}, we maintain:

T[green,red; i] = #of solutions of size i thatintercept the bag according to green/red.

Page 28: Cut and Count

Terminal in gray zone?

Page 29: Cut and Count

v1 in the green zone?

Page 30: Cut and Count

Introduce Bag

Page 31: Cut and Count

Introduce Bag

Page 32: Cut and Count

Introduce Bag

if v is not a terminal: Tx[green,red; i] = Ty[green,red; i]

Page 33: Cut and Count

Introduce Bag

if v is not a terminal: Tx[green,red; i] = Ty[green,red; i]

otherwise: zero

Page 34: Cut and Count

Introduce Bag

Page 35: Cut and Count

Introduce Bag

Page 36: Cut and Count

Introduce Bag

Tx[green,red; i] = Ty[green*,red*; i-1], provided v is not v1!

Page 37: Cut and Count

Introduce Bag

Tx[green,red; i] = Ty[green*,red*; i-1], provided v is not v1!

otherwise: zero

Page 38: Cut and Count

Introduce Bag

Page 39: Cut and Count

Introduce Bag

Page 40: Cut and Count

Introduce Bag

Tx[green,red; i] = Ty[green*,red*; i-1]

Page 41: Cut and Count

Forget Bag

Page 42: Cut and Count

Forget Bag

Page 43: Cut and Count

Forget Bag

Tx[green,red; i] = Ty[green,red; i]

Page 44: Cut and Count

Forget Bag

Tx[green,red; i] = Ty[green,red; i]

Sum over all relevant configurations in child bag.

Page 45: Cut and Count

Forget Bag

Tx[green,red; i] = Ty[green,red; i]

Sum over all relevant configurations in child bag.

Page 46: Cut and Count

Introduce Edge Bag

Tx[green,red; i] = Ty[green,red; i]

Page 47: Cut and Count

Introduce Edge Bag

Tx[green,red; i] = Ty[green,red; i]

Filter out entries with this edge crossing green to red.

Page 48: Cut and Count

Join Bag

Page 49: Cut and Count

Join Bag

Tp[green,red; r] x Tq[green,red; s]

Page 50: Cut and Count

Join Bag

Tp[green,red; r] x Tq[green,red; s]

Sum over all r,s such that:r+s - (#green + #red) = i

Page 51: Cut and Count

Want: All connected sets of size at most k that contain the terminals.

U: All sets of size at most k that contain the terminals.

Page 52: Cut and Count

Highlight some solution so it’s easier to find.

Page 53: Cut and Count

Universe

Family

Page 54: Cut and Count

Universe

Family

Page 55: Cut and Count

Universe

Family

Page 56: Cut and Count

Universe

Family

Page 57: Cut and Count

Isolation Lemma

Let F be a family over an universe U. For each element in the universe, assign a weight from

{1,2,…,N} uniformly and independently at random. !

Then, the probability that F is isolated by this weight function is at least

!

1 �|U|

N

Page 58: Cut and Count
Page 59: Cut and Count

Want: All connected sets of size at most kthat contain the terminals.

Page 60: Cut and Count

Want: All connected sets of size at most k that contain the terminals.

Page 61: Cut and Count
Page 62: Cut and Count

Focus: All connected sets of size at most kthat contain the terminals,

and have weight W.

Page 63: Cut and Count

U: All sets of size at most k and weight Wthat contain the terminals.

Focus: All connected sets of size at most kthat contain the terminals,

and have weight W.

Page 64: Cut and Count

Introduce Bag

Page 65: Cut and Count

Introduce Bag

Page 66: Cut and Count

Introduce Bag

Tx[green,red;i,w] = Ty[green*,red*; i-1,w-w(v)]