treewidth n.
Download
Skip this Video
Download Presentation
Treewidth

Loading in 2 Seconds...

play fullscreen
1 / 32

Treewidth - PowerPoint PPT Presentation


  • 165 Views
  • Uploaded on

Treewidth. Network Algorithms 2002/2003. R 1. R 2. R 1. R 2. Computing the Resistance With the Laws of Ohm. 1789-1854. Two resistors in series. Two resistors in parallel. Repeated use of the rules. 6. 6. 5. 2. 2. 1. 7. Has resistance 4. 1/6 + 1/2 = 1/(1.5) 1.5 + 1.5 + 5 = 8

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Treewidth' - kalkin


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
treewidth

Treewidth

Network Algorithms 2002/2003

Netwerk Algorithms:Treewidth

slide2

R1

R2

R1

R2

Computing the Resistance With the Laws of Ohm

1789-1854

Two resistorsin series

Two resistorsin parallel

Netwerk Algorithms:Treewidth

slide3

Repeated use of the rules

6

6

5

2

2

1

7

Has resistance 4

1/6 + 1/2 = 1/(1.5)

1.5 + 1.5 + 5 = 8

1 + 7 = 8

1/8 + 1/8 = 1/4

Netwerk Algorithms:Treewidth

slide4

A tree structure

5

P

7

6

2

S

S

P

P

5

7

1

1

6

2

6

2

6

2

Netwerk Algorithms:Treewidth

slide5

5

7

6

2

4

1

6

2

Carry on!

  • Internal structure of graph can be forgotten once we know essential information about it!

¼ + ¼ = ½

Netwerk Algorithms:Treewidth

slide6

Using tree structures for solving hard problems on graphs 1

  • Network is ‘series parallel graph’
  • 196*, 197*: many problems that are hard for general graphs are easy for
    • Trees
    • Series parallel graphs
  • Many well-known problems

e.g.:

NP-complete

Linear / polynomial

time computable

Netwerk Algorithms:Treewidth

weighted independent set
Weighted Independent Set
  • Independent set: set of vertices that are pairwise non-adjacent.
  • Weighted independent set
    • Given: Graph G=(V,E), weight w(v) for each vertex v.
    • Question: What is the maximum total weight of an independent set in G?
  • NP-complete

Netwerk Algorithms:Treewidth

weighted independent set on trees
Weighted Independent Set on Trees
  • On trees, this problem can be solved in linear time with dynamic programming.
  • Choose root r. For each v, T(v) is subtree with v as root.
  • Write

A(v) = maximum weight of independent set S in T(v)

B(v) = maximum weight of independent set S in T(v), such that S does not contain v.

Netwerk Algorithms:Treewidth

recursive formulations
Recursive formulations
  • If v is a leaf:
    • A(v) = w(v)
    • B(v) = 0
  • If v has children w1, … , wr:

A(v) = max{ w(v) + B(w1) + … + B(wr) , A(w1) + … A(wr) }

B(v) = A(w1) + … A(wr)

Netwerk Algorithms:Treewidth

linear time algorithm
Linear time algorithm
  • Compute A(v) and B(v) for each v, bottom-up.
  • Constructing corresponding sets can also be done in linear time.

Netwerk Algorithms:Treewidth

second example weighted dominating set
Second example:Weighted dominating set
  • A set of vertices S is dominating, if each vertex in G belongs to S or is adjacent to a vertex in S.
  • Problem: given a graph G with vertex weights, what is the minimum total weight of a dominating set in G?
  • Again, NP-complete, but linear time on trees.

Netwerk Algorithms:Treewidth

subproblems
Subproblems
  • C(v) = minimum weight of dominating set S of T(v)
  • D(v) = minimum weight of dominating set S of T(v) with v in S.
  • E(v) = minimum weight of a set S of T(v) that dominates all vertices, except possibly v.

Netwerk Algorithms:Treewidth

recursive formulations1
Recursive formulations
  • If v is a leaf, …
  • If v has children w1, … , wr:
    • C(v) = the minimum of:
      • w(v) + E(w1) + … + E(wr)
      • C(w1) + … + C(wi-1) + D(wi) + C(wi+1) + … + C(wr), over all i, 1 £ i £ r.
    • D(v) = w(v) + E(w1) + … + E(wr)
    • E(v) = min { w(v) + E(w1) + … + E(wr), C(w1) + … + C(wr) }

Netwerk Algorithms:Treewidth

gives again a linear time algorithm
Gives again a linear time algorithm
  • Compute bottom up, and use another type of dynamic programming for the values C(v).

Netwerk Algorithms:Treewidth

generalizing to series parallel graphs
Generalizing to series parallel graphs
  • A 2-terminal graph is a graph G=(V,E) with two special vertices s and t, its terminals.
  • A 2-terminal (multi)-graph is series parallel, when it is:
    • A single edge (s,t).
    • Obtained by series composition of 2 series parallel graphs
    • Obtained by parallel composition of 2 series parallel graphs

Netwerk Algorithms:Treewidth

series composition
Series composition

s1

s1

s2

s2

s2=t1

t1

t2

t2

Netwerk Algorithms:Treewidth

parallel composition
Parallel composition

s1

s2

s1

s1=s2

t1

t2

t1

t1=t2

Netwerk Algorithms:Treewidth

