1 / 17

Simple Efficient Algorithm for MPQ -tree of an Interval Graph

Simple Efficient Algorithm for MPQ -tree of an Interval Graph. Toshiki SAITOH Masashi KIYOMI Ryuhei UEHARA Japan Advanced Institute of Science and Technology (JAIST) School of Information Science. Interval Graphs. Have interval representations

dolph
Download Presentation

Simple Efficient Algorithm for MPQ -tree of an Interval Graph

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. Simple Efficient Algorithm for MPQ-tree of an Interval Graph Toshiki SAITOH Masashi KIYOMI Ryuhei UEHARA Japan Advanced Institute of Science and Technology (JAIST) School of Information Science

  2. Interval Graphs • Have interval representations • Each interval corresponds to a vertex on graphG=(V, E) (|V|=n, |E|=m) • Two intervals intersect ⇔ corresponding two vertices are adjacent 0 1 2 3 4 5 6 1 I3 3 4 I4 I1 I2 2

  3. ATCGGGAACGGTTTACGTGGT x2 x1 x2 x1: ACGGTTTA x2: ATCGGAACG x3: AACGGTTTAC x4: TTTACGTGGT DNA sequence x1 x3 x4 x3 x4 interval representation interval graph Applications of Interval Graphs • bioinformatics • scheduling problems huge interval representation

  4. 1 2 2, 4 4 12 9 10 11 3 5 6 7 8 Our Problem • Input : An interval representation of an interval graph • Output : An MPQ-tree • canonical and compact • Isomorphism, (random generation, enumeration) 1 2 9 12 3 4 10 11 6 5 7 8 interval representation MPQ-tree

  5. C7 C5 C6 C1 C2 C3 C4 PQ-tree (Booth and Lueker 1979) • Auxiliary data structure for interval graph • Ordered tree • Internal nodes are labeled ‘P’ or ‘Q’ • Leaf maximal clique • O(n) space • Interval graph recognition • O(n+m) time • Only partial information • No information for vertices

  6. 1 2 2, 4 4 12 9 10 11 3 5 6 7 8 MPQ-tree (Korte and MÖhring 1989) • Data structure for interval graph • Modified PQ-tree • node vertices • O(n) space • Interval graph recognition • O(n+m) time • Interval graph isomorphism • O(n+m) time

  7. P-node • Are the two interval graphs corresponding to these interval representations isomorphic? P

  8. Q-node • Are the two interval graphs corresponding to these interval representations isomorphic? P Q 1

  9. Known Algorithms for constructing (M)PQ-trees • Korte and MÖhring(1989) • Input: a graph representation • Output: an MPQ-tree • O(n+m) time • Many conditional branches • McConnell and Montgolfier(2005) • Input: an interval representation • Output: a PQ-tree • O(n log n) time When inputs are sorted, O(n) time • Too generalized

  10. 1 4 1 6 2 9 12 7 22, 4 4 12 9 2 5 10 11 3 4 8 1 10 11 3 6 5 6 5 3 10 7 8 12 9 7 8 11 C7 C5 C6 C1 C2 C3 C4 MPQ-tree from interval representation graph representation interval representation O(n+m) space O(n) space 1 2 O(n+m) time O(n log n) time MPQ-tree PQ-tree O(n) space O(n) space

  11. 1 4 1 6 2 9 12 7 22, 4 4 12 9 2 5 10 11 3 4 8 1 10 11 3 6 5 6 5 3 10 7 8 12 9 7 8 11 C7 C5 C6 C1 C2 C3 C4 MPQ-tree from Interval Representation graph representation interval representation O(n+m) space O(n) space Our approach 1 2 O(n+m) time O(n log n) time O(n log n) time MPQ-tree PQ-tree O(n) space O(n) space

  12. 1 2, 4 12 9 10 11 3 5 6 1 7 8 2 2, 4 4 12 9 10 11 3 5 6 7 8 Outline of Our Algorithm An interval representation O(n)time A compact interval representation O(n)time P-nodes, Q-nodes and leaves O(n)time An MPQ-tree

  13. Characterization of nodes Theorem • Leaves • Intervals of length 0 • Q-nodes • Overlapped intervals • P-nodes • Other intervals

  14. Order of Sweep • Sweep intervals from left to right • Left endpoints precede right endpoints • When left endpoint, long interval precedes short intervals • When right endpoint, short interval precedes long intervals

  15. 1 2 7 9 8 4 3 5 6 Finding Q-nodes for each endpoint ido ifi is a left endpoint, PUSH(S,i) ifi is a right endpoint, compare the stack top with i if they don’t match, the intervals from the stack top to i on stack belongs to a Q-node 1 5R 5L 6L 6R 3L 4R 4L 8L 9L 8R 3R 9R 2R Q 2, 4 7 7L 2L 7R 3 5 6 1L 1R 8 9 stack S

  16. 1 2, 4 12 9 10 11 3 5 6 1 7 8 2 2, 4 4 12 9 10 11 3 5 6 7 8 Outline of Our Algorithm An interval representation O(n)time A compact interval representation O(n)time P-nodes, Q-nodes and leaves O(n)time An MPQ-tree

  17. Conclusion • New algorithm for MPQ-trees from interval representations • simple • O(n log n) When inputs are sorted, O(n) time (theoretically optimal) Future Works • Applications of MPQ-trees • Enumeration and random generation of interval graphs

More Related