Wolfgang Mulzer Institut f ür Informatik Data Structures on Event Graphs Bernard ChazelleWolfgang Mulzer FU Berlin Princeton University.

Slides:



Advertisements
Similar presentations
Lower Bounds for Local Search by Quantum Arguments Scott Aaronson.
Advertisements

Solving problems by searching
Algorithms (and Datastructures) Lecture 3 MAS 714 part 2 Hartmut Klauck.
Size-estimation framework with applications to transitive closure and reachability Presented by Maxim Kalaev Edith Cohen AT&T Bell Labs 1996.
1 Union-find. 2 Maintain a collection of disjoint sets under the following two operations S 3 = Union(S 1,S 2 ) Find(x) : returns the set containing x.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
One of the most important problems is Computational Geometry is to find an efficient way to decide, given a subdivision of E n and a point P, in which.
Fractional Cascading CSE What is Fractional Cascading anyway? An efficient strategy for dealing with iterative searches that achieves optimal.
Information Dissemination in Highly Dynamic Graphs Regina O’Dell Roger Wattenhofer.
Optimal Planar Point Enclosure Indexing Lars Arge, Vasilis Samoladas and Ke Yi Department of Computer Science Duke University Technical University of Crete.
© 2006 Pearson Addison-Wesley. All rights reserved14 A-1 Chapter 14 Graphs.
1 Algorithms for Large Data Sets Ziv Bar-Yossef Lecture 8 May 4, 2005
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
CS728 Lecture 16 Web indexes II. Last Time Indexes for answering text queries –given term produce all URLs containing –Compact representations for postings.
Lower and Upper Bounds on Obtaining History Independence Niv Buchbinder and Erez Petrank Technion, Israel.
Analysis of Algorithms CS 477/677
CSE 421 Algorithms Richard Anderson Lecture 4. What does it mean for an algorithm to be efficient?
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Chapter 11: Limitations of Algorithmic Power
Complexity 1 Mazes And Random Walks. Complexity 2 Can You Solve This Maze?
CS 326A: Motion Planning Basic Motion Planning for a Point Robot.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
CSE 373, Copyright S. Tanimoto, 2002 Up-trees - 1 Up-Trees Review of the UNION-FIND ADT Straight implementation with Up-Trees Path compression Worst-case.
Finding a maximum independent set in a sparse random graph Uriel Feige and Eran Ofek.
Solving problems by searching
A General Approach to Online Network Optimization Problems Seffi Naor Computer Science Dept. Technion Haifa, Israel Joint work: Noga Alon, Yossi Azar,
Fractional Cascading and Its Applications G. S. Lueker. A data structure for orthogonal range queries. In Proc. 19 th annu. IEEE Sympos. Found. Comput.
AALG, lecture 11, © Simonas Šaltenis, Range Searching in 2D Main goals of the lecture: to understand and to be able to analyze the kd-trees and.
Packing Element-Disjoint Steiner Trees Mohammad R. Salavatipour Department of Computing Science University of Alberta Joint with Joseph Cheriyan Department.
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
Rubao Ji Advisor: Dr. Robert W. Robinson Committee: Dr. E. Rodney Canfield Dr. Daniel M. Everett   Dynamic connectivity algorithms for Feynman.
Approximating the MST Weight in Sublinear Time Bernard Chazelle (Princeton) Ronitt Rubinfeld (NEC) Luca Trevisan (U.C. Berkeley)
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
Simple Efficient Algorithm for MPQ-tree of an Interval Graph Toshiki SAITOH Masashi KIYOMI Ryuhei UEHARA Japan Advanced Institute of Science and Technology.
Multiple-Source Shortest Paths in Planar Graphs Allowing Negative Lengths Philip Klein Brown University.
Basics Set systems: (X,F) where F is a collection of subsets of X. e.g. (R 2, set of half-planes) µ: a probability measure on X e.g. area/volume is a.
Problems and MotivationsOur ResultsTechnical Contributions Membership: Maintain a set S in the universe U with |S| ≤ n. Given an x in U, answer whether.
Homework remarking requests BEFORE submitting a remarking request: a)read and understand our solution set (which is posted on the course web site) b)read.
1 Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples: b number of comparisons needed to find the.
Discrete Structures Lecture 12: Trees Ji Yanyan United International College Thanks to Professor Michael Hvidsten.
A Worst Case, Constant Time Priority Queue: Beating a Lower Bound Ian Munro University of Waterloo Joint work with Andrej Brodnik (Ljubljana & Luleå) Svante.
Lecture X Disjoint Set Operations
Markov Chains and Random Walks. Def: A stochastic process X={X(t),t ∈ T} is a collection of random variables. If T is a countable set, say T={0,1,2, …
The length of vertex pursuit games Anthony Bonato Ryerson University CCC 2013.
Approximate Inference: Decomposition Methods with Applications to Computer Vision Kyomin Jung ( KAIST ) Joint work with Pushmeet Kohli (Microsoft Research)
Data Structures and Algorithms in Parallel Computing Lecture 2.
Review for Final Exam Non-cumulative, covers material since exam 2 Data structures covered: –Treaps –Hashing –Disjoint sets –Graphs For each of these data.
1 CSC 421: Algorithm Design & Analysis Spring 2014 Complexity & lower bounds  brute force  decision trees  adversary arguments  problem reduction.
Randomized Kinodynamics Planning Steven M. LaVelle and James J
Exponential random graphs and dynamic graph algorithms David Eppstein Comp. Sci. Dept., UC Irvine.
Final Review Chris and Virginia. Overview One big multi-part question. (Likely to be on data structures) Many small questions. (Similar to those in midterm.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
CSE 421 Algorithms Richard Anderson Lecture 8 Optimal Caching Dijkstra’s algorithm.
Graph Representations And Traversals. Graphs Graph : – Set of Vertices (Nodes) – Set of Edges connecting vertices (u, v) : edge connecting Origin: u Destination:
ALITHEIA: Towards Practical Verifiable Graph Processing Yupeng Zhang, Charalampos Papamanthou and Jonathan Katz University of Maryland.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
Certifying Algorithms [MNS11]R.M. McConnell, K. Mehlhorn, S. Näher, P. Schweitzer. Certifying algorithms. Computer Science Review, 5(2), , 2011.
Solving problems by searching Chapter 3. Types of agents Reflex agent Consider how the world IS Choose action based on current percept Do not consider.
Solving problems by searching
A Worst Case, Constant Time Priority Queue
New Characterizations in Turnstile Streams with Applications
Decision trees Polynomial-Time
Disjoint Sets Data Structure
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
Greedy Algorithms / Minimum Spanning Tree Yin Tat Lee
Turnstile Streaming Algorithms Might as Well Be Linear Sketches
Crowd Simulation (INFOMCRWS) - A* Search
Workshop: A* Search.
Advanced Algorithms Analysis and Design
Presentation transcript:

Wolfgang Mulzer Institut f ür Informatik Data Structures on Event Graphs Bernard ChazelleWolfgang Mulzer FU Berlin Princeton University

2 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs It‘s the data Data can be  huge Rethink classical algorithms from a data-oriented perspective.  corrupted ……  low-entropy  expensive

3 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs It‘s the data Data can be  huge We study a model that represents temporal locality of the data.  corrupted ……  low-entropy  expensive

4 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs A concrete problem – successor search Given: An ordered universe U of n elements x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 x8x8 x9x9 x 10 Goal: maintain a subset S of U supporting successor queries Operations: Insert(x i ) Delete(x i ) Successor(x i ) Also known as Union-Split-Find Problem.

5 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs A concrete problem – successor search Given: An ordered universe U of n elements x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 x8x8 x9x9 x 10 Can be solved in O(log log n) time on a pointer machine. [van Emde Boas, Kaas, Zijlstra 77] This is optimal. [Mehlhorn, Näher, Alt 88], [Pătraşcu, Thorup 06]

6 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs Event graphs Given: An ordered universe U of n elements and a labeled, connected, undirected graph G Ix0Ix0 Ix7Ix7 Dx9Dx9 Dx2Dx2 Sx7Sx7 Ix9Ix9 Sx2Sx2 Ix5Ix5  G is labeled with operations Ix i, Dx i, Sx i  G is known in advance  G can be preprocessed  Adversary walks on G to perform ops  Similar to Markov chains

7 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs Event graphs  G is labeled with operations Ix i, Dx i, Sx i  G is known in advance  G can be preprocessed  Adversary walks on G to perform ops x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 x8x8 x9x9 x 10 Ix0Ix0 Ix7Ix7 Dx2Dx2 Sx7Sx7 Ix9Ix9 Sx2Sx2 Ix5Ix5 Dx9Dx9

8 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs Decorated graphs The walk of the adversary induces a walk on a much bigger graph. Decorated Graph dec(G): directed graph with vertex set V(G)  Pow(U). Represents current node of G + current set S. Ix0Ix0 Ix7Ix7 Dx2Dx2 Sx7Sx7 Ix9Ix9 Sx2Sx2 Ix5Ix5 Dx9Dx9 (Dx 2,  )(Sx 2,  ) (Ix 9, {x 9 }) (Ix 5, {x 5, x 9 })

9 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs Decorated graphs The walk of the adversary induces a walk on a much bigger graph. Decorated Graph dec(G): directed graph with vertex set V(G)  Pow(U). Represents current node of G + current set S. If dec(G) is available, we can perform all operations in constant time. But: The size of dec(G) is exponential.

10 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs Decorated graphs The walk of the adversary induces a walk on a much bigger graph. Decorated Graph dec(G): directed graph with vertex set V(G)  Pow(U). Represents current node of G + current set S. Questions: - What can we say about the structure of dec(G)? -What can we deduce about dec(G), given G? -In which cases can dec(G) be compressed efficiently?

11 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs The structure of decorated graphs dec(G) contains a unique strongly connected component that has no exit and is reachable from every other node. This component is called the unique sink. C1C1 C4C4 C3C3 C2C2

12 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs The structure of decorated graphs Theorem: Given a node v  V(G) and a set S  U, we can decide in time O(|V(G)|+|E(G)|) whether (v,S) lies in the unique sink. Proof idea: We show that for every node in the unique sink there exists a unique certificate in G (a certifying walk). A modified graph search in G can be used to find a certifying walk for (v,S), if it exists.

13 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs Can the decorated graph be compressed? Consider the case that G is a path. Theorem: If G is a path, the successor problem can be solved in O(1) time per operation with O(n 1+  ) space on a word RAM, where n=|V|. Ix0Ix0 Ix7Ix7 Dx2Dx2 Sx7Sx7 Ix9Ix9 Sx2Sx2 Ix5Ix5 Dx9Dx9

14 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs Can the decorated graph be compressed? Theorem: If G is a path, the successor problem can be solved in O(1) time per operation with O(n 1+  ) space on a word RAM, where n=|V|. Ix0Ix0 Ix7Ix7 Dx2Dx2 Sx7Sx7 Ix9Ix9 Sx2Sx2 Ix5Ix5 Dx9Dx9

15 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs Can the decorated graph be compressed? Theorem: If G is a path, the successor problem can be solved in O(1) time per operation with O(n 1+  ) space on a word RAM, where n=|V|. Ix0Ix0 Ix7Ix7 Dx2Dx2 Sx7Sx7 Ix9Ix9 Sx2Sx2 Ix5Ix5 Dx9Dx9 Proof: Maintain S in a doubly linked list. Each node in G has a pointer to its predecessor or successor in S. Use this pointer to answer the queries. Need only maintain those pointers that will be relevant next. Use lookup-table.

16 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs Example Dx3Dx3 Dx1Dx1 Dx2Dx2 Sx5Sx5 Sx8Sx8 Ix7Ix7 Dx9Dx9 Ix2Ix2 x1x1 x3x3 x5x5 x7x7 x 10 … …

17 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs Reducing the space requirement A naïve implementation uses two lookup-tables per node to update the pointers → O(n 2 ) space usage. Can be improved to O(n 1+  ) space. Approach: Use spatial decomposition and bootstrapping to compress the lookup-tables (cf. [Crochemore et al, 2008])

18 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs What about randomization? We assumed an adversary. But: What if the walk on the path is random? Theorem: If the requests are generated by a random walk on a path, the successor problem can be solved in O(1) expected time per operation with O(n) space on a word RAM, where n=|V|.

19 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs What about randomization? Theorem: If the requests are generated by a random walk on a path, the successor problem can be solved in O(1) expected time per operation with O(n) space on a word RAM, where n=|V|. Proof (sketch): Subdivide the path into segments of  n nodes. The random walk requires  (n) steps to leave a segment. Build the quadratic data structure once the walk enters the next segment. Use overlapping segments and deamortization techniques to make it work.

20 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs What about more complicated graphs? What if G is a tree, a grid, or something more complicated? The path approach does not work any more Ix0Ix0 Ix7Ix7 Sx7Sx7 Sx2Sx2 Dx2Dx2 Ix9Ix9 Sx2Sx2 Dx9Dx9 Ix0Ix0 Ix7Ix7 Dx2Dx2 Sx7Sx7 Ix9Ix9 Sx2Sx2 Ix5Ix5 Dx9Dx9 Ix7Ix7 We conjecture that in this case the O(log log n) bound from van Emde Boas trees is optimal (but we do not know).

21 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs Conclusion and open problems A new way to model request sequences to a data structure. Can be applied to any data structuring problem. More algorithmic questions on decorated graphs, e.g., can we estimate the size of the unique sink efficiently? Can we prove lower bounds for the successor problem on general event graphs?

22 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs Thank you!