Succinct Representation of Labeled Graphs

Slides:



Advertisements
Similar presentations
1 Succinct Representation of Labeled Graphs Jérémy Barbay, Luca Castelli Aleardi, Meng He, J. Ian Munro.
Advertisements

I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton.
Succinct Representations of Dynamic Strings Meng He and J. Ian Munro University of Waterloo.
Review Binary Search Trees Operations on Binary Search Tree
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Succinct Representation of Balanced Parentheses, Static Trees and Planar Graphs J. Ian Munro & Venkatesh Raman.
Edited by Malak Abdullah Jordan University of Science and Technology Data Structures Using C++ 2E Chapter 12 Graphs.
1st Meeting Industrial Geometry Computational Geometry ---- Some Basic Structures 1st IG-Meeting.
Succinct Indexes for Strings, Binary Relations and Multi-labeled Trees Jérémy Barbay, Meng He, J. Ian Munro, University of Waterloo S. Srinivasa Rao, IT.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity.
Chapter 4: Straight Line Drawing Ronald Kieft. Contents Introduction Algorithm 1: Shift Method Algorithm 2: Realizer Method Other parts of chapter 4 Questions?
Graphs G = (V,E) V is the vertex set. Vertices are also called nodes and points. E is the edge set. Each edge connects two different vertices. Edges are.
Compact Representations of Separable Graphs From a paper of the same title submitted to SODA by: Dan Blandford and Guy Blelloch and Ian Kash.
Graph Operations And Representation. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Mike 66 Sept Succinct Data Structures: Techniques and Lower Bounds Ian Munro University of Waterloo Joint work with/ work of Arash Farzan, Alex Golynski,
Graph. Data Structures Linear data structures: –Array, linked list, stack, queue Non linear data structures: –Tree, binary tree, graph and digraph.
Graphs CS /02/05 Graphs Slide 2 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved Definition.
Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences.
Flow and Upward Planarity
Space Efficient Data Structures for Dynamic Orthogonal Range Counting Meng He and J. Ian Munro University of Waterloo.
© 2006 Pearson Addison-Wesley. All rights reserved14 A-1 Chapter 14 Graphs.
GRAPHS CSE, POSTECH. Chapter 16 covers the following topics Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component,
Summer School '131 Succinct Data Structures Ian Munro.
7.1 and 7.2: Spanning Trees. A network is a graph that is connected –The network must be a sub-graph of the original graph (its edges must come from the.
Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin.
 What is a graph? What is a graph?  Directed vs. undirected graphs Directed vs. undirected graphs  Trees vs graphs Trees vs graphs  Terminology: Degree.
Succinct Orthogonal Range Search Structures on a Grid with Applications to Text Indexing Prosenjit Bose, Carleton University Meng He, Unversity of Waterloo.
Succinct Data Structures Ian Munro University of Waterloo Joint work with David Benoit, Andrej Brodnik, D, Clark, F. Fich, M. He, J. Horton, A. López-Ortiz,
Compact Encodings of Graphs Shin-ichi Nakano (Gunma Univ.) Gunma.
Basic Notions on Graphs. The House-and-Utilities Problem.
Computer Science: A Structured Programming Approach Using C Graphs A graph is a collection of nodes, called vertices, and a collection of segments,
1 12/2/2015 MATH 224 – Discrete Mathematics Formally a graph is just a collection of unordered or ordered pairs, where for example, if {a,b} G if a, b.
Succinct Ordinal Trees Based on Tree Covering Meng He, J. Ian Munro, University of Waterloo S. Srinivasa Rao, IT University of Copenhagen.
Graphs A graphs is an abstract representation of a set of objects, called vertices or nodes, where some pairs of the objects are connected by links, called.
Graphs Slide credits:  K. Wayne, Princeton U.  C. E. Leiserson and E. Demaine, MIT  K. Birman, Cornell U.
Data Structures & Algorithms Graphs Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
GRAPHS. Graph Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component, spanning tree Types of graphs: undirected,
Discrete Structures CISC 2315 FALL 2010 Graphs & Trees.
Vertex orderings Vertex ordering.
1) Find and label the degree of each vertex in the graph.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Various Orders and Drawings of Plane Graphs Takao Nishizeki Tohoku University.
N u 1 u 2 u Canonical Decomposition. V 8 V 7 V 6 V 5 V 4 V 3 V 2 V 1 n u 1 u 2 u.
1 Schnyder’s Method. 2 Motivation Given a planar graph, we want to embed it in a grid We want the grid to be relatively small And we want an efficient.
Lecture 5 Graph Theory prepped by Lecturer ahmed AL tememe 1.
Succinct Data Structures
Graphs Lecture 19 CS2110 – Spring 2013.
Lecture 11 Graph Algorithms
Great Theoretical Ideas In Computer Science
LaBRI, Université Bordeaux I
PC trees and Circular One Arrangements
Space-efficient graph algorithms
Graph Theory.
Graphs Chapter 13.
Graph Operations And Representation
CC 215 Data Structures Graph Terminology
CSE 373 Data Structures Lecture 17
Chapter 14 Graphs © 2006 Pearson Addison-Wesley. All rights reserved.
Vertex orderings.
Graphs By Rajanikanth B.
Graphs G = (V, E) V are the vertices; E are the edges.
Graph Terminology CSE 373 Data Structures.
Succinct Data Structures
Lecture 10 Graph Algorithms
CSE 373 Data Structures Lecture 13
Binhai Zhu Computer Science Department, Montana State University
GRAPHS.
Presentation transcript:

Succinct Representation of Labeled Graphs Jérémy Barbay, Luca Castelli Aleardi, Meng He, J. Ian Munro

