a practical succinct data structure for tree like graphs
play

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


  1. A Practical Succinct Data Structure for Tree-Like Graphs Johannes Fischer TU Dortmund, Germany joint work with Daniel Peters (PTB Berlin)

  2. leading adj(x,y) neighbours(x) deg(x) terms [bits] � n 2 � lg arbitrary O(1) O(1) O(#in) or O(#out) m

  3. leading adj(x,y) neighbours(x) deg(x) terms [bits] � n 2 � lg arbitrary O(1) O(1) O(#in) or O(#out) m x-page 2m + xn O(x) planar 2(m+n) O(#neighbours) O(1) O(1) triangular 2m+n separable O(n)

  4. leading adj(x,y) neighbours(x) deg(x) terms [bits] � n 2 � lg arbitrary O(1) O(1) O(#in) or O(#out) m x-page 2m + xn O(x) and not planar! planar 2(m+n) O(#neighbours) O(1) O(1) triangular 2m+n separable O(n)

  5. What if …

  6. What if … • … the graph is neither planar/separable/x-page/…

  7. What if … • … the graph is neither planar/separable/x-page/… • …but still “ easy “, in particular not dense?

  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)

  9. leading adj(x,y) neighbours(x) deg(x) terms [bits] � n 2 � lg arbitrary O(1) O(1) O(#in) or O(#out) m k-page 2m + kn O(k) planar 2(m+n) O(#neighbours) O(1) O(1) triangular 2m+n separable O(n) (lg 3)(m+n) tree-like O(1) #out: O(1) O(#in) and O(#out) +k lg n

  10. leading adj(x,y) neighbours(x) deg(x) terms [bits] � n 2 � lg arbitrary O(1) O(1) O(#in) or O(#out) m k-page 2m + kn O(k) planar 2(m+n) O(#neighbours) O(1) O(1) triangular 2m+n separable O(n) (lg 3)(m+n) tree-like O(1) #out: O(1) O(#in) and O(#out) +k lg n k: # non-tree edges

  11. 1 2 4 3 7 8 5 6 9

  12. 1 2 4 3 7 8 5 6 9

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

  14. 0 1 2 4 3 7 8 3 5 6 9 4 2 4

  15. 0 1 2 4 3 7 8 3 5 6 9 4 2 4

  16. 0 10 0 1 1 2 4 3 7 8 3 5 6 9 4 2 4

  17. 0 10 0 1 1 1110 1 2 3 4 2 4 3 7 8 3 5 6 9 4 2 4

  18. 0 10 0 1 1 1110 1 2 3 4 2 4 3 2 4 20110110 3 5 6 7 8 3 7 8 3 5 6 9 4 2 4

  19. 0 10 0 1 1 1110 1 2 3 4 2 4 3 2 4 20110110 3 5 6 7 8 3 5 6 7 8 7 8 1022000 3 5 6 9 4 2 9 4 2 4

  20. 0 10 0 1 1 1110 1 2 3 4 2 4 3 2 4 20110110 3 5 6 7 8 3 5 6 7 8 7 8 1022000 3 5 6 9 4 2 9 20 4 9 4 2 4

  21. 0 1 2 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 2 4

  22. 10111020110110102200020 3 4 2 4

  23. n+m trits 10111020110110102200020 3 4 2 4

  24. n+m trits 10111020110110102200020 3 4 2 4 k log n bits

  25. 0 1 2 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 2 4 1 2 4 3 7 8 Listing 5 6 Successors 9

  26. 0 1 2 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 2 4 1 2 4 3 3 7 8 Listing 5 6 Successors 9

  27. 0 1 2 3 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 2 4 1 2 4 3 3 7 8 Listing 5 6 Successors 9

  28. 0 1 2 3 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 5 6 6 7 8 9 4 2 4 1 2 4 3 3 7 8 Listing 5 6 Successors 9

  29. 0 1 2 3 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 5 6 6 7 8 9 4 2 4 1 2 4 3 3 7 8 Listing 5 5 6 6 Successors 9

  30. 0 1 2 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 2 4 1 2 4 3 7 8 Listing 5 6 Successors 9

  31. 0 1 2 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 2 4 1 2 4 3 7 8 Listing 5 6 6 Successors 9

  32. 0 1 2 3 4 5 6 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 2 4 1 2 4 3 7 8 Listing 5 6 6 Successors 9

  33. 0 1 2 3 4 5 6 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 4 2 2 4 1 2 4 3 7 8 Listing 5 6 6 Successors 9

  34. 0 1 2 3 4 5 6 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 4 2 2 4 1 2 2 4 4 3 7 8 Listing 5 6 6 Successors 9

  35. 0 1 2 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 2 4 1 2 4 3 7 8 Listing 5 6 Successors 9

  36. 0 1 2 3 4 5 6 7 8 9 10111020110110102200020 needs rank 2 1 2 3 4 3 5 6 7 8 9 4 2 4 1 2 4 3 7 8 Listing 5 6 Successors 9

  37. 0 1 2 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 2 4 1 2 4 Listing 3 Predecessors 7 8 5 6 9

  38. 0 1 2 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 2 4 1 2 4 4 Listing 3 Predecessors 7 8 5 6 9

  39. 0 1 2 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 4 3 5 6 7 8 9 4 2 4 1 2 4 4 Listing 3 Predecessors 7 8 5 6 9

  40. 0 1 1 2 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 4 3 5 6 7 8 9 4 2 4 1 2 4 4 Listing 3 Predecessors 7 8 5 6 9

  41. 0 1 1 2 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 4 3 5 6 7 8 9 4 2 4 1 1 2 4 4 Listing 3 Predecessors 7 8 5 6 9

  42. 0 1 2 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 2 4 1 2 4 4 Listing 3 Predecessors 7 8 5 6 9

  43. 0 1 2 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 4 2 4 1 2 4 4 Listing 3 Predecessors 7 8 5 6 9

  44. 0 1 2 3 4 5 6 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 4 2 4 1 2 4 4 Listing 3 Predecessors 7 8 5 6 9

  45. 0 1 2 3 4 5 6 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 4 2 4 1 2 4 4 Listing 3 Predecessors 7 8 5 6 6 9

  46. 0 1 2 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 2 4 1 2 4 4 Listing 3 Predecessors 7 8 5 6 9

  47. 0 1 2 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 2 4 4 1 2 4 4 Listing 3 Predecessors 7 8 5 6 9

  48. 0 1 2 3 4 5 6 7 8 9 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 2 4 4 1 2 4 4 Listing 3 Predecessors 7 8 5 6 9

  49. 0 1 2 3 4 5 6 7 8 9 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 2 4 4 1 2 4 4 Listing 3 Predecessors 7 8 5 6 9 9

  50. 0 1 2 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 2 4 1 2 4 Listing 3 Predecessors 7 8 5 6 9

  51. needs select α 0 1 2 3 4 5 6 7 8 9 10111020110110102200020 ⇒ could be represen- 1 2 3 4 3 5 6 7 8 9 4 2 4 ted as wavelet tree 1 2 4 Listing 3 Predecessors 7 8 5 6 9

  52. Practical Results

  53. Size

  54. Time

  55. Realistic Test: BFS 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 WebGraph: Boldi/Vigna 2004 WebGraph: Claude/Navarro 2010

  56. Realistic Test: BFS sizeGLOUDS m Graph n 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 WebGraph: Boldi/Vigna 2004 WebGraph: Claude/Navarro 2010

  57. 0 1 2 3 4 5 6 7 8 9 10111020110110102200020 1 2 3 4 3 5 6 7 8 9 4 2 4 1 2 4 3 7 8 ! 5 6 t i s ’ t a h T 9

Recommend


More recommend