I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton.

Slides:



Advertisements
Similar presentations
한양대학교 정보보호 및 알고리즘 연구실 이재준 담당교수님 : 박희진 교수님
Advertisements

Visible-Surface Detection(identification)
1 DATA STRUCTURES USED IN SPATIAL DATA MINING. 2 What is Spatial data ? broadly be defined as data which covers multidimensional points, lines, rectangles,
Lower Bounds for Local Search by Quantum Arguments Scott Aaronson.
Answering Approximate Queries over Autonomous Web Databases Xiangfu Meng, Z. M. Ma, and Li Yan College of Information Science and Engineering, Northeastern.
Turing Machines January 2003 Part 2:. 2 TM Recap We have seen how an abstract TM can be built to implement any computable algorithm TM has components:
Chapter 5: Tree Constructions
Graph Algorithms Algorithm Design and Analysis Victor AdamchikCS Spring 2014 Lecture 11Feb 07, 2014Carnegie Mellon University.
Weighted Matching-Algorithms, Hamiltonian Cycles and TSP
Multi-Guarded Safe Zone: An Effective Technique to Monitor Moving Circular Range Queries Presented By: Muhammad Aamir Cheema 1 Joint work with Ljiljana.
I/O-Algorithms Lars Arge Spring 2012 April 17, 2012.
Compressing Forwarding Tables Ori Rottenstreich (Technion, Israel) Joint work with Marat Radan, Yuval Cassuto, Isaac Keslassy (Technion, Israel) Carmi.
The Capacity of Wireless Networks
1 Succinct Representation of Labeled Graphs Jérémy Barbay, Luca Castelli Aleardi, Meng He, J. Ian Munro.
Scalable and Dynamic Quorum Systems Moni Naor & Udi Wieder The Weizmann Institute of Science.
Problems and Their Classes
1 Motion and Manipulation Configuration Space. Outline Motion Planning Configuration Space and Free Space Free Space Structure and Complexity.
1 On c-Vertex Ranking of Graphs Yung-Ling Lai & Yi-Ming Chen National Chiayi University Taiwan.
February 12, 2007 WALCOM '2007 1/22 DiskTrie: An Efficient Data Structure Using Flash Memory for Mobile Devices N. M. Mosharaf Kabir Chowdhury Md. Mostofa.
Choosing an Order for Joins
1/22 Worst and Best-Case Coverage in Sensor Networks Seapahn Meguerdichian, Farinaz Koushanfar, Miodrag Potkonjak, and Mani Srivastava IEEE TRANSACTIONS.
From Approximative Kernelization to High Fidelity Reductions joint with Michael Fellows Ariel Kulik Frances Rosamond Technion Charles Darwin Univ. Hadas.
Planar Graphs: Coloring and Drawing
1 A Graph-Theoretic Network Security Game M. Mavronicolas , V. Papadopoulou , A. Philippou  and P. Spirakis § University of Cyprus, Cyprus  University.
Succinct Representations of Dynamic Strings Meng He and J. Ian Munro University of Waterloo.
Succinct Data Structures for Permutations, Functions and Suffix Arrays
13-Optimization Assoc.Prof.Dr. Ahmet Zafer Şenalp Mechanical Engineering Department Gebze Technical.
Evaluating “find a path” reachability queries P. Bouros 1, T. Dalamagas 2, S.Skiadopoulos 3, T. Sellis 1,2 1 National Technical University of Athens 2.
Yang Yang, Miao Jin, Hongyi Wu Presenter: Buri Ban The Center for Advanced Computer Studies (CACS) University of Louisiana at Lafayette 3D Surface Localization.
Convex drawing chapter 5 Ingeborg Groeneweg. Summery What is convex drawing What is convex drawing Some definitions Some definitions Testing convexity.
I/O-Algorithms Lars Arge Fall 2014 September 25, 2014.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Compact and Low Delay Routing Labeling Scheme for Unit Disk Graphs Chenyu Yan, Yang Xiang, and Feodor F. Dragan (WADS 2009) Kent State University, Kent,
Edited by Malak Abdullah Jordan University of Science and Technology Data Structures Using C++ 2E Chapter 12 Graphs.
Data Structure and Algorithms (BCS 1223) GRAPH. Introduction of Graph A graph G consists of two things: 1.A set V of elements called nodes(or points or.
Polynomial Time Approximation Schemes Presented By: Leonid Barenboim Roee Weisbert.
Applied Combinatorics, 4th Ed. Alan Tucker
Atomic Volumes for Mesh Completion Joshua Podolak Szymon Rusinkiewicz Princeton University.
Query Processing in Databases Dr. M. Gavrilova.  Introduction  I/O algorithms for large databases  Complex geometric operations in graphical querying.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Lists A list is a finite, ordered sequence of data items. Two Implementations –Arrays –Linked Lists.
I/O-Algorithms Lars Arge Spring 2009 March 3, 2009.
1 University of Denver Department of Mathematics Department of Computer Science.
Compact Representations of Separable Graphs From a paper of the same title submitted to SODA by: Dan Blandford and Guy Blelloch and Ian Kash.
Delaunay Triangulations Presented by Glenn Eguchi Computational Geometry October 11, 2001.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
Mike 66 Sept Succinct Data Structures: Techniques and Lower Bounds Ian Munro University of Waterloo Joint work with/ work of Arash Farzan, Alex Golynski,
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Space Efficient Data Structures for Dynamic Orthogonal Range Counting Meng He and J. Ian Munro University of Waterloo.
Algorithms  Al-Khwarizmi, arab mathematician, 8 th century  Wrote a book: al-kitab… from which the word Algebra comes  Oldest algorithm: Euclidian algorithm.
GRAPH SPANNERS by S.Nithya. Spanner Definition- Informal A geometric spanner network for a set of points is a graph G in which each pair of vertices is.
Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin.
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,
Lecture 19 Greedy Algorithms Minimum Spanning Tree Problem.
Data Structures & Algorithms Graphs
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
Succinct Ordinal Trees Based on Tree Covering Meng He, J. Ian Munro, University of Waterloo S. Srinivasa Rao, IT University of Copenhagen.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University.
Laura TomaSimplified External memory Algorithms for Planar DAGs Simplified External Memory Algorithms for Planar DAGs July 2004 Lars Arge Laura Toma Duke.
Implicit Representation of Graphs Paper by Sampath Kannan, Moni Naor, Steven Rudich.
February 17, 2005Lecture 6: Point Location Point Location (most slides by Sergi Elizalde and David Pritchard)
Parameter Reduction for Density-based Clustering on Large Data Sets Elizabeth Wang.
Chapter 11. Chapter Summary  Introduction to trees (11.1)  Application of trees (11.2)  Tree traversal (11.3)  Spanning trees (11.4)
Da Yan (HKUST) James Cheng (CUHK) Wilfred Ng (HKUST) Steven Liu (HKUST)
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
Tucker, Applied Combinatorics, Sec 2.4
Succinct Representation of Labeled Graphs
Minimum Spanning Trees
Presentation transcript:

I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton University Norbert Zeh, Dalhousie University

Background: Succinct Data Structures  What are succinct data structures (Jacobson 1989) Representing data structures using ideally information-theoretic minimum space Supporting efficient navigational operations  Why succinct data structures Large data sets in modern applications: textual, genomic, spatial or geometric

Background: External Memory Model  Parameters N: number of elements in the problem instance M: size of the internal memory B: size of a disk block  Cost: number of I/O’s (block transfers) between internal memory and external memory Aggarwal and Vitter 1988 CPU Internal Memory Block External Memory

Our Contributions  Our goal is to design data structures that are both succinct and efficient in the External Memory setting  Our results A succinct representation of bounded-degree planar graphs that supports I/O-efficient path traversal A succinct representation of triangulated terrains that supports various geometric queries

Notation  N: number of vertices of the given graph G  d: maximum degree of vertices  q: number of bits required to encode the key of each vertex  K: the length of the path

Two-Level Partition  A tool: graph separator (Frederickson 1987) Size of each subgraph (region): r Number of regions: Θ(N/r) Number of boundary vertices: O(N/(r 1/2 ))  Two-level partition Subdivide G into regions of fixed maximum size Subdivide each region into sub-regions of smaller fixed maximum size  Types of vertices for each region / subregion Interior vertices Boundary vertices

α-Neighbourhood  Definition Beginning with a given vertex v, we perform a breadth-first search in G and select the first α vertices encountered The α-neighbourhood of v is the subgraph of G induced by these vertices Internal and terminal vertices  Property: The distance between v and any terminal vertex in its α- neighbourhood is at least log d α  In our representation, we store α-neighbourhood of each boundary vertex. If a sub-region boundary vertex is interior to a region, we add an additional constraint that its α-neighbourhood cannot be extended beyond the region

Overview of Labeling Scheme  Labels at three levels for the same vertex Graph-label (unique) Region-label (one or more) Subregion-label (one or more)  Assign the labels for bottom up

Sub-Region Labels  Encoding subregion R i,j using any succinct representation for planar graphs  This induces a permutation of the vertices in R i,j  Subregion-label: the k th vertex in the above permutation has subregion-label k in R i,j

Region-Labels and Graph-Labels 1, 2, 3, 4, 5, 61, 2, 3, 4, 51, 2, 3, 4, 5, 6, 7 R 1,1 R 1,2 R 1,3 R1R1 1, 2, 3, 4, 5, 6 7, 8, 9, 10, 11, 12,13,14,15 … The assignment of graph-labels are similar Succinct structures of o(n) bits are constructed to support conversion between labels at different levels in O(1) I/O’s

Data Structures  Denote by A the maximum number of vertices that may be stored in a block, and this is our maximum sub-region size  Choose Alg 3 N to be the maximum size of each region  We only encode sub-regions and α-neighbourhoods of boundary vertices as components  Encode the graph structure of each component in a succinct fashion  Information is encoded so that we can retrieve the graph labels of the internal vertices in an α-neighbourhood without requiring additional I/O’s

Space Analysis  We assume B = Ω(lg N)  A = (B lg N) / (c + q) c: number of bits per vertex required to the sub-graph structure and boundary bit vector  Choose α = A 1/3  Intuitively, our structures are space-efficient because: Region boundary vertices are few enough, so that information such as the graph labels of the vertices in their α- neighbourhoods do not occupy too much space The number of sub-region boundary vertices is larger, but information such as region-labels uses fewer bits (lg (Alg 3 N))  Total space: O(N) + Nq + o(Nq) bits

Traversal Algorithm  Load either a sub-region or the α-neighbourhood of a boundary vertex  Traverse the above component until a boundary/terminal vertex is encountered  Load the next component from external memory and traversal continues

I/O Efficiency  Observations When encountering a terminal/boundary vertex, the next component can be loaded in O(1) I/O’s Given a component, the graph labels of all interior/internal vertices can be reported without incurring any additional I/O’s By loading a constant number of components, we can visit Ω(lg B) vertices along the path  I/O complexity: O(K / lg B)

Main Result  A succinct representation of bounded- degree planar graph: Space: O(N) + Nq + o(Nq) bits I/O complexity for path traversal: O(K / lg B)

Terrains Modeled as Triangular- Irregular Network  Notation N: number of points Φ: number of bits required to store the coordinates of each point  Space: NΦ + O(N) + o(NΦ) bits  I/O complexity: Reporting a path crossing K faces: O(K / lg B)

Queries on Triangulated Terrains  Point location: O(log B N) I/O’s  Terrain profile: O(K / lg B) I/O’s  Trickle path: O(K / lg B) I/O’s  Connected component O(K / lg B) I/O’s if the component is convex Can be generalized to components that are not convex, though the result is more complex

Conclusions  We designed a succinct representation of bounded-degree planar graphs that supports I/O-efficient path traversal, and applied this to terrains modeled as TIN to support queries  This provides solutions to modern applications that process very large data  Future work: combining succinct data structures and external memory data structures for other problems

Thank you!