Background: Succinct Data Structures What are succinct data structures Representing data structures using ideally information-theoretic minimum space Supporting efficient navigational operations Jacobson 1989 Why succinct data structures Large data sets in modern applications: textual, genomic, spatial or geometric An implementation: Delpratt et al. 2006

Motivations and Objectives Initial Problem: representing unlabeled graphs succinctly Connectivity information: degree, neighbors, adjacency Jacobson 89, Munro and Raman 97, Chuang et al. 98, Chiang et al. 01, Castelli Aleardi et al. 05 & 06 New Problem: representing labeled graphs succinctly Properties of an object is often modeled as labels on vertices or edges Label-based queries

Planar Triangulations Planar Triangulations: A planar graph whose faces are all triangles Applications: computer graphics, computational geometry

An Example: Terrain and Triangulations Geometric Modeling and Computer Graphics Research Groups, University of Genova

Planar Triangulations and Realizers Planar Triangulation T Number of vertices: n; number of edges: m External face: (v0, v1, vn-1) Realizer (Schnyder 1990) A partition of the set of internal edges into three set of directed edges T0, T1, T2 the edges incident to any internal vertex v in ccw order are: one outgoing edge in T0, zero or more incoming edges in T2, one outgoing edges in T1, zero or more incoming edges in T0, one outgoing edge in T2 and zero or more incoming edges in T1

Planar Triangulations and Realizers (Continued) Property T0 is a spanning tree of T / {v1, vn-1} T1 is a spanning tree of T / {v0, vn-1} T2 is a spanning tree of T / {v0, v1} Canonical spanning tree T0 T0 with edges (v0, v1) and (v0, vn-1) Canonical Ordering

Realizer: An Example T2 T0 T1

Three Traversal Orders on a Planar Triangulations π2 T2 1 2 3 4 5 6 7 8 9 10 11 4 3 2 6 5 10 9 8 7 1 7 9 1 8 2 6 5 4 3 π0 π1 T0 T1

Operations on Unlabeled Planar Triangulations Old operations adjacency Degree New operations select_neighbor_ccw(x, y, r): the rth neighbor of x staring from y in ccw order if x and y are adjacent rank_neighbor_ccw(x, y, z): the number of neighbors of vertex x between y and z in ccw order if y and z are neighbors of x Conversions between the numbers of vertices under π0, π1 and π2

Succinct Representation of Unlabeled Planar Triangulations Observation For any node x, its children in T1 (or T2), listed in ccw (or cw) order, have consecutive numbers in π1 or π2 Approach Represent T0, T1 and T2 using different types of parentheses in orders π0, π1 and π2, respectively Combine the three sequences into a multiple parenthesis sequence Results Space: 2m log26 + o(m) bits Time: O(1)

Succinct Unlabeled Planar Triangulations: An Example 1 2 3 4 5 6 7 8 9 10 11 adjacency(4,6) =true degree(6) =8 rank_neighbor_ccw(4, 5, 1) =3 π0 π1 T0 T1 ( ( [ [ [ [ ) ( ] ( ] ( ] { [ [ ) { ) ( } ] { ) ( } ] { [ [ [ [ ) … 0 1 1 2 3 4 4 3 5 5 6 6 …

Vertex Labeled Planar Triangulations Notion Number of labels: σ Number of vertex-label pairs: t Operations lab_degree(α,x): number of neighbors of vertex x associated with label α lab_select_ccw(α,x,y,r): rth vertex labeled α among neighbors of vertex x after vertex y in ccw order if y is a neighbor of x lab_rank_ccw(α,x,y,z) : number of neighbors of vertex x labeled α between vertices y and z in ccw order if y and z are neighbors of x

Vertex Labeled Planar Triangulations: An Example {b,c} 1 2 3 4 5 6 7 8 9 10 11 lab_degree(a,5) =3 lab_select_ccw(c,6,4,2) =5 lab_rank_ccw(b,6,10,5) =4 {a,b} {a,b} {b} {b} {a} {c} {b} {a,c} {a,b} {a,b,c} {c}

Succinct Index for Vertex Labeled Triangulations ADT node_label: f(n, σ, t) time Succinct Index Space: t∙o(lg σ) bits Time: O((lg lg lg σ)2(f(n, σ, t)+lglg σ) time for lab_degree, lab_select_ccw and lab_rank_ccw

Succinct Representation of vertex labeled planar triangulations Space: t lg σ+t∙o(lg σ) bits Time: node_label : O(1) lab_degree, lab_select_ccw and lab_rank_ccw : O((lg lg lg σ)2lglg σ)

Edge Labeled k-Page Graphs Notion Number of labels: σ Number of edge-label pairs: t Operations lab_adjacency(α,x,y): whether there is an edge labeled α between vertices x and y lab_degree_edge(α,x): the number of edges of vertex x that are labeled α lab_edges(α,x): the edges of vertex x that are labeled α

Edge Labeled k-Page Graphs Results Space: kn + t(lg σ + o(lg σ)) bits Time: lab_adjacency and lab_degree_edge: O(k lglg σ(lg lg lg σ)2) lab_edges: O(d lglg σ lg lg lg σ+k) , where d is the number of such edges

More Results Succinct representation of unlabeled k-page graphs for large k Succinct representation of edge Labeled k-page graphs for large k The results on edge labeled k-page graphs also apply to edge labeled planar graphs (k = 4)

Conclusions Summary Subsequent Work and Open Problems First succinct representations of labeled graphs Two preliminary results on succinct representations of unlabeled graphs Subsequent Work and Open Problems Edge labeled planar triangulations (done) Vertex labeled k-page graphs

Thank you!