Interval, circle graphs and circle graph recognition using split

advertisement
Interval, circle graphs and circle
graph recognition using split
decomposition
Presented by Steven Correia
Kent state university
Nov-18-2011
Email: scorreia@kent.edu
Based on :[1][4]
1
Background and motivation
•
•
•
Can highly connectivity of protein in cells be found easily?
How should I manage routing of wires in VLSI ?
How should I do memory management in small devices
like PDA and cell phones?
http://pixiedusthealing.blogspot.com/2011/03/earth-hour-internal-versus-external.html
2
Background and motivation
•
•
•
Can highly connectivity of protein in cells be found easily?
How should I manage routing of wires in VLSI ?
How should I do memory management in small devices
like PDA and cell phones?
Solution
I think intersection model can be used.
http://pixiedusthealing.blogspot.com/2011/03/earth-hour-internal-versus-external.html
3
Outline
Definition
Interval graph
Circle graph
Forbidden interval and circle graphs
Related work
Modular decomposition
Detection of circle graph – Split decomposition
Maximum click in graph
Related Graphs
Application
Reduce the complexity of many problems
Memory management
VLSI design
Max clique applications
Conclusion
References
Image taken from:[4]
4
Interval graph – intersection model
•
•
based on:[4]
An intersection graph of a multi-set of intervals on the real line. A
vertex corresponds to an interval where as an edge between
every pair of vertices corresponding to intervals that overlaps.
Let {I1, I2, ..., In} ⊂ P(R) be a set of intervals. The corresponding
interval graph is G = (V, E), where V = {I1, I2, ..., In}, and
{Iα, Iβ} ∈ E if and only if Iα ∩ Iβ ≠ ∅.
5
Circle graph – intersection model
•
•
•
based on:[4]
An intersection graph of set of
chords of circle
This is an undirected graph
whose vertices can be
associated with chords of a circle
such that two vertices are
adjacent if and only if the
corresponding chords cross
each other
The chromatic number of a
circle graph is the minimum
number of colors that can be
used to color its chords so no
two chords intersects that has
the same color
6
Outline
Definition
Interval graph
Circle graph
Forbidden interval and circle graphs
Related work
Modular decomposition
Detection of circle graph – Split decomposition
Maximum click in graph
Related Graphs
Application
Reduce the complexity of many problems
Memory management
VLSI design
Max clique applications
Conclusion
References
Image taken from:[4]
7
Forbidden graphs
•
Forbidden interval graphs (e.g.: asteroid triple graph)
•
Forbidden circle graphs
Images taken from:[1][4]
8
Outline
Definition
Interval graph
Circle graph
Forbidden interval and circle graphs
Related work
Modular decomposition
Detection of circle graph – Split decomposition
Maximum click in graph
Related Graphs
Application
Reduce the complexity of many problems
Memory management
VLSI design
Max clique applications
Conclusion
References
9
Related work
•
•
Booth, Lueker & Habib proved determining if a given
graph G = (V, E) is an interval graph can be done
in O(|V|+|E|) time by seeking an ordering of the
maximal cliques of G.
Many researchers proved different techniques to for
recognition of circle graph.
• Earliest polynomial time algorithm described by Bouchet
(1987) which takes 𝑂(𝑛9 ) time.
• Gabor, Hsu and Supowit proposed 𝑂 𝑛𝑚 time algorithm
• Jeremy Spinrad proposed 𝑂 𝑛2 algorithm
• Best known algorithm by Christophe Paul University
Montpellier II, France March 25, 2009 in quasi-linear
time*
*An algorithm is said to run in quasi-linear time if T(n) = 𝑂(𝑛𝑙𝑜𝑔𝑘 𝑛) for any
constant k
10
Outline
Definition
Interval graph
Circle graph
Forbidden interval and circle graphs
Related work
Modular decomposition
Detection of circle graph – Split decomposition
Maximum click in graph
Related Graphs
Application
Reduce the complexity of many problems
Memory management
VLSI design
Max clique applications
Conclusion
References
Image taken from:[4]
11
Modular decomposition
How should I decompose a graph?
based on:[2]
12
Modular decomposition
How should I decompose a graph?
I’ll find its Modules!
based on:[2]
13
Modular decomposition
Module. AKA:
•
•
•
•
•
•
•
•
•
Autonomous set
Closed set
Stable set
Clump
Committee
Externally Related Set
Interval
Non simplifiable Sub-networks
Partite Set
14
Modular decomposition
Modular Decomposition : A Module is a set of vertices that are
indistinguishable from outside
C
f
B
h
k
g
j
E
based on:[2]
15
Modular decomposition
Modular Decomposition : A Module is a set of vertices that are
indistinguishable from outside
C
f
B
h
k
g
j
E
based on:[2]
16
Modular decomposition
Modular Decomposition : A Module is a set of vertices that are
indistinguishable from outside
C
f
B
h
k
g
Not a module!
based on:[2]
j
E
17
Another way to view a module
•
Biclique : biclique(complete bipartite graph) is a special kind
of bipartite graph where every vertex of the first set is
connected to every vertex of the second set.
A complete bipartite graph, G := (V1 + V2, E), is a bipartite
graph such that for any two
vertices, v1 ∈ V1 and v2 ∈ V2, v1v2 is an edge in G. The
complete bipartite graph with partitions of size |V1|=m and
|V2|=n, is denoted Km,n.
•
Module
based on:[2]
18
Between two modules
•
Another way to see this:
Module
based on:[2]
No module can contain
vertices from both sets!
19
Modular decomposition
Separating a Module:
based on:[2]
20
Modular decomposition
Separating a Module: Any two disjoint modules form either a biclique or are
disconnected
based on:[2]
21
The Quotient graph
•
•
When placing a vertex instead of each maximal module, we get the quotient
graph
Modular decomposition is also called Substitution Decomposition, or Sdecomposition
Quotient graph
based on:[2]
22
The Quotient graph
The quotient graph can again have
modules! Thus:
Recursive Structure!
based on:[2]
23
The 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,d,e,f,g}
P_4 has no nontrivial modules!
based on:[2]
24
The degenerate/prime tree cont..
For D nodes the quotient graph is without
edges or is a clique!
D
C
f
B
h
D
D
f
g
D
h
g
j
C
D
k
based on:[2]
D
k
E
E
j
25
Outline
Definition
Interval graph
Circle graph
Forbidden interval and circle graphs
Related work
Modular decomposition
Detection of circle graph – Split decomposition
Maximum click in graph
Related Graphs
Application
Reduce the complexity of many problems
Memory management
VLSI design
Max clique applications
Conclusion
References
Image taken from:[4]
26
The split decomposition
•
•
•
G is a circle graph if and only if every remaining subgraph is a circle graph.
Every remaining subgraph should be indecomposable i.e. Prime graph
If V is partitioned into V1,V2, 2 ≤ |V1| ≤ n-2
Let V1io ={𝑥 ∈ 𝑉1: 𝑥 𝑖𝑠 𝑎𝑑𝑗𝑎𝑐𝑒𝑛𝑡 𝑡𝑜 𝑣𝑒𝑟𝑡𝑒𝑥 𝑉2}
V2io ={y∈ 𝑉2: 𝑦 𝑖𝑠 𝑎𝑑𝑗𝑎𝑐𝑒𝑛𝑡 𝑡𝑜 𝑣𝑒𝑟𝑡𝑒𝑥 𝑉1}
So V1 and V2 is called a split of G if every vertex in V1io is adjacent to every
vertex in V2io.
V1={1,2,3} V2={4,5,6,7} is split of G where V1io={2,3} & V2io={4,5}
based on:[1]
27
The split decomposition cont..
• We get a quotient graph such
that for each pair of parts, the
edges that run between them
form a biclique
•
•
•
After decomposition we find the exact location on circle arc where the chord
could be placed.
The idea of the algorithm is one can prove in O(n2) time that a graph is
indecomposable (prime graph) with respect to split decomposition.
Algorithm produce circular ordering of vertices in that time and check if that
circular ordering correctly represents G.
based on:[2]
28
Parts are circle => graph is circle
A
C
B
v
D
u
u
v
based on:[2]
29
Parts are circle => graph is circle
A
C
B
v
u
u
v
based on:[2]
D
u
v
30
Parts are circle => graph is circle
A
C
B
v
u
u
v
based on:[2]
v
D
u
u
v
31
Parts are circle => graph is circle
A
C
B
v
u
u
v
based on:[2]
D
u
v
32
Outline
Definition
Interval graph
Circle graph
Forbidden interval and circle graphs
Related work
Modular decomposition
Detection of circle graph – Split decomposition
Maximum click in graph
Related Graphs
Application
Reduce the complexity of many problems
Memory management
VLSI design
Max clique applications
Conclusion
References
Image taken from:[4]
33
Maximum clique
•
•
•
Interval model can be constructed
Clique corresponds to pair-wise intersection of intervals in intersection graph.
Finding maximum clique in original graph can be done by finding maximum
intersecting intervals in intersection model
based on:[9]
34
Outline
Definition
Interval graph
Circle graph
Forbidden interval and circle graphs
Related work
Modular decomposition
Detection of circle graph – Split decomposition
Maximum click in graph
Related Graphs
Application
Reduce the complexity of many problems
Memory management
VLSI design
Max clique applications
Conclusion
References
Image taken from:[4]
35
Related graphs
•
•
•
Helly circle graph : A graph G is a Helly circle
graph if G is a circle graph and there exists a model
of G by chords such that every three pairwise
intersecting chords intersect at the same point. No
diamond should be present.
Unit circle graphs : a graph G is a unit circle graph
if there is a model L for G such that all the chords
are of the same length
Proper circular-arc graphs: A proper circular arc
graph is a circular arc graph that has an intersection
model in which no arc properly contains another.
They are subclass of circle graphs.
The representation in arcs can be trivially
transformed in the model in chords.
based on:[1][10]
36
Outline
Definition
Interval graph
Circle graph
Forbidden interval and circle graphs
Related work
Modular decomposition
Detection of circle graph – Split decomposition
Maximum click in graph
Related Graphs
Application
Reduce the complexity of many problems
Memory management
VLSI design
Max clique applications
Conclusion
References
Image taken from:[4]
37
Applications
•
•
•
Some NP-Hard problems easily solved on Circle Graphs: Independent Set
solvable using O(n2) dynamic programming
Many problem that are NP-complete on general graph have polynomial
solution when restricted to circle graph
– Treewidth of a circle graph can be determined , in O(n3) time and thus
an optimal tree decomposition constructed in polynomial time
– Chordal graph can be found in O(n3) time
– Maximum clique of a circle graph can be found in O(nlog2 n) time
Circular-arc graph can help to utilize storage in small digital devices.
38
Applications dependent on maximum clique
•
•
•
•
The network of protein
interactions- proteins as nodes
and protein interactions as
undirected edges.
Aim our analysis was to identify
highly connected sub graphs
(clusters) that have more
interactions within themselves
and fewer with the rest of the
graph
Cliques indicate tightly interacting
protein network modules
Used to reveal cellular
organization and structure and
understanding of cellular
modularity
Image taken from:[11]
39
Applications on VLSI design
•
•
•
•
•
•
Wire routing in VLSI design.
In our case routing area is
rectangle.
The perimeter of rectangle
represents terminals.
Goals of wire routing step is to
ensure that different nets stay
electrically disconnected.
If there is crossing then the
intersecting part must be laid
out in different conducting layer.
Predict routing complexity and
layer design
Image taken from:[5]
40
Outline
Definition
Interval graph
Circle graph
Forbidden interval and circle graphs
Related work
Modular decomposition
Detection of circle graph – Split decomposition
Maximum click in graph
Related Graphs
Application
Reduce the complexity of many problems
Memory management
VLSI design
Max clique applications
Conclusion
References
Image taken from:[4]
41
Conclusion
•
•
•
A circle graph is an intersection graph of a set of chords of a circle
Splitting the graphs in subgraphs solve reduce the complexity of a problem
and makes the running time faster
Many hard problems can be solved within polynomial time by using circle
graph intersection model
• Wire routing design
•
•
Find strong bonding in cell structure
Helps to efficiently manage memory storage
Thank you
42
Outline
Definition
Interval graph
Circle graph
Forbidden interval and circle graphs
Related work
Modular decomposition
Detection of circle graph – Split decomposition
Maximum click in graph
Related Graphs
Application
Reduce the complexity of many problems
Memory management
VLSI design
Max clique applications
Conclusion
References
Image taken from:[4]
43
References
•
•
•
•
•
•
•
•
•
•
•
[1] Spinrad, Jeremy (1994), "Recognition of circle graphs", Journal of
Algorithms 16 (2): 264–282
[2] Graph Decompositions: Modular Decomposition, Split Decomposition, and
others Presentation primarily influenced by papers of McConnell, Spinrad and Hsu
[3] Algorithmic graph theory – Martin Charles Golumbic(2nd edition 2004)
[4] http://en.wikipedia.org
[5] http://www.rulabinsky.com/cavd/text/chap04-3.html
[6] Recognizing Circle Graphs in Polynomial Time CSABA P. GABOR AND KENNETH J.
SUPOWIT Princeton University. Princeton, New Jersey AND WEN-LIAN HSU
Northwestern University, Evanston, Illinois
[7] http://www.rulabinsky.com/cavd/text/chap04-3.html
[8] http://mathworld.wolfram.com/DiamondGraph.html
[9] http://arxiv.org/PS_cache/arxiv/pdf/0707/0707.3619v16.pdf
[10] Some new results on circle graphs, Guillermo Duran
[11 ]http://www.pnas.org/content/100/21/12123.full
44
Download