1 / 58

Compact Encodings of Graphs

Explore the need for compact encodings of graphs and how they can save memory space and transmission costs. Learn about reversible and irreversible encodings and their applications in various domains. Decode and query compact strings efficiently.

dpaula
Download Presentation

Compact Encodings of Graphs

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Compact Encodings of Graphs Shin-ichi Nakano (Gunma Univ.) Gunma

  2. Compact Encodings of Graphs Shin-ichi Nakano (Gunma Univ.) Nagano Olympic 1998 Gunma Tokyo

  3. Compact Encodings of Graphs Shin-ichi Nakano (Gunma Univ.) Nagano Olympic 1998 Gunma Tokyo

  4. Compact Encodings of Graphs Shin-ichi Nakano (Gunma Univ.) なかの ながの Nagano Olympic 1998 Gunma Tokyo

  5. Compact Encodings of Graphs Shin-ichi Nakano (Gunma Univ.) Gunma

  6. Why we need CompactEncodings for Graphs? Although the computation power increase The size of graphs increase more quickly Internet link graph Fine 3D mesh Etc.

  7. reversible Irreversible reversible encoding one can reproduce the original Irreversible encoding one cannot reproduce the original graph spanner remove unimportant edges for Movie Music

  8. reversible Irreversible reversible encoding one can reproduce the originalgraph Irreversible encoding one cannot reproduce the original graph

  9. Compact encoding decode Compactstring 0 0 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 encode save memory space save transmission costs Simple Data Structure ( Adjacency list or Adjacency matrix)

  10. Compact encodingwith Query Support decode Compact string 0 0 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 encode What is the degree of Vertex v4? 5 Simple Data Structure ( Adjacency list or Adjacency matrix) Query save processing time (use only main memory) (no page fault)

  11. Compact Encodings: In this talk I will show you compact encodings for (ordered) Trees Floor plans Triangulations

  12. Compact Encodings: Trees # of ordered trees with n vertices =n-th Catalan number = Ordered trees with 4 vertices ordered = the left-to-right ordering matters

  13. Number of Trees num of vertices num of trees

  14. A lower bound of the length of code If the num of objects is 8 then at least 3 = log 8 bits are needed to encode them we need to assign a different code for each object 000 001 010 011 100 101 110 111

  15. A lower bound of the length Since the num of trees is Cn , at leastlog Cn bits are needed to encode a tree with n vertices log Cn = 2n - o(n)

  16. Compact Encodings: Trees D D U U D U [ [ ] ] [ ] Start D U U D D U Nested parenthsis structure Depth First Traversal 2m bit =2n-2 bit encoding Optimal ( simple & best!) query supporto(n) bit table

  17. Query Jacobson[1989] Munro and Raman[2001] …. …. Rank(x) return the position of node x in preorder Select(i) return the i-th node in preorder Child(x,i) return the i-th child of node x Deg(x) return the num of child nodex of x ….. (see Geary et.al. [2006])(search with keyword “succinct”) O(1) time

  18. Compact Encodings: In this talk I will show you compact encodings for (ordered) Trees Floor plans [Yamanaka & Nakano 2006, 2007] Triangulations

  19. Compact Encodings: Floor plans A floorplan is a plane drawing in which every face is a rectangle Applications VLSI, etc.

  20. Compact Encodings: Floor plans break each SW corner vertex

  21. Compact Encodings: Floor plans break each SW corner vertex

  22. Compact Encodings: Floor plans break each SW corner vertex A tree is derived

  23. Compact Encodings: Floor plans break each SW corner vertex A tree is derived

  24. Compact Encodings: Floor plans break each SW corner vertex A tree is derived add two more vertices at the bottom

  25. Compact Encodings: Floor plans Start Depth First Traversal from the NW corner next ? wall or fence

  26. Compact Encodings: Floor plans Start Depth First Traversal from the NW corner next ?

  27. Compact Encodings: Floor plans Start Always we have only two choices for the next edge

  28. Compact Encodings: Floor plans Start Always we have only two choices for the next edge 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 2m = (3n -4) bit encoding

  29. Compact Encodings: Floor plans Are there morecompact encodings? YES !

  30. More Compact Encodings: Floor plans

  31. More Compact Encodings: Floorplans North West East South

  32. More Compact Encodings: Floorplans

  33. More Compact Encodings: Floorplans Floorplan Rectangular Dual

  34. More Compact Encodings: Floorplans The parent of v is the westmost one among the north neighbor parent of v v Spanning Tree

  35. More Compact Encodings: Floorplans ] [ ] [ ] [[ ] [ ] [[ ]]] [[ ] [ ]] [ ] [

  36. More Compact Encodings: Floorplans 6 1 ] [ 8 ] [ ] [ 11 6 ] [[ ] [ 4 8 ] [[ ]]] [[ 7 12 2 ] [ 9 ]] [ 10 ] [ ] [ 8W 8E 5 3

  37. More Compact Encodings: Floorplans 6 1 ] [ 8 ] [ ] [ 11 6 ] [[ ] [ 4 8 ] [[ ]]] [[ 7 12 2 ] [ 9 ]] [ 10 ] [ ] [ 8W 8E 5 3

  38. More Compact Encodings: Floorplans 1 6 ] [ 6 11 8W 8E ] [ 8 8 4 12 2 7 9 10 5 3 Nested parenthsis structure 1W 2W 3W 3E 2E 4W 5W 5E 4E 6W 7W 7E 8W 9W 9E 8E 10W 10E [ [ ] ] [ [[ ] ] [[ ] ] [ ] [

  39. More Compact Encodings: Floorplans 1 6 ] [ 6 11 8W 8E ] [ 8 8 4 12 2 7 9 10 5 3 Nested parenthsis structure 1W 2W 3W 3E 2E 4W 5W 5E 4E 6W 7W 7E 8W 9W 9E 8E 10W 10E [ [ ] ] [ [[ ] ] [[ ] ] [ ] [

  40. More Compact Encodings: Floorplans 1 6 ] [ 6 11 8W 8E ] [ 8 8 4 12 2 7 9 10 5 3 Nested parenthsis structure 1W 2W 3W 3E 2E 4W 5W 5E 4E 6W 7W 7E 8W 9W 9E 8E 10W 10E [ [ ] ] [ [[ ] ] [[ ] ] [ ] [

  41. More Compact Encodings: Floorplans

  42. More Compact Encodings: Floorplans

  43. More Compact Encodings: Floorplans D U U D Tree DDUUDDUUDDUD….. 2m = 2n -2 bit

  44. More Compact Encodings: Floorplans D U U D Tree Nested parenthsis DDUUDDUUDDUD….. [ []] [[ []] [ [ ] ] [ ] ] ….. 0111101110111101 ….. 2 bit for each edge 2 bit for each edge

  45. More Compact Encodings: Floorplans D U U D Tree Nested parenthsis DDUUDDUUDDUD….. [ []] [[ []] [ [ ] ] [ ] ] ….. 0111101110111101 ….. 2 bit for each edge 2 bit for each edge

  46. More Compact Encodings: Floorplans D U U D Tree Nested parenthsis DDUUDDUUDDUD….. [ []] [[ []] [ [ ] ] [ ] ] ….. 0111101110111101 ….. 2 bit for each edge 2 bit for each edge 0 bit for each edge 5m/3 bit encoding

  47. More Compact Encodings: Floorplans D U U D Tree Nested parenthsis DDUUDDUUDDUD….. [ []] [[ []] [ [ ] ] [ ] ] ….. 0111101110111101 ….. 2 bit for each edge 2 bit for each edge 0 bit for each edge 5m/3 bit encoding query supporto(n) bit table

  48. Compact Encodings: In this talk I will show you compact encodings for (ordered) Trees Floor plans Triangulations [Yamanaka & Nakano 2005]

  49. Compact Encodings: Triangulations

  50. Compact Encodings: Triangulations Realizer: partition of inner edges into 3 trees Green Root to Green Root to Blue Root to Red Root Blue Root Red Root

More Related