random generation and enumeration of proper interval graphs
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


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
ad