series parallel graphs have a sp tree
Series Parallel Graphs have a SP-tree

5

P

7

6

2

S

S

P

P

5

7

1

1

6

2

6

2

6

2

Netwerk Algorithms:Treewidth

slide19
G(i)

5

  • Associate to each node i of SP tree a 2-terminal graph G(i).

6

2

P

S

S

6

2

P

P

5

7

1

6

2

6

2

Netwerk Algorithms:Treewidth

maximum weighted independent set for series parallel graphs
Maximum weighted independent set for series parallel graphs
  • G(i), say with terminals s and t
  • AA(i) = maximum weight of independent set S of G(i) with s in S, t in S
  • AB(i) = maximum weight of independent set S of G(i) with s not in S, t in S
  • BA(i) = maximum weight of independent set S of G(i) with s in S, t not in S
  • BB(i) = maximum weight of independent set S of G(i) with s not in S, t not in S

Netwerk Algorithms:Treewidth

maximum weighted independent set of series parallel graphs 2
Maximum weighted independent set of series parallel graphs 2
  • Computing AA, AB, BA, BB for
    • Leaves of SP-tree: trivial
    • Series, parallel composition: case analysis, using values for sub-sp-graphs G(i1), G(i2)
    • E.g. Series operation, s’ terminal between i1 and i2
      • AA(i) = max {AA(i1)+AA(i2) – w(s’), AB(i1) + BA(i2) }
  • O(1) time per node of SP-tree: O(n) total.

Netwerk Algorithms:Treewidth

many generalizations
Many generalizations
  • Many other problems
  • Other classes of graphs to which we can assign a tree-structure, including
    • Graphs of treewidth k, for small k.

Netwerk Algorithms:Treewidth

slide23

Tree decomposition

g

a

  • A tree decomposition:
    • Tree with a vertex set associated to every node.
    • For all edges {v,w}: there is a set containing both v and w.
    • For every v: the nodes that contain v form a connected subtree.

h

b

c

f

e

d

a

a

g

c

f

a

g

h

b

c

f

d

c

e

Netwerk Algorithms:Treewidth

slide24

Tree decomposition

g

a

  • A tree decomposition:
    • Tree with a vertex set associated to every node.
    • For all edges {v,w}: there is a set containing both v and w.
    • For every v: the nodes that contain v form a connected subtree.

h

b

c

f

e

d

a

a

g

c

f

a

g

h

b

c

f

d

c

e

Netwerk Algorithms:Treewidth

slide25

Treewidth (definition)

g

a

h

  • Width of tree decomposition:
  • Treewidth of graph G: tw(G)= minimum width over all tree decompositions of G.

b

c

f

e

d

a

a

g

c

f

a

g

h

b

c

f

d

c

e

a

b

c

d

e

f

g

h

Netwerk Algorithms:Treewidth

nice tree decompositions
Nice tree decompositions
  • Rooted tree, and four types of nodes i:
    • Leaf: leaf of tree with |Xi| = 1.
    • Join: node with two children j, j’ with Xi = Xj = Xj’.
    • Introduce: node with one child j with Xi = Xj È {v} for some vertex v
    • Forget: node with one child j with Xi = Xj - {v} for some vertex v
  • There is always a nice tree decomposition with the same width.

Netwerk Algorithms:Treewidth

some graphs have small treewidth
Some graphs have small treewidth
  • Appearing in some applications (next time: probabilistic networks)
  • Trees have treewidth 1
  • Series Parallel graphs have treewidth 2.

Netwerk Algorithms:Treewidth

algorithms using tree decompositions
Algorithms using tree decompositions
  • Step 1: Find a tree decomposition of width bounded by some small k.
    • Heuristics.
    • O(f(k)n) in theory.
    • Fast O(n) algorithms for k=2, k=3.
    • By construction, e.g., for trees, sp-graphs.
  • Step 2. Use dynamic programming, bottom-up on the tree.

Netwerk Algorithms:Treewidth

separator property
Separator property

w

i

If both v and w not in Xi, then

v and w are not adjacent

v

Netwerk Algorithms:Treewidth

maximum weighted independent set on graphs with treewidth k
Maximum weighted independent set on graphs with treewidth k
  • For node i in tree decomposition, W Í Xi write
    • R(i, W) = maximum weight of independent set S of G(i) with S ÇXi = W, – ¥ if such S does not exist
  • Compute for each node I, a table with all values R(i, …).
  • Each such table can be computed in O(2k) time when treewidth at most k.
  • Gives O(n) algorithm when treewidth is (small) constant.

Netwerk Algorithms:Treewidth

a lemma
A lemma
  • Let ({Xi | i Î I},T) be a tree decomposition of G. Let W be a clique in G. Then there is a j in I with W Í Xj.
    • Proof: Take arbitrary root of T. For each v in W, look at highest node containing v. Look at such highpoint of maximum depth.

Netwerk Algorithms:Treewidth

the minimum degree heuristic
The minimum degree heuristic

A heuristic for treewidth

Works often well

  • Repeat:
    • Take vertex v of minimum degree
    • Make neighbors of v a clique
    • Remove v, and repeat on rest of G
    • Add v with neighbors to tree decomposition

N(v)

N(v)

vN(v)

Netwerk Algorithms:Treewidth