random generation and enumeration of proper interval graphs n.
Download
Skip this Video
Download Presentation
Random Generation and Enumeration of Proper Interval Graphs

Loading in 2 Seconds...

play fullscreen
1 / 26

Random Generation and Enumeration of Proper Interval Graphs - PowerPoint PPT Presentation


  • 47 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Random Generation and Enumeration of Proper Interval Graphs' - ghada


Download Now 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.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 - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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
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

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

our algorithms
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
interval graphs
Interval Graphs
  • Have interval representations
proper interval graphs
Proper Interval Graphs
  • Have unit interval representations

Every interval has the same length

String representations

definition

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

string representation

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

string representation1
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

string representation2
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

string representation3
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

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

string representation5
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

random generation algorithm
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

adjust the generation probability
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

adjust the generation probability1

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

case 1

“(” :

“)” :

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

case 2

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

case 21

“(” :

“)” :

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

simple enumeration algorithm
Simple Enumeration Algorithm

remove

1 edge

  • Huge memory
  • Low speed

Not P.I.G.

Has the obtained graph outputted?

reverse search algorithm
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

( ( ) ( ) () ( ) )

parent child relation
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

( ( ( ( ( ) ) ) ) )

( ( ( ( ) ( ) ) ))

( ( ( ( ) ) ( ) ))

( ( ( ) ( ) ( ) ))

( ( ( ) ) ( ( ) ))

tree n 5
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

( ( ) ( ( )) ( ) )

( ( ( ) ) () ( ) )

( ( ) ( ) () ( ) )

conclusion and future work
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