Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Algorithmic Graph Theory
Treewidth
Outline • Tree decomposition - treewidth (tw(G))
• Path decomposition - pathwidth (pw(G))
• partial k-trees
• chordal graphs
• interval graphs
• Connections with tw(G) and pw(G) – chordal graphs and interval graphs
– graph searching
Example
Example
Example
Example
tw(G) = treewidth of G
ω(G) = clique number of G
Example
tw(G) = 2
width(X, T) = 2
Example
Example
pw(G) = 2 (???)
width(X, P) = 3
computing tw(G) and pw(G)
computing tw(G) and pw(G)
k-trees
partial k-trees and tw(G)
Theorem: G is a partial k-tree tw(G) ≤ k
if G is a k-tree then tw(G) ≤ k
partial k-tree k-tree and tw(H) ≤ tw(G) for H G
Induction on |V|: pick v, N(v) = K, K Xi , Xj = K {v}, Xi<-> Xj
if tw(G) ≤ k then G is a partial k-tree
Pick a leaf node Xleaf, Xj <-> Xleaf , such that Xleaf – Xj = {v}
| Xleaf | ≤ k+1: |N(v)| ≤ k and N(v) Xj (since v Xi)
By induction G[Xj] is a clique: N(v) induces a clique
http://www.graphclasses.org/
• tw(G) = 1 G forest,
• tw(G) = 2 G series parallel,
• tw(G) = 3 G partial 3-tree,
• ...
Hasse diagram of subclasses
chordal graphs
chordal graphs
chordal graphs
• Pls., prove Theorem 5.2
simplicial vertices
simplicial vertices
chordal graphs
Pls., prove Lemma
Triangulations
• Triangulation: Any graph G can be turned into a chordal graph by adding edges
• Use the perfect elimination ordering (elimination game): – Choose any vertex x to start with, and add the necessary edges so that
the neighbors of x become a clique.
– Remove x from the modied graph, and continue this process until all vertices are processed
• Filled graph: the resulting graph
• Triangulations can also be computed in other ways: – for example by making every minimal separator into a clique by adding
edges
• Computing a triangulation with the min number of edges: – computing a "nice" ordering β among all of them
– Unfortunately, this is an NP-hard problem
Triangulations
Order: < a, b, c, d, e, f >
added edges: {} , {cf}, {df}, {}, {}, {}
Triangulations
Order: < a, b, c, d, e, f >
added edges: {} , {cf}, {df}, {}, {}, {}
Order: < a, c, d, b, e, f >
added edges: {} , {bd}, {df}, {}, {}, {}
Triangulations
Order: < a, b, c, d, e, f >
added edges: {} , {cf}, {df}, {}, {}, {}
Order: < a, c, d, b, e, f >
added edges: {} , {bd}, {df}, {}, {}, {}
chordal graphs and maximal cliques
chordal graphs and maximal cliques
chordal graphs and maximal cliques
chordal graphs and clique trees
Clique tree T (iii): There exists a tree whose vertex set is the set of maximal cliques of G (each T[Kv] is connected)
• If G is a chordal graph, then any clique tree of G is also a tree decomposition of G (the opposite is not always true)
• Useful structure to express the information on maximal cliques and minimal separators of a chordal graph.
1
2
3 4
clique graph
• (Ci,Cj) E Ci Cj
• w(e)= | Ci Cj |
clique graph and clique tree
• Note that the clique graph of G is unique, whereas G may have several different clique trees
clique graph and clique tree
• number of minimal separators < |V|
connection with Tree Decomposition
clique trees on interval graphs
clique trees on interval graphs
clique trees on interval graphs
clique trees on interval graphs
• Its clique tree = tree decomposition = path decomposition
clique trees on interval graphs • clique trees are paths, clique trees are path decompositions
• pathwidth = treewidth for interval graphs
• pw(G) = |largest clique| – 1 when G is an interval graph
• For general graph G:
Example
pw(G) = 2 (???)
width(X, P) = 3
Example
pw(G) = 2 (???)
Example
pw(G) = 2 (???)
Finding an interval completion where the size of the largest clique is as small as possible is an NP-hard problem. Even for chordal graphs it is an open question whether or not such an interval completion can be found in polynomial time.
Outline • Tree decomposition - treewidth (tw(G))
• Path decomposition - pathwidth (pw(G))
• partial k-trees
• chordal graphs
• interval graphs
• Connections with tw(G) and pw(G) – chordal graphs and interval graphs
– graph searching
graph searching