1 / 26

Random Generation and Enumeration of Proper Interval Graphs

Random Generation and Enumeration of Proper Interval Graphs. Toshiki Saitoh(JAIST) Katsuhisa Yamanaka(Univ. Electro-Communi.) Masashi Kiyomi(JAIST) Ryuhei Uehara(JAIST). Introduction. Processing of huge amounts of data Data mining, bioinformatics, etc The data have a certain structure

ghada
Download Presentation

Random Generation and Enumeration of Proper Interval Graphs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Random Generation and Enumeration of Proper Interval Graphs Toshiki Saitoh(JAIST) Katsuhisa Yamanaka(Univ. Electro-Communi.) Masashi Kiyomi(JAIST) Ryuhei Uehara(JAIST)

  2. Introduction • Processing of huge amounts of data • Data mining, bioinformatics, etc • The data have a certain structure • Interval graphs in bioinformatics • Our problems (P.I.G. : proper interval graphs) • Random generation of P.I.G. • Enumeration of P.I.G. • P.I.G.: subclass of interval graphs • P.I.G. ⇒ strings of parentheses Generating Enumerating

  3. Known Algorithms • Generation of a string of parentheses • D.B.Arnold and M.R.Sleep, 1980 • can’t generate P.I.G. uniformly at random • Enumeration of stringsof parentheses • D.E.Knuth, 2005 • can’t enumerate every P.I.G. in O(1) time Not one-to-one correspondence constant size of differencesin string ⇔ large size of differences in P.I.G.

  4. Our Algorithms • Random Generation • Input: Natural number n • Output: Connected P. I. G. of n vertices • Uniformly at random • Using a counting algorithm • O(n+m) time (m: #edges) • Enumeration • Input: Natural number n • Output: All the connected P. I. G. of n vertices • Without duplication • Based on reverse search algorithm • O(1) time/graph

  5. Interval Graphs • Have interval representations

  6. Proper Interval Graphs • Have unit interval representations Every interval has the same length String representations

  7. Unit Interval Representation Definition • String Representation • Encodes a unit interval representation by a string • Sweep the unit interval representation from left to right • Left endpoint → “(” : left parenthesis • Right endpoint → “)” : right parenthesis Right endpoints appear in order of their left endpoint appearances (( ())(())) ( ) ( ( ) ) ( ( ) ) String Representation

  8. Each number is non-negative String Representation Height = # “(” - # “)” • Property of string rep. of P. I. G. of n vertices • Number of parentheses: 2n • Number of “(”: n Number of “)”: n • Non-negative • Each left parenthesis exists in the left side of its right parenthesis ( ( ( ) ) ( ( ) ) ) +1 +1 +1 -1 -1 +1 +1 -1 -1 -1 0 1 2 3 2 1 2 3 2 1 0 Height 0

  9. String Representation • Property of string rep. of P. I. G. of n vertices • Number of parentheses: 2n • Number of “(”: nNumber of “)”: n • Non-negative • Each left parenthesis exists in the left side of its right parenthesis Negative height ( ( ) ) ) ( ? Not correspond to any interval rep.. 0

  10. String Representation • Property of string rep. of P. I. G. of n vertices • Number of parentheses: 2n • Number of “(”: nNumber of “)”: n • Non-negative • Each left parenthesis exists in the left side of its right parenthesis Each component corresponds to each area that is bounded by 2 places whose heights are 0. There are more than 2 places whose heights are 0. ( ( ) ) ( ) Unit IntervalRep. Graph Rep. 0

  11. String Representation • Observation 1 • String rep. of connected P. I. G. • Have exactly 2 places whose heights are 0. • The left end and the right end The string excepted both ends parentheses is non-negative ( ( ( ( ) ) ) ( ( ) ) ) ) 0 0

  12. String Representation • Lemma 1. (X. Dell, P. Hell, J. Huang, 1996) • A connected P. I. G. has only one or two string rep. This graph has only two string representations. ( ( ) ( ( ) ( ) ) ) ( ( ) ( ( ) ( ) ) ) different strings Unit Interval Rep. Proper Interval Graph String Rep.

  13. String Representation • Lemma 1. (X. Dell, P. Hell, J. Huang, 1996) • A connected P. I. G. has only one or two string rep. This graph has only one string representation. ( ( ) ( ( ) ) ( ) ) ( ( ) ( ( ) ) ( ) ) Proper Interval Graph Unit Interval Rep. String Rep. reversible

  14. Random Generation Algorithm of Proper Interval Graphs

  15. Random Generation Algorithm • Generate a string rep. uniformly at random • Using a counting algorithm • (Generalized) Catalan number ( ( ( ( ) ) ( ) ( ) ) ) String rep. : Path on the area 0 0

  16. Adjust the Generation Probability String rep. Not easy Non-reversible strings Decrease the generation probability … ( ( ) ( ( ) ( ) ) ) ( ( ( ) ( ) ) ( ) ) … … Reversible strings … ( ( ) ( ( ) ) ( ) ) … A generation probability of a graph corresponding to non-reversible strings is higher than that of reversible one

  17. Sn: # non-reversible strings Rn: # reversible strings Adjust the Generation Probability String rep. Non-reversible strings … ( ( ) ( ( ) ( ) ) ) ( ( ( ) ( ) ) ( ) ) … Case 1 … Reversible strings … ( ( ) ( ( ) ) ( ) ) … Case 2 … ( ( ) ( ( ) ) ( ) ) Uniformly at random …

  18. “(” : “)” : Generalized Catalan Number Case 1 • Generation of a string uniformly at random • Generate parentheses from left • Select “(” or“)” ) ( ( ( ) ( ( ( ) ) ) ) p = C(k, hl) q = C(k, hr) Time complexity • String Rep.:O(n) • Graph Rep.:O(n+m) k: # remaining parentheses h: Height m: # edges

  19. Generalized Catalan Number Case 2 Symmetric • Generation of reversible string uniformly at random • Generate a half of the string • Choose the height at the center • Generate parentheses from the left end • Select “(” or“)” ( ( p: complicated! k: # remaining parentheses h: Height

  20. “(” : “)” : Generalized Catalan Number Case 2 • Generation of reversible string uniformly at random • Generate a half of the string from the center to the right end • Choose the height at the center • Generate parentheses from the center • Select “(” or“)” ) ) ( ) ) ) ) ( ) ) ) ) p = C(k, hl) q = C(k, hr) Time complexity • String Rep.:O(n) • Graph Rep.:O(n+m) k: # remaining parentheses h: Height m: # edges

  21. Enumeration Algorithm of Proper Interval Graphs

  22. Simple Enumeration Algorithm remove 1 edge • Huge memory • Low speed Not P.I.G. Has the obtained graph outputted?

  23. Reverse Search Algorithm • Spanning Tree • Parent-child remove 1 edge • Our algorithm • Canonical string • O(1) time/graph • O(n) space ( ( ( ( ) )( ) ) ) ( ( ( ( ( ) ) ) ) ) ( ( ( ( ) () ) ) ) ( ( ( ) ( )( ) ) ) ( ( ( ( ) )) ( ) ) ( ( ( ) ) (( ) ) ) ( ( ( ) ( )) ( ) ) ( ( ( ) ) () ( ) ) ( ( ) ( ( )) ( ) ) Canonical string x≦ reverse of the x ( ( ) ( ) () ( ) )

  24. Parent-Child Relation • Root: ( ( … ( ) ) … ) • Parent of canonical string x • Replace the leftmost “)(” of x with “()” • Parent of x iscanonical • The root is the ancestor of x ( ( ( ( ( ) ) ) ) ) ( ( ( ( ) ( ) ) )) ( ( ( ( ) ) ( ) )) ( ( ( ) ( ) ( ) )) ( ( ( ) ) ( ( ) ))

  25. Tree (n=5) root child parent ( ( ( ( ( ) ) ) ) ) Enumeration of all the strings by traversing the tree from the root ( ( ( ( ) () ) ) ) ( ( ( ( ) )( ) ) ) Find child: O(1) time Output only the differences Prepostorder manner ( ( ( ) ( )( ) ) ) ( ( ( ( ) )) ( ) ) ( ( ( ) ) (( ) ) ) ( ( ( ) ( )) ( ) ) Output string:O(1) time ( ( ) ( ( )) ( ) ) ( ( ( ) ) () ( ) ) ( ( ) ( ) () ( ) )

  26. Conclusion and Future Work • Random Generation and Enumeration of Connected Proper Interval Graphs of n vertices • Random Generation:O(n+m) time • Enumeration:O(1) time/graph • n vertices ⇒ at most n vertices • Random Generation and Enumeration of Interval Graphs

More Related