Title: Presentation on Chordal and Interval graphs
1Presentation on Chordal and Interval graphs
- Presented by
- Bansal Tarun
- Bhatewara Shreyas
- Vardhan Hars
- Also available online at
- http//www.utdallas.edu/shreyas.bhatewara/combin
atorics.html - OR http//utdallas.edu/tarun/graph.html
2Perfect Graphs
- Clique
- Chromatic number
- Perfect graphs each subset has chromatic number
equal to size of maximal clique
3Chordal graphs
- Chordal graph Any cycle of four or more nodes
has a chord in it - Also called rigid circuit graphs
4Chordal graphs contd.
- Perfect Elimination order necessary and
sufficient condition for Chordal graphs - Simplicial vertexes along with their neighbors
form a clique
5Interval Graphs
- Intersection graph of set of intervals on a real
line. - R ? I1, I2, I3....
- V I1, I2, I3....In
- (Ix, Iy) ? E ltgt Ix n Iy ? ?
- Adjacent intervals are overlapping
6Interval graphs contd.
- Perfect ? Chordal ? Interval graphs
- Interval model representation R-blocks and
L-blocks - Complement of Interval graphs are called
comparability graph - Comparability graph is also known as containment
graph
7Properties and conditions
- Asteroidal triple free chordal graphs are
interval graphs.
- Comparability graphs do not have odd cycles
- Elimination of simplicial vertices from chordal
graph renders a chordal graph
8Applications and motivation to study
- Scheduling and storage problems
- Bioinformatics finding if gene is mutant
- Archaeology studying sequence dating (seriation)
- Ecology Food chain of organisms
- Maximum clique and Isomorphism are less complex
in chordal graphs.
9Perfect Elimination Order (PEO)
- An ordered sequence of all vertices V1, V2,,
Vn - Successor (Vi) Vj jgti and (i,j) e E
- Predecessor (Vi) Vj igtj and (i,j) e E
- Sequence of vertices such that for each vertex
Vi, successors of Vi form a clique - A graph is chordal if and only if it has a
Perfect Elimination Order (PEO) Fulkerson 1965
10Simplicial Vertex
- A vertex whose all neighbors form a clique
- Every chordal graph has at least one simplical
vertex - The first vertex in PEO is simplicial
- If you remove the simplicial vertex, then the
graph induced by remaining nodes is also a
chordal graph (hence must have a simplicial
vertex of its own)
11Simple method to find PEO
- Given G (V, E)
- For (i1 to N)
- Vi Simplicial vertex (G)
- G Graph induced by vertex set (V-Vi)
-
-
- What if no simplicial vertex exists at some
point? - Complexity O(NN2) O(N3)
12Finding a PEO (Maximum Cardinality Method)
- Rose and Tarjan Rose 1975
- Cardinality Number Number of neighbors picked
up - Step1 Pick the node whose maximum number of
neighbors have already been chosen - Reverse the order
- Step 2 In the end, verify the ordering obtained
is indeed PEO
13Example
Seq 6
Seq 2
F (1)
F (0)
E (0)
E (1)
F (2)
Seq 8
G(2)
G(0)
G(1)
A(0)
D(0)
D(2)
H (1)
H (3)
D(1)
H (0)
H (2)
Seq 1
Seq 3
Seq 7
The PEO is G, H, F, B, C, D, E , A
B(0)
B (1)
B (2)
B (3)
C(0)
C(1)
C(2)
Seq 5
Seq 4
14Observations
- Except for the first node, any node being picked
up has at least one neighbor which has already
been picked - Set of picked nodes always form a connected graph
15Proof of Correctness
- If a PEO does not exist, then algorithm does not
generate a PEO - If the PEO exists, then algorithm outputs some PEO
16Proof of Correctness (Part 2)
- Let V1, V2, V3,,Vi, , Vj,, Vk,,Vn be the
ordering generated. - Let Vi is not in sequence. Then Vj and Vk be the
two successors of Vi that are not connected. - Case 1
- Then Vj and Vk are parts of two graphs which are
connected only through Vi - The order in which the nodes were picked is
- Vn, , Vk, ., Vj,, Vi,,V3, V2, V1
- Then we claim that label sequence must have been
different
17Proof (Contd.)
- Case 2
- Consider the path from k to j on which the nodes
were picked up. - All such nodes should be connected to i except
those nodes, which are directly connected to j. - Let m be such a vertex on that path. m must have
some vertices which are not connected to i.
18Proof (contd.)
- Let w be such a vertex. Therefore w must be
connected to k. (through a path not involving i).
- If i is not connected to w, then we have a non
chordal cycle i-k-w-m-j-i. - i must be connected to w as well. Therefore there
is no way that m can be picked before I since i
is connected to one extra node than m (Vk)
19Complexity Analysis (Step 2)
- Check if the generated ordering is perfect
- Trivial algorithm
- Number of vertices whose successors have to be
checked N - Time complexity to check if all the successors of
a particular node are connected NC2 N2 - Total complexity N3
20Step 2 Efficient Implementation
- Efficient Way
- Given ordering V1, V2, V3, , Vi, , Vj,,
Vk,,Vn - 1. for i 1 to n do
- 2. if Vi has successors
- 3. Let u be the first successor of
Vi - 4. For all w ? Successor (Vi), w ?u
- 5. Add (u, w) to TEST
- 6. Test whether all vertex-pairs in TEST are
adjacent.
21Why?
- If the algorithm detects ordering as non-perfect,
then ordering must be non-perfect - If the algorithm detects ordering as PEO, then
ordering cannot be imperfect (By contradiction) - complexity if implemented carefully O ( N E)
- Maximum size of set TEST can be O(E)
- Instead of O (N3)
22Implementation of step 1 (generating perfect
ordering)
- Trivial Method
- Maintain a heap of cardinality numbers
- Complexity of each for loop
- Find the maximum cardinality node and removing
it O(lg N) - Number of updates for each node picked N
- modifying the cardinality number and
rearranging the heap N lg N - Total Complexity N (lg N N lg N) N2 lg N
- Can also be shown as E lg N
23Efficient Implementation (Step 1)
- With complexity O( N E)
- For each node, maintain list of neighbors.
(Already given in this format) - Maintain linked list of vertices (in order of
cardinality number) - For each node, maintain its location in the
linked list - Picking the vertex with max. cardinality number
O(1) - Finding all the neighbors and updating their
cardinality number and their location in linked
list O(E)
24Polynomial Algorithms for chordal graphs Gavril
1972
- Minimum-Coloring Algorithm
- Greedy Algorithm
- Scan the vertices in the reverse order of PEO and
color each vertex with the smallest color not
used among its successors - Gives Optimal coloring
- Complexity Polynomial (given that PEO is
already known)
25Polynomial Algorithms for chordal graphs
- Maximum Independent Set
- Greedy algorithm
- Scan the vertices in the order of PEO, and for
each Vi, add Vi to I if none of its predecessor
has been added to I - Complexity Polynomial
26Another definition for chordal graphs
- Intersection Graph A graph that represents the
intersection of sets - Subtree Graph
- Break a tree into multiple subtrees (overlapping)
- Now make a graph whose each vertex represents one
subtree. An edge between two vertices if they
have a common vertex (between the subtrees they
represent) - The graph thus obtained is known as Subtree Graph
- As Gavril 1974 showed, the subtree graphs are
exactly the chordal graphs. So a chordal graph
can be represented as an intersection graph of
subtrees.
27Bibliography
- Gavril 1974 Gavril, Fanica, "The intersection
graphs of subtrees in trees are exactly the
chordal graphs, Journal of Combinatorial Theory,
Series B 16, 1974 - Gavril 1972 Gavril, Algorithms for Minimum
Coloring, Maximum Clique, Minimum Independent Set
of a Chordal Graph, SIAM J. Comp., Vol 1, 1972Â - Rose 1975 Rose, Tarjan, Algorithmic Aspects
of Vertex Elimination, Proc. 7th annual ACM
Symposium on Theory of Computing (STOC), 1975
28Bibliography
- Therese Biedl, Lecture notes of a graduate
course, University of Waterloo (Sept 2005),
http//www.student.cs.uwaterloo.ca/cs762/Notes/bo
ok.pdf - Arnborg 1989 Arnborg et. al., Linear time
algorithms for NP-hard problems restricted to
partial k-trees, Discrete Applied Mathematics,
Vol. 23, Issue 1, 1989 - Wiki-Tree-Decomposition http//en.wikipedia.org
/wiki/Treewidth - Fulkerson 1965 Fulkerson, D. R. Gross, O. A.
(1965). "Incidence matrices and interval graphs,
Pacific J. Math 15 835855.
29Tree Decomposition
- Each subtree associates a graph vertex with a set
of tree nodes. To define this formally, we
represent each tree node as the set of vertices
associated with it. Thus, given a graph G (V,
E), a tree decomposition is a pair (X, T), where
X X1, ..., Xn is a family of subsets of V,
and T is a tree whose nodes are the subsets Xi,
satisfying the following properties - The union of all sets Xi equals V. That is, each
graph vertex is associated with at least one tree
node. - For every edge (v, w) in the graph, there is a
subset Xi that contains both v and w. That is,
vertices are adjacent in the graph only when the
corresponding subtrees have a node in common. - If Xi and Xj both contain a vertex v, then all
nodes Xz of the tree in the (unique) path between
Xi and Xj contain v as well. That is, the nodes
associated with vertex v form a connected subset
of T.
30Example taken from Wiki-Tree-Decomposition
Graph and the corresponding tree decomposition
Tree width 3-1 2
31Tree decomposition (properties)
- A graph can have multiple tree decompositions
- Width of tree decomposition Size of largest Xi
minus 1 - The minimum width among all tree decompositions
is known as tree width - The graphs with treewidth at most k are also
called partial k-trees - For chordal graphs, the treewidth is size of
biggest clique minus 1
32Uses
- Algorithms work much faster on trees than graphs
- Use dynamic programming on decomposed tree to
solve problems of the original graph (must have
bounded treewidth) Arnborg 1989