Title: Graph Decompositions: Modular Decomposition, Split Decomposition, and others
1Graph Decompositions Modular Decomposition,
Split Decomposition, and others
- Or How to Lefarek LeGraphim et Hatzura.
- Presentation primarily influenced by papers of
McConnell, Spinrad and Hsu
2Lecture Objectives
- See what graph decompositions look like
- See what we can do with them
- Get a feeling on how problems can be solved with
them - See many kool graph classes (Circle Graphs
roolez!!11!!1!1)
3Heres a graph for ya, Joe!
4Heres a graph for ya, Joe!
Joe scratches his head. What shall I do, what
shall I do. Its so big! Im going to be working
all night long!
5Heres a graph for ya, Joe!
Maybe Ill Divide it into connected components?
6Heres a graph for ya, Joe!
No! Ill partition it to blocks and
bridges! 34-connected-components? 76-edge-connecte
d-components?
7Heres a graph for ya, Joe!
No, I know
Ill find its Modules!
8Modular Decomposition
- A Module is a set of vertices that are
indistinguishable from outside.
9Modular Decomposition
- A Module is a set of vertices that are
indistinguishable from outside.
10Modular Decomposition
- A Module is a set of vertices that are
indistinguishable from outside.
11Modular Decomposition
- A Module is a set of vertices that are
indistinguishable from outside.
NOT A MODULE!
12Modular Decomposition
- Module. AKA
- Autonomous set
- Closed set
- Stable set
- Clump
- Committee
- Externally Related Set
- Interval
- Nonsimplifiable Subnetworks
- Partitive Set
13Another way to view a module
MODULE
14A Peek to Split Decomposition
SPLIT
15Modular Decomposition
- Operation
- Seperating a Module
16Modular Decomposition
17Partitioning V into Modules
- V is always a module
- so are the singletons
18Partitioning V into Modules
- V is always a module
- so are the singletons
- Look at a partition into non-trivial modules
19Between two modules
- Any two disjoint modules form either a biclique
or are disconnected
biclique
20Between two modules
No module can contain vertices from both sets!
MODULE
21The Quotient Graph
- Any two disjoint modules form either a biclique
or are disconnected
QUOTIENT GRAPH
22The Quotient Graph
- When placing a vertex instead of each maximal
module, we get the quotient graph - Modular decomposition is also called Substitution
Decomposition, or S-decomposition
23The Quotient Graph
- The quotient graph can again have modules! Thus
- Recursive Structure!
24The Degenerate/Prime Tree
- A node corresponds to the set of all its leaves
- All modules are all
- node
- OR
- union of children of D-node
- Modules
- a,b,c,d,e,f,g
- a,b,c,e,f,g,a,b,c,d,e,f,g
- a,b,b,c,a,c,a,b,c,d,a,b,c,e,f,g,d,e,f,g
25Modular Decomposition
D
X
Y
X
Y
26Modular Decomposition
A
C
D
B
D
D
A
B
C
E
E
D
X
Y
X
Y
27Modular Decomposition
A
C
f
B
D
h
j
D
k
D
g
A
B
C
E
E
28Modular Decomposition
A
C
f
B
D
h
j
D
k
D
g
D
D
C
E
E
D
g
h
f
j
k
29Modular Decomposition
A
For D nodes the quotient graph is without edges
or is a clique!
C
f
B
D
h
j
D
k
D
g
D
D
C
E
E
D
g
h
f
j
k
30Modular Decompositions with prime nodes
P_4
P_4 has no nontrivial modules!
prime node!
The Module Tree
31Relation to graph classes
- The cographs are the graphs with no prime nodes.
Equivalently, these are the graphs without an
induced P_4
For split decomp,, the distance-hereditary graphs
32Relation to graph classes
- The cographs are the graphs with no prime nodes.
Equivalently, these are the graphs without an
induced P_4 - A permutation graph has a single representation
iff it is prime
For split decomp,, the distance-hereditary graphs
For split decomp, the circle graphs
33Relation to graph classes
- The cographs are the graphs with no prime nodes.
Equivalently, these are the graphs without an
induced P_4 - A permutation graph has a single representation
iff it is prime - A graph is prime iff ???
For split decomp,, the distance-hereditary graphs
For split decomp, the circle graphs
34Connections to partitive family theory
- The Modules is a family of sets over V. ??, all
singletons, and V, are modules. Let A, B be
modules. Then - A?B is a module
- If A?B? then A?B is a module
- If B?A then A\B is a module
35Connections to partitive family theory
- From these properties we get that given a module
M, the smallest module containing M is uniquely
determined - A module is called strong if it does not overlap
any module - The nodes of the tree are the strong modules
- These fact are why everything works. This is the
decomposition frame
36Computing the Modular Decomposition Tree
- Especially nice linear algorithm of Dahlhaus,
Gustedt and McConnell, that uses
partially-complemented representations of graphs,
and algorithms on them - Exercise Compute this in poly time using very
simple methods.
37When we get a problem
- Two approaches
- Look at a simple decomposition
38When we get a problem
- Two approaches
- Look at a simple decomposition
- Look at a partition to modules, and the quotient
graph
39When we get a problem
- Two approaches
- Look at a simple decomposition
- Look at a partition to modules, and the quotient
graph
Then you generalize to the tree
40- Some uses of The Modular Decomposition
- Finding Transitive Orientation of a graph
- Recognizing permutation graphs, isomorphism of
permutation graphs, and of other graph classes - Solving NP-Hard problems on well-decomposing
graphs
combinatorial
algorithmic
Solving NP-Hard Problems
41How to solve NP-Hard Problems
- On Graphs with good decompositions we can solve
some NP-Hard problems easily - Example Minimum Weighted independent set.
42Solving MWIS on the graph by solving MWIS on the
Quotient
Remember Disjoint modules are unconnected or
form bicliques!!!
43Solving MWIS - Outline
44Solving MWIS - Outline
- Decompose.
- Solve recursively on each part.
45Solving MWIS - Outline
- Decompose.
- Solve recursively on each part.
- Solve on the quotient using the new weights.
46Solving MWIS - Outline
- Decompose.
- Solve recursively on each part.
- Solve on the quotient using the new weights.
- That is your solution.
Using the decomp tree we can do this cleanly
47Solving MWIS bottom-up
- Compute the Decomposition Tree (linear time!)
48Solving MWIS bottom-up
- Compute the Decomposition Tree (linear time!)
- Compute bottom-up, each time taking the quotient
at the node and computing with it
49Solving MWIS bottom-up
- Compute the Decomposition Tree (linear time!)
- Compute bottom-up, each time taking the quotient
at the node and computing with it - For degenerate nodes the quotient is complete or
empty, so this is trivial.
50Solving MWIS bottom-up
- Compute the Decomposition Tree (linear time!)
- Compute bottom-up, each time taking the quotient
at the node and computing with it - For degenerate nodes the quotient is complete or
empty, so this is trivial. - Complexity sum of costs of computing MWIS for
the quotient graphs at prime nodes!
51Other easy NP-Hard problems
- COLORING
- MAX-CUT
- CLIQUE
- Many more
- Condition We need to be able to compute the
solution for the graph by (Exponential)
computations on its quotient
52Combinatorial Uses of Modular Decomposition
- Many for recognition of graph classes. Natural
for permutation graphs - Any others?
53Circle Graphs
54Circle Graphs
Circle Graphs Intersection Graphs of Chords on
a circle
55Circle Graphs
Circle Graphs Intersection Graphs of Chords on
a circle
d
c
f
e
b
a
b a f c b d c e f d a e
Overlap Graphs Overlap Graphs of Intervals
Circle Graphs
56Circle Graphs
- Important and nice graph class
- Some NP-Hard problems easily solved on Circle
Graphs Independent Set solvable using O(n2)
dynamic programming
57The Split Decomposition
58Split Decomposition
SPLIT
such that each side is at least 2 vertices to
be non-trivial
59Split Decomposition
60Split Decomposition
- Cunningham introduced the split decomposition
(for directed graphs) - He called it join decomposition
61Split Decomposition
- Cunningham introduced the split decomposition
(for directed graphs) - He called it join decomposition
- He proved unique decomposition (up to some highly
decomposable graphs) - Split Decomp is finer than the decomposition to
2-connected components (via cut-vertices)
62Split Decomposition
We get a quotient graph s.t. For each pair of
parts, the edges that run between them form a
biclique
63Split Decomposition
- Is a generalization of modular decomp.
- In comparison to Modular Decomp.
- symmetric
- Finer
- Less structure less to say (and dirtier)
- Harder to compute?
64Split Decomposition
- Can be used to solve some NP-Hard problems
efficiently - Structures are dirtier than those of Modular
Decomposition.
65MWIS with the split decomp
- Less structure, more thinking!
A
B
C
D
Solving this gives the solution
D
C
D
B
A
w_vsol_CD-sol_D
Sol_CD
sol_D
66When we get a problem
- Two approaches
- Look at a simple decomposition
- Look at a partition to modules, and the quotient
graph
Then you generalize to the tree
67MWIS on the graph using the quotient
Work is double-exponential in the size of the
quotient!
68- Some uses of the split decomposition
- Circle Graph Recognition, in O(n2)
- Hsu gives a connection between circular-arc
graphs and circle graphs, and gets circular-arc
recognition, and circular-arc and circle-graph
isomorphism algorithms, all in O(nm)
Circle Graph Recognition, some highlights
69Split Decomposition and Recognizing Circle Graphs
- All known algorithms for recognizing circle
graphs use the split decomposition - They use the following property A graph is a
circle graph iff all parts of its split
decomposition are circle graphs
70Split Decomposition and Recognizing Circle Graphs
- All known algorithms for recognizing circle
graphs use the split decomposition - They use the following property A graph is a
circle graph iff all parts of its split
decomposition are circle graphs - Proof gt Simple. The parts are induced
subgraphs. lt
71Parts are Circle gt Graph is circle
u
v
u
v
72Parts are Circle gt Graph is circle
u
v
u
u
v
v
73Parts are Circle gt Graph is circle
u
v
u
u
u
v
v
v
74Parts are Circle gt Graph is circle
u
v
u
u
v
v
75Recognizing Circle Graphs
- Take the graph, and decompose with the split
decomposition to get prime graphs - Each such graph is either trivial, or has an
induced P_4 (as before, an induced P_4 always
stays on the same side) - We use the P_4 to find a
- substructure that will add
- restrictions, and do so
- repeatedly
76Show connection between Modular Decomposition and
Permutation Graphs
77Generalizations of the Modular and Split
Decompositions
- Directed Graphs (broad research, similar results)
78Generalizations of the Modular and Split
Decompositions
- Directed Graphs (broad research, similar results)
- Bipartite Graphs (cannot decompose into modules,
but have a different decomp)
79Generalizations of the Modular and Split
Decompositions
- Directed Graphs (broad research, similar results)
- Bipartite Graphs (cannot decompose into modules,
but have a different decomp) - Hypergraphs
- 2-structures and k-structures
- Posets
- Boolean Functions, and other fields!
80Other Graph Decompositions
- P_4-related
- Clique cutset
- Homogeneous
- Twomodules of Mongolfier (influenced by Modules
in 2-structures)
81Heres a graph for ya, Joe!
- Joe wants a way to decompose the graph
- Such that the properties of the parts reflect
those of the whole graph - The decomposition can be recursive
- Decomposition For both Algorithmic purposes and
Combinatorial purposes! - This is very much needed for combinatorial
research, during the work research is easier
when you are dealing with simple graphs, say
with high connectivity. Afterwards we can
sometimes integrate the decomposition into the
result.
Ill find its Modules!
82Unrelated types of decompositions
- Decomposition into disjoint sets of edges
- Algorithmic Decompositions Structural,
non-computable decompositions useful for
algorithmics
83Algorithmic Decompositions tree-width
- Is best in a certain sense
- As opposed to the structured decompositions, the
tree-width decomposition is chosen to be the best
for certain algorithms - Computing the optimal tree-width is NP-Hard
- Linear for fixed k.
- tw(G)minimum val of ?(G)-1 over all
triangulations of G - See the paper Treewidth Algorithmic techniques
and results by Hans L. Bodlaendery
84Other Algorithmic Decompositions
- Pathwidth
- Bandwidth
- Branchwidth
- Cutwidth
-
- All of these explore structural characteristics
of the graph by bounding some structural
property
85 My Question
- There seems to be a connection between classes of
graphs with simple modular/split decompositions
(permutation graphs, circle graphs, etc.), but I
do not know of any proven connection between the
modular decomposition and the treewidth.
86Conclusion
- Types of Decompositions
- Connected Components
- Blocks and bridges
- Connectivity (edge- or vertex-)
- Modular
- Split
- And intractable ones that optimally break a
problem - Many others pick the one that suits you!
87Fin.
88Further TODO
- 1)More on treewidth,
- Introduction, including connectivity decomps
- Polynomial Algorithm for finding a module
- The block structure
- Graphics for tree-width, the tree, and how to
compute something NP-Hard using it - Find list of probs solvable with Modular Decomp.