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