Random Generation and Enumeration of Proper Interval Graphs

Download Presentation

Random Generation and Enumeration of Proper Interval Graphs

Loading in 2 Seconds...

- 30 Views
- Uploaded on
- Presentation posted in: General

Random Generation and Enumeration of Proper Interval Graphs

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Random Generation and Enumeration of Proper Interval Graphs

Toshiki Saitoh(JAIST)

Katsuhisa Yamanaka(Univ. Electro-Communi.)

Masashi Kiyomi(JAIST)

Ryuhei Uehara(JAIST)

- 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

- Generation of a string of parentheses
- D.B.Arnold and M.R.Sleep, 1980
- can’t generate P.I.G. uniformly at random

- D.B.Arnold and M.R.Sleep, 1980
- Enumeration of stringsof parentheses
- D.E.Knuth, 2005
- can’t enumerate every P.I.G. in O(1) time

- D.E.Knuth, 2005

Not one-to-one correspondence

constant size of differencesin string

⇔ large size of differences in P.I.G.

- 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

- Have interval representations

- Have unit interval representations

Every interval has the same length

String representations

Unit Interval Representation

- 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

- Sweep the unit interval representation from left to right

- Encodes a unit interval representation by a string

Right endpoints appear in order of their left endpoint appearances

(( ())(()))

(

)

(

(

)

)

(

(

)

)

String Representation

Each number is non-negative

Height = # “(” - # “)”

- 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

- Number of parentheses: 2n

( ( ( ) ) ( ( ) ) )

+1

+1

+1

-1

-1

+1

+1

-1

-1

-1

0

1

2

3

2

1

2

3

2

1

0

Height

0

- 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

- Number of parentheses: 2n

Negative height

( ( ) ) ) (

？

Not correspond to any interval rep..

0

- 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

- Number of parentheses: 2n

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

- Observation 1
- String rep. of connected P. I. G.
- Have exactly 2 places whose heights are 0.
- The left end and the right end

- Have exactly 2 places whose heights are 0.

- String rep. of connected P. I. G.

The string excepted both ends parentheses is non-negative

(

( ( ( ) ) ) ( ( ) ) )

)

0

0

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

- 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

Random Generation Algorithm of Proper Interval Graphs

- Generate a string rep. uniformly at random
- Using a counting algorithm
- (Generalized) Catalan number

- Using a counting algorithm

( ( ( ( ) ) ( ) ( ) ) )

String rep. : Path on the area

0

0

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

Sn: # non-reversible strings

Rn: # reversible strings

String rep.

Non-reversible strings

…

( ( ) ( ( ) ( ) ) )

( ( ( ) ( ) ) ( ) )

…

Case 1

…

Reversible strings

…

( ( ) ( ( ) ) ( ) )

…

Case 2

…

( ( ) ( ( ) ) ( ) )

Uniformly at random

…

“(” :

“)” :

Generalized Catalan Number

- Generation of a string uniformly at random
- Generate parentheses from left
- Select “(” or“)”

- Generate parentheses from left

)

(

(

(

)

( ( (

)

)

)

)

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

Generalized Catalan Number

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

“(” :

“)” :

Generalized Catalan Number

- 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

Enumeration Algorithm of Proper Interval Graphs

remove

1 edge

- Huge memory
- Low speed

Not P.I.G.

Has the obtained graph outputted?

- 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

( ( ) ( ) () ( ) )

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

- Replace the leftmost “)(” of x with “()”

( ( ( ( ( ) ) ) ) )

( ( ( ( ) ( ) ) ))

( ( ( ( ) ) ( ) ))

( ( ( ) ( ) ( ) ))

( ( ( ) ) ( ( ) ))

root

childparent

( ( ( ( ( ) ) ) ) )

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

( ( ) ( ( )) ( ) )

( ( ( ) ) () ( ) )

( ( ) ( ) () ( ) )

- 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