A Practical Succinct Data Structure for Tree-Like Graphs Johannes - - PowerPoint PPT Presentation

a practical succinct data structure for tree like graphs
SMART_READER_LITE
LIVE PREVIEW

A Practical Succinct Data Structure for Tree-Like Graphs Johannes - - PowerPoint PPT Presentation

A Practical Succinct Data Structure for Tree-Like Graphs Johannes Fischer TU Dortmund, Germany joint work with Daniel Peters (PTB Berlin) leading adj(x,y) neighbours(x) deg(x) terms [bits] n 2 lg arbitrary O(1) O(1) O(#in) or


slide-1
SLIDE 1

A Practical Succinct Data Structure for Tree-Like Graphs

Johannes Fischer TU Dortmund, Germany joint work with Daniel Peters (PTB Berlin)

slide-2
SLIDE 2

leading terms [bits] adj(x,y) neighbours(x) deg(x) arbitrary O(1)

O(#in) or O(#out)

O(1)

lg n2 m

slide-3
SLIDE 3

leading terms [bits] adj(x,y) neighbours(x) deg(x) arbitrary O(1)

O(#in) or O(#out)

O(1) x-page 2m + xn O(x) O(#neighbours) O(1) planar 2(m+n) O(1) triangular 2m+n separable O(n)

lg n2 m

slide-4
SLIDE 4

leading terms [bits] adj(x,y) neighbours(x) deg(x) arbitrary O(1)

O(#in) or O(#out)

O(1) x-page 2m + xn O(x) O(#neighbours) O(1) planar 2(m+n) O(1) triangular 2m+n separable O(n)

lg n2 m

  • and not planar!
slide-5
SLIDE 5

What if …

slide-6
SLIDE 6

What if …

  • … the graph is neither

planar/separable/x-page/…

slide-7
SLIDE 7

What if …

  • … the graph is neither

planar/separable/x-page/…

  • …but still “easy“, in

particular not dense?

slide-8
SLIDE 8

What if …

  • … the graph is neither

planar/separable/x-page/…

  • …but still “easy“, in

particular not dense?

  • ⇒ adjacency array ??


(m lg n + n lg m bits)

slide-9
SLIDE 9

leading terms [bits] adj(x,y) neighbours(x) deg(x) arbitrary O(1)

O(#in) or O(#out)

O(1) k-page 2m + kn O(k) O(#neighbours) O(1) planar 2(m+n) O(1) triangular 2m+n separable O(n) tree-like (lg 3)(m+n) +k lg n O(1)

O(#in) and O(#out)

#out: O(1)

lg n2 m

slide-10
SLIDE 10

leading terms [bits] adj(x,y) neighbours(x) deg(x) arbitrary O(1)

O(#in) or O(#out)

O(1) k-page 2m + kn O(k) O(#neighbours) O(1) planar 2(m+n) O(1) triangular 2m+n separable O(n) tree-like (lg 3)(m+n) +k lg n O(1)

O(#in) and O(#out)

#out: O(1)

lg n2 m

  • k: #non-tree edges
slide-11
SLIDE 11

1 3 2 4 5 6 7 8 9

slide-12
SLIDE 12

1 3 2 4 5 6 7 8 9

slide-13
SLIDE 13

1 3 2 4 5 6 7 8 9 3 4 2 4

slide-14
SLIDE 14

1 3 2 4 5 6 7 8 9 3 4 2 4

slide-15
SLIDE 15

1 3 2 4 5 6 7 8 9 3 4 2 4

slide-16
SLIDE 16

1 3 2 4 5 6 7 8 9 3 4 2 4

10

1

slide-17
SLIDE 17

1 3 2 4 5 6 7 8 9 3 4 2 4

10 1110

1 1 2 3 4

slide-18
SLIDE 18

1 3 2 4 5 6 7 8 9 3 4 2 4

10 1110 20110110

1 1 2 3 4 2 3 5 6 3 7 8 4

slide-19
SLIDE 19

1 3 2 4 5 6 7 8 9 3 4 2 4

10 1110 20110110 1022000

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 6 7 8

slide-20
SLIDE 20

1 3 2 4 5 6 7 8 9 3 4 2 4

10 1110 20110110 1022000 20

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 7 8 9

slide-21
SLIDE 21

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 7 8 9

slide-22
SLIDE 22

10111020110110102200020

3 4 2 4

slide-23
SLIDE 23

10111020110110102200020

3 4 2 4

n+m trits

slide-24
SLIDE 24

10111020110110102200020

3 4 2 4

n+m trits k log n bits

slide-25
SLIDE 25

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9

1 3 2 4 5 6 7 8 9

7 8

Listing Successors

slide-26
SLIDE 26

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9

1 3 2 4 5 6 7 8 9 3

7 8

Listing Successors

slide-27
SLIDE 27

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9

1 3 2 4 5 6 7 8 9 3

3 7 8

Listing Successors

slide-28
SLIDE 28

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9

1 3 2 4 5 6 7 8 9 3

3 5 6 7 8

Listing Successors

slide-29
SLIDE 29

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9

1 3 2 4 5 6 7 8 9 3

3

6 5

5 6 7 8

Listing Successors

slide-30
SLIDE 30

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9

1 3 2 4 5 6 7 8 9

7 8

Listing Successors

slide-31
SLIDE 31

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9

1 3 2 4 5 6 7 8 9 6

7 8

Listing Successors

slide-32
SLIDE 32

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9

1 3 2 4 5 6 7 8 9

6

6

7 8

Listing Successors

slide-33
SLIDE 33

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9

1 3 2 4 5 6 7 8 9

6

6

4 2 7 8

Listing Successors

slide-34
SLIDE 34

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9

1 3 2 4 5 6 7 8 9

6

6

4 2

2 4

7 8

Listing Successors

slide-35
SLIDE 35

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9

1 3 2 4 5 6 7 8 9

7 8

Listing Successors

slide-36
SLIDE 36

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9

1 3 2 4 5 6 7 8 9

7 8

Listing Successors

needs rank2

slide-37
SLIDE 37

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9

1 3 2 4 5 6 7 8 9

Listing Predecessors

2 7 8

slide-38
SLIDE 38

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9

1 3 2 4 5 6 7 8 9

Listing Predecessors

4

2 7 8

slide-39
SLIDE 39

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9

1 3 2 4 5 6 7 8 9

Listing Predecessors

4

4 2 7 8

slide-40
SLIDE 40

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9

1 3 2 4 5 6 7 8 9

Listing Predecessors

4

4 1 2 7 8

slide-41
SLIDE 41

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9

1 3 2 4 5 6 7 8 9

Listing Predecessors

4

4 1

1

2 7 8

slide-42
SLIDE 42

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9

1 3 2 4 5 6 7 8 9

Listing Predecessors

4

2 7 8

slide-43
SLIDE 43

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9

1 3 2 4 5 6 7 8 9

Listing Predecessors

4

4 2 7 8

slide-44
SLIDE 44

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9

1 3 2 4 5 6 7 8 9

Listing Predecessors

4

4 2 6 7 8

slide-45
SLIDE 45

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9

1 3 2 4 5 6 7 8 9

Listing Predecessors

4

4 2 6

6

7 8

slide-46
SLIDE 46

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9

1 3 2 4 5 6 7 8 9

Listing Predecessors

4

2 7 8

slide-47
SLIDE 47

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9

1 3 2 4 5 6 7 8 9

Listing Predecessors

4

2 7 8 4

slide-48
SLIDE 48

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9

1 3 2 4 5 6 7 8 9

Listing Predecessors

4

2 7 8 4 9

slide-49
SLIDE 49

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9

1 3 2 4 5 6 7 8 9

Listing Predecessors

4

2 7 8 4 9

9

slide-50
SLIDE 50

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9

1 3 2 4 5 6 7 8 9

Listing Predecessors

2 7 8

slide-51
SLIDE 51

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9

1 3 2 4 5 6 7 8 9

Listing Predecessors

2 7 8

needs selectα

⇒ could be represen- ted as wavelet tree

slide-52
SLIDE 52

Practical Results

slide-53
SLIDE 53

Size

slide-54
SLIDE 54

Time

slide-55
SLIDE 55

Realistic Test: BFS

WebGraph: Boldi/Vigna 2004 WebGraph: Claude/Navarro 2010

Graph Space [MByte] Time for BFT [sec] GLOUDS WebGraph GLOUDS WebGraph amazon-2008 8.551 13.654 0.95 0.86 cnr-2000 3.069 2.765 0.36 0.63 in-2004 15.813 11.231 1.60 1.59 uk-2002 324.108 187.494 32.04 22.96 enwiki-2013 208.896 322.257 5.58 12.57 dblp-2010 0.992 1.752 0.36 0.54 dblp-2011 5.348 8.501 1.18 1.26 hollywood-2011 202.991 18.532 2.59 14.37

slide-56
SLIDE 56

Realistic Test: BFS

WebGraph: Boldi/Vigna 2004 WebGraph: Claude/Navarro 2010

Graph

m n sizeGLOUDS sizeWebGraph

amazon-2008 7.015 0.626 cnr-2000 9.879 1.109 in-2004 12.232 1.408 uk-2002 16.096 1.728 enwiki-2013 24.093 0.648 dblp-2010 4.952 0.566 dblp-2011 6.800 0.628 hollywood-2011 105.003 10.95

slide-57
SLIDE 57

10111020110110102200020

1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9

1 3 2 4 5 6 7 8 9

7 8

T h a t ’ s i t !