1 / 22

Data Structures on Event Graphs

Data Structures on Event Graphs. Bernard Chazelle. Wolfgang Mulzer. Princeton University. FU Berlin. It‘s the data. Data can be. huge. corrupted. low-entropy. expensive. …. Rethink classical algorithms from a data-oriented perspective. It‘s the data. Data can be. huge. corrupted.

domani
Télécharger la présentation

Data Structures on Event 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. Data Structures on Event Graphs Bernard Chazelle Wolfgang Mulzer Princeton University FU Berlin

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

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

  4. x7 x1 x2 x4 x5 x9 x8 A concrete problem – successor search Given: An ordered universe U of n elements x3 x6 x10 Goal: maintain a subset S of U supporting successor queries Insert(xi) Operations: Delete(xi) Successor(xi) Also known as Union-Split-Find Problem. Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs

  5. x1 x2 x4 x5 x7 x8 x9 A concrete problem – successor search Given: An ordered universe U of n elements x3 x6 x10 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] Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs

  6. Event graphs Given: An ordered universe U of n elements and a labeled, connected, undirected graph G Sx2 • G is labeled with operations Ixi, Dxi, Sxi • G is known in advance • G can be preprocessed • Adversary walks on G to perform ops • Similar to Markov chains Ix0 Dx2 Ix5 Sx7 Ix7 Dx9 Ix9 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs

  7. x8 x7 x1 x2 x4 Event graphs x3 x5 x6 x9 x10 Sx2 • G is labeled with operations Ixi, Dxi, Sxi • G is known in advance • G can be preprocessed • Adversary walks on G to perform ops Ix0 Dx2 Ix5 Sx7 Ix7 Dx9 Ix9 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs

  8. 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. Sx2 Ix0 (Sx2, ) (Dx2, ) (Ix9, {x9}) (Ix5, {x5, x9}) Dx2 Ix5 Sx7 Ix7 Dx9 Ix9 Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs

  9. 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. Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs

  10. 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? Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs

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

  12. 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. Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs

  13. Sx2 Ix0 Dx2 Ix5 Sx7 Ix7 Dx9 Ix9 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(n1+) space on a word RAM, where n=|V|. Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs

  14. Sx2 Ix0 Dx2 Ix5 Sx7 Ix7 Dx9 Ix9 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(n1+) space on a word RAM, where n=|V|. Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs

  15. Sx2 Ix0 Dx2 Ix5 Sx7 Ix7 Dx9 Ix9 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(n1+) space on a word RAM, where n=|V|. 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. Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs

  16. Dx2 x1 x7 Sx5 Dx1 Dx3 Ix7 Sx8 Ix2 Dx9 Example x3 x5 x10 … … Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs

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

  18. 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|. Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs

  19. 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. Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs

  20. Sx2 Sx2 Sx2 Ix0 Ix0 Dx2 Dx2 Ix5 Sx7 Sx7 Ix7 Ix7 Ix7 Dx9 Dx9 Ix9 Ix9 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 We conjecture that in this case the O(log log n) bound from van Emde Boas trees is optimal (but we do not know). Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs

  21. 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? Bernard Chazelle and Wolfgang Mulzer – Data Structures on Event Graphs

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

More Related