580 likes | 593 Views
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.
E N D
Compact Encodings of Graphs Shin-ichi Nakano (Gunma Univ.) Gunma
Compact Encodings of Graphs Shin-ichi Nakano (Gunma Univ.) Nagano Olympic 1998 Gunma Tokyo
Compact Encodings of Graphs Shin-ichi Nakano (Gunma Univ.) Nagano Olympic 1998 Gunma Tokyo
Compact Encodings of Graphs Shin-ichi Nakano (Gunma Univ.) なかの ながの Nagano Olympic 1998 Gunma Tokyo
Compact Encodings of Graphs Shin-ichi Nakano (Gunma Univ.) Gunma
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.
reversible Irreversible reversible encoding one can reproduce the original Irreversible encoding one cannot reproduce the original graph spanner remove unimportant edges for Movie Music
reversible Irreversible reversible encoding one can reproduce the originalgraph Irreversible encoding one cannot reproduce the original graph
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)
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)
Compact Encodings: In this talk I will show you compact encodings for (ordered) Trees Floor plans Triangulations
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
Number of Trees num of vertices num of trees
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
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)
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
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
Compact Encodings: In this talk I will show you compact encodings for (ordered) Trees Floor plans [Yamanaka & Nakano 2006, 2007] Triangulations
Compact Encodings: Floor plans A floorplan is a plane drawing in which every face is a rectangle Applications VLSI, etc.
Compact Encodings: Floor plans break each SW corner vertex
Compact Encodings: Floor plans break each SW corner vertex
Compact Encodings: Floor plans break each SW corner vertex A tree is derived
Compact Encodings: Floor plans break each SW corner vertex A tree is derived
Compact Encodings: Floor plans break each SW corner vertex A tree is derived add two more vertices at the bottom
Compact Encodings: Floor plans Start Depth First Traversal from the NW corner next ? wall or fence
Compact Encodings: Floor plans Start Depth First Traversal from the NW corner next ?
Compact Encodings: Floor plans Start Always we have only two choices for the next edge
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
Compact Encodings: Floor plans Are there morecompact encodings? YES !
More Compact Encodings: Floorplans North West East South
More Compact Encodings: Floorplans Floorplan Rectangular Dual
More Compact Encodings: Floorplans The parent of v is the westmost one among the north neighbor parent of v v Spanning Tree
More Compact Encodings: Floorplans ] [ ] [ ] [[ ] [ ] [[ ]]] [[ ] [ ]] [ ] [
More Compact Encodings: Floorplans 6 1 ] [ 8 ] [ ] [ 11 6 ] [[ ] [ 4 8 ] [[ ]]] [[ 7 12 2 ] [ 9 ]] [ 10 ] [ ] [ 8W 8E 5 3
More Compact Encodings: Floorplans 6 1 ] [ 8 ] [ ] [ 11 6 ] [[ ] [ 4 8 ] [[ ]]] [[ 7 12 2 ] [ 9 ]] [ 10 ] [ ] [ 8W 8E 5 3
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 [ [ ] ] [ [[ ] ] [[ ] ] [ ] [
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 [ [ ] ] [ [[ ] ] [[ ] ] [ ] [
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 [ [ ] ] [ [[ ] ] [[ ] ] [ ] [
More Compact Encodings: Floorplans D U U D Tree DDUUDDUUDDUD….. 2m = 2n -2 bit
More Compact Encodings: Floorplans D U U D Tree Nested parenthsis DDUUDDUUDDUD….. [ []] [[ []] [ [ ] ] [ ] ] ….. 0111101110111101 ….. 2 bit for each edge 2 bit for each edge
More Compact Encodings: Floorplans D U U D Tree Nested parenthsis DDUUDDUUDDUD….. [ []] [[ []] [ [ ] ] [ ] ] ….. 0111101110111101 ….. 2 bit for each edge 2 bit for each edge
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
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
Compact Encodings: In this talk I will show you compact encodings for (ordered) Trees Floor plans Triangulations [Yamanaka & Nakano 2005]
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