Simple Efficient Algorithm for MPQ -tree of an Interval Graph

Preview:

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

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 graph

G=(V, E) (|V|=n, |E|=m) Two intervals intersect ⇔

corresponding two vertices are adjacent

1

2

3 4I3

I1

I2

I4

0 1 2 3 4 5 6

Applications of Interval Graphs

bioinformatics scheduling problems

x1: ACGGTTTA

x2: ATCGGAACG

x3: AACGGTTTAC

x4: TTTACGTGGT

DNA sequence

x1 x2

x3 x4

interval graph

ATCGGGAACGGTTTACGTGGTx2

x1x3

x4

interval representation

huge interval representation

Our Problem

Input : An interval representation of an interval graph Output : An MPQ-tree

canonical and compact Isomorphism, (random generation, enumeration)

interval representation MPQ-tree

1

2

3 4

5 6

7 8

9

10 11

12

1

2 2, 4 4

3 5 6

7 8

129

10 11

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

C1 C2

C3 C4

C7

C5 C6

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

1

2 2, 4 4

3 5 6

7 8

12

9

10 11

P-node

P

Are the two interval graphs corresponding to these interval representations isomorphic?

Q-node

1

P

Q

Are the two interval graphs corresponding to these interval representations isomorphic?

Known Algorithms for constructing (M)PQ-trees

1. Korte and MÖhring(1989) Input: a graph representation Output: an MPQ-tree O(n+m) time Many conditional branches

2. 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

23 4

5 67 8

910 11

12

1

2

3

4

5

6

78

910

1112

1

2   2, 4   4

3 5 6

7 8

129

10 11

interval representation

graph representation

MPQ-tree

2 O(n log n) time

O(n+m) space O(n) space

O(n) space

MPQ-tree from interval representation

PQ-treeO(n) space

C1 C2

C3 C4

C5 C6

C7

1 O(n+m) time

1

23 4

5 67 8

910 11

12

1

2

3

4

5

6

78

910

1112

1

2   2, 4   4

3 5 6

7 8

129

10 11

2

MPQ-tree from Interval Representation

C1 C2

C3 C4

C5 C6

C7

1 Our approach

O(n log n) time

interval representation

graph representation

MPQ-tree

O(n+m) space O(n) space

O(n) spacePQ-treeO(n) space

O(n log n) timeO(n+m) time

Outline of Our Algorithm

O(n)time

An interval representation

A compact interval representation

An MPQ-tree

P-nodes, Q-nodes and leaves

7 8

1

3 5 612

9

1011

2 2, 4 4

2, 4

1

3 5 6

7 8

129

1011

O(n)time

O(n)time

Characterization of nodes

Leaves Intervals of length 0

Q-nodes Overlapped intervals

P-nodes Other intervals

Theorem

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

Finding Q-nodes

for each endpoint i doif i is a left endpoint, PUSH(S,i)if i 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

2 L

1 L

stack S

3 LQ

6

2

3

4

5

1

7

8 9

5 L

4 L

6 L

8 L9 L

7 L

2R

1R

3R

5R

4R

6R

8R9R

7R

1

7

3 5 6 8 9

2, 4

Outline of Our Algorithm

O(n)time

An interval representation

A compact interval representation

An MPQ-tree

P-nodes, Q-nodes and leaves

7 8

1

3 5 612

9

1011

2 2, 4 4

2, 4

1

3 5 6

7 8

129

1011

O(n)time

O(n)time

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

Recommended