180 likes | 375 Views
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
E N D
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 • 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
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
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
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
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
P-node • Are the two interval graphs corresponding to these interval representations isomorphic? P
Q-node • Are the two interval graphs corresponding to these interval representations isomorphic? P Q 1
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
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
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
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
Characterization of nodes Theorem • Leaves • Intervals of length 0 • Q-nodes • Overlapped intervals • P-nodes • Other intervals
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
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
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
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