Data Structures for Emergency Planning Cyril Gavoille (LaBRI, University of Bordeaux) 8 th FoIKS Bordeaux – March 3, 2014.

Slides:



Advertisements
Similar presentations
Routing Complexity of Faulty Networks Omer Angel Itai Benjamini Eran Ofek Udi Wieder The Weizmann Institute of Science.
Advertisements

Surender Baswana Department of CSE, IIT Kanpur. Surender Baswana Department of CSE, IIT Kanpur.
Distance and Routing Labeling Schemes in Graphs
Competitive fault tolerant Distance Oracles and Routing Schemes Weizmann Open U Weizmann Bar Ilan Shiri Chechik Michael Langberg David Peleg Liam Roditty.
Dynamic Graph Algorithms - I
Compact Routing in Theory and Practice Lenore J. Cowen Tufts University.
Distributed Data Structures: A Survey Cyril Gavoille (LaBRI, University of Bordeaux)
Ad-Hoc Networks Beyond Unit Disk Graphs
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
Routing, Anycast, and Multicast for Mesh and Sensor Networks Roland Flury Roger Wattenhofer RAM Distributed Computing Group.
© 2006 Pearson Addison-Wesley. All rights reserved14 A-1 Chapter 14 Graphs.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
1 Analyzing Kleinberg’s (and other) Small-world Models Chip Martel and Van Nguyen Computer Science Department; University of California at Davis.
Traveling with a Pez Dispenser (Or, Routing Issues in MPLS) Anupam Gupta Amit Kumar FOCS 2001 Rajeev Rastogi Iris Reinbacher COMP670P
Collective Additive Tree Spanners of Homogeneously Orderable Graphs
Dept. of Computer Science Distributed Computing Group Asymptotically Optimal Mobile Ad-Hoc Routing Fabian Kuhn Roger Wattenhofer Aaron Zollinger.
Collective Tree Spanners of Graphs with Bounded Parameters F.F. Dragan and C. Yan Kent State University, USA.
Collective Tree Spanners of Graphs F.F. Dragan, C. Yan, I. Lomonosov Kent State University, USA Hiram College, USA.
Collective Tree Spanners and Routing in AT-free Related Graphs F.F. Dragan, C. Yan, D. Corneil Kent State University University of Toronto.
Approximate Distance Oracles for Geometric Spanner Networks Joachim Gudmundsson TUE, Netherlands Christos Levcopoulos Lund U., Sweden Giri Narasimhan Florida.
Greedy Routing with Bounded Stretch Roland Flury, Roger Wattenhofer (ETH Zurich), Sriram Pemmaraju (Iowa University) Published at IEEE Infocom 2009 Introduction.
Improved Randomized Algorithms for Path Problems in Graphs PhD Thesis Surender Baswana Department of Computer Science & Engineering, I.I.T. Delhi Research.
The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each decision is locally optimal. These.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Improved Sparse Covers for Graphs Excluding a Fixed Minor Ryan LaFortune (RPI), Costas Busch (LSU), and Srikanta Tirthapura (ISU)
Complexity Classes (Ch. 34) The class P: class of problems that can be solved in time that is polynomial in the size of the input, n. if input size is.
Chandra Chekuri, Nitish Korula and Martin Pal Proceedings of the nineteenth annual ACM-SIAM symposium on Discrete algorithms (SODA 08) Improved Algorithms.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Advanced Algorithm Design and Analysis (Lecture 13) SW5 fall 2004 Simonas Šaltenis E1-215b
Representing and Using Graphs
Algorithms  Al-Khwarizmi, arab mathematician, 8 th century  Wrote a book: al-kitab… from which the word Algebra comes  Oldest algorithm: Euclidian algorithm.
Distance sensitivity oracles in weighted directed graphs Raphael Yuster University of Haifa Joint work with Oren Weimann Weizmann inst.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Approximate Distance Oracles Mikkel Thorup and Uri Zwick Presented By Shiri Chechik.
An optimal dynamic spanner for points residing in doubling metric spaces Lee-Ad Gottlieb NYU Weizmann Liam Roditty Weizmann.
Graphs. Definitions A graph is two sets. A graph is two sets. –A set of nodes or vertices V –A set of edges E Edges connect nodes. Edges connect nodes.
Efficient Labeling Scheme for Scale-Free Networks The scheme in detailsPerformance of the scheme First we fix the number of hubs (to O(log(N))) and show.
Data Structures & Algorithms Graphs
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
NP-Complete problems.
Approximation, Chance and Networks Lecture Notes BISS 2005, Bertinoro March Alessandro Panconesi University La Sapienza of Rome.
A light metric spanner Lee-Ad Gottlieb. Graph spanners A spanner for graph G is a subgraph H ◦ H contains vertices, subset of edges of G Some qualities.
Models of Greedy Algorithms for Graph Problems Sashka Davis, UCSD Russell Impagliazzo, UCSD SIAM SODA 2004.
Stephen Alstrup (U. Copenhagen) Esben Bistrup Halvorsen (U. Copenhagen) Holger Petersen (-) Aussois – ANR DISPLEXITY - March 2015 Cyril Gavoille (LaBRI,
1 GRAPHS – Definitions A graph G = (V, E) consists of –a set of vertices, V, and –a set of edges, E, where each edge is a pair (v,w) s.t. v,w  V Vertices.
Succinct Routing Tables for Planar Graphs Compact Routing for Graphs Excluding a Fixed Minor Ittai Abraham (Hebrew Univ. of Jerusalem) Cyril Gavoille (LaBRI,
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
Fully Dynamic Approximate Distance Oracles for Planar Graphs via Forbidden-Set Distance Labels Presented by: Shiri Chechik (Weizmann Institute) Joint with:
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
Forbidden-Set Distance Labels for Graphs of Bounded Doubling Dimension
Progress and Challenges for Labeling Schemes
Improved Randomized Algorithms for Path Problems in Graphs
Labeling Schemes with Forbidden-Sets
Greedy Routing with Bounded Stretch
Minimum-Cost Spanning Tree
Localized Data Structures
Randomized Algorithms CS648
Distance and Routing Labeling Schemes in Graphs
Introduction Wireless Ad-Hoc Network
Dynamic Graph Algorithms
Compact routing schemes with improved stretch
New Jersey, October 9-11, 2016 Field of theoretical computer science
Minimum-Cost Spanning Tree
Routing in Networks with Low Doubling Dimension
Forbidden-set labelling in graphs
Presentation transcript:

Data Structures for Emergency Planning Cyril Gavoille (LaBRI, University of Bordeaux) 8 th FoIKS Bordeaux – March 3, 2014

1. Context 2. Distance in Graphs 3. Routing and Distributed Setting 4. Focus on Connectivity 5. Focus on Distance Labelling 6. Conclusion Agenda

Context Connectivity, distance computation or navigation in road networks (=graphs)

Connectivity Query: Is there a path connecting u to v? It takes linear time to answer the query. It takes O(1) time if linear time pre-processing of the graph is done with a labelling of the components of G.

Assume there is a failure x (node or edge) due to: flooding, earthquake, damage, attack … How to find efficiently the connected component of any node u in G\{x}? ➟ Update all the component labels with a linear time traversal of G\{x}, and then answer in O(1) for each query node u.

Main issue: G is extremely large, and even linear time is too much in case of emergency! We would like the answer immediately. If we pre-process G accordingly, can we then quickly answer queries “is there a path from u to v in G\{x}”?

Yes we can! Pre-process G in a more clever way. Identify cut- vertices, the component-tree and design an efficient NCA data structure (all take linear time). u,v are not connected in G\{x} iff x is a cut-vertex on the path from c(u) to c(v) in the component-tree.

Rem: in case of flooding, this looks like … What about if we ask, say, for two failures x 1,x 2 ? ➟ Still feasible in constant time with a more complex data structure based on cactus graphs.

And for any failure set X? Can we prevent emergency in order to answer connectivity query in G\X in time O(|X|) or Õ(|X|)? ➟ No efficient solution is known if more than TWO nodes can fail. Best solution requires query time O(|X|. √n) using fully-dynamic data structures [Eppstein et al. - J. ACM’98] ➟ Solution if X contains only edges with query time O(|X|. log 2 n. loglogn) [Patrascu,Thorup - FOCS’07]

General Setting (for emergency planning) Pre-process a graph G st., for any failure set X, one can pre-process X in time Õ(f(|X|)) st. queries on nodes u,v,… of G\X can be answered as fast as possible. ➟ This differs from a dynamic data structure by the fact that during the query pre-processing of X, the initial data structure for G is NOT updated.

General Setting (for emergency planning) We can convert these “semi-dynamic” into fully- dynamic data structures with sub-linear amortized update time in a lazy manner: - If |X| is small, solve (u,v,X) (history of events) - If |X| is large, reset X and the data structure for G\X ➟ Adding edges (or nodes then edges) is much more easy...

1. Context 2. Distance in Graphs 3. Routing and the Distributed Setting 4. Focus on Connectivity 5. Focus on Distance Labelling 6. Conclusion Agenda

Distance in Graphs Goal: Answer d G\X (u,v) given (u,v,X) for G (a weighted undirected graph) (a weighted undirected graph) Matrix distance requires space O(n 2 ) and constant query time (|X|=0). ➟ Space Õ(n 2 ) for |X|≤2 (nodes or edges) and O(logn) query time. [Demetrescu et al. - SIAM J. Computing’08] [Duan,Pettie - SODA’09]

Space Lower Bound? Õ(n max{|X|,2} ) or Õ(n f(|X|) )? Intuition is that to solve efficiently queries of length Intuition is that to solve efficiently queries of length |X|+2, at least f(|X|) more space is required compared to the failure-free solution (|X|=0). d G (u) ➟ n d G (u,v) ➟ n 2 d G (u,v,w) ➟ n 3 (?) Õ(n 2 ) for every |X|? Associate with failure x some information of size O(n) telling to all other nodes short-cuts to avoid x in G. This is Õ(n 2 ) overall all (indep. of |X|). Construct a route from u to v by combining the |X| short-cuts. Associate with failure x some information of size O(n) telling to all other nodes short-cuts to avoid x in G. This is Õ(n 2 ) overall all (indep. of |X|). Construct a route from u to v by combining the |X| short-cuts. ➟ Theoretical Information argument cannot prove any lower bound larger than (n 2 ). Space Õ(n 2 ) for |X|≤2 (nodes or edges) and O(logn) query time. [Demetrescu et al., SIAM J. Comp.’08][Duan-Pettie, SODA’09] ¬

1. Context 2. Distance in Graphs 3. Routing and Distributed Setting 4. Focus on Connectivity 5. Focus on Distance Labelling 6. Conclusion Agenda

Routing query: next-hop to go from u to v? u v Routing and Distributed Setting - pre-processing to compute routing information - a node stores only routing information involving itself  distributed data-structure

Forbidden-Set Routing Design a routing scheme for G st. for every subset X of “ forbidden ” nodes (crashes, malicious faults, routing policies, …) st. routing tables can forward messages in G\X efficiently provided router: u L(x 1 ) … L(x k ) next-hop to v in G\{x 1 …x k }

A Distributed Data Structure Get the labels of nodes involved in the query Get the labels of nodes involved in the query Compute/decode the answer from the labels Compute/decode the answer from the labels No other source of information is required No other source of information is required

Some Results for F.-S. Routing [Courcelle,Twigg – STACS’07] Clique-width cw: O(cw 2 log 2 n) bit labels and routing tables for shortest path routing. Extended to every predicate expressed in MSO-logic. [Abraham,Chechik,G.,Peleg – PODC’10] Doubling dimension-: O(1+   2 log 2 n bit labels and routing tables for stretch 1+ routing. [Abraham,Chechik,G. – STOC’12] Planar: O(  log 3 n) bit routing tables and O(  log 5 n) bit labels for stretch 1+routing. Every radius-2r ball can be covered by Every radius-2r ball can be covered by  2  radius-r balls  2  radius-r balls Include bounded growing graphs Include bounded growing graphs Euclidean graphs have  =O(1) Euclidean graphs have  =O(1)

1. Context 2. Distance in Graphs 3. Routing and Distributed Setting 4. Focus on Connectivity 5. Focus on Distance Labelling 6. Conclusion Agenda

(1) [Courcelle,G.,Kanté,Twigg – TGGT’08] (2) [Borradaile,Pettie,Wulff-Nilsen – SWAT’12] Pre-processing time: O(n) Query pre-processing time: O(|X|log|X|) (2) Space: O(n) & Q. Time: O(loglogn) (1) Space: O(logn) bit labels & Q. time: O(√logn) (2) can be generalized to H-minor free graphs Focus on Connectivity (in planar graphs)

[Here X subset of edges only... much more tricky otherwise] Main Idea (1) Query = P LANAR P OINT L OCATION in O(√logn) time (polynomial coordinates) Note: space does NOT depend on |X|.

Find G\X (u)? (find some identifier of the component of u in G\X) 1. Find the closest failure x ancestor of u 2. Next-hop when routing from x to u in the tree A Simple Solution for Trees u

[a(z),b(z)]=first/last visit time in Euler label for routing to/from z x 0 :[1,72] x 1 :[3,46] x 2 :[29,43] x 3 :[60,66]

Find G\X x=A[p] (closest ancestor failure) x=A[p] (closest ancestor failure) p=P RED S (a(u))=max{s ∈ S:s≤a(u)} (predecessor) p=P RED S (a(u))=max{s ∈ S:s≤a(u)} (predecessor) S=[1 [3 [29 43] 46] [60 66] 72] A= x 0 x 1 x 2 x 1 x 0 x 3 x 2 - x 0 :[1,72] x 1 :[3,46] x 2 :[29,43] x 3 :[60,66] ➟ Space: O(logn) bit labels Query pre-processing: O(S ORT (|X|,n)) Query pre-processing: O(S ORT (|X|,n)) Query time: O(loglogn) Query time: O(loglogn) a(u)=23

Query Time Lower Bound Why  (loglogn) is required? [Patrascu,Thorup – STOC’06] Any data structure with space Õ(|X|) and supporting P RED X queries requires query time (loglogn) provided |X| ∈ [n ,n 1- ]. Given X and Find Path\X we construct an associative table Tab[Find Path\X (x i +1)]=x i in time O(|X|log|X|). Path ➟ P RED X (u)=Tab[Find Path\X (u)] ➟ Query-time(P RED X ) ≤ Query-time(Find Path\X )+O(1) 1 2 … x 1 x 2 … x k n

1. Context 2. Distance in Graphs 3. Routing and Distributed Setting 4. Focus on Connectivity 5. Focus on Distance Labelling 6. Conclusion Agenda

Focus on Distance Labelling Query: (1+approximate distance (u,v) in G\{x 1 …x k } given the labels of L(u),L(v),L(x 1 ),…,L(x k ) given the labels of L(u),L(v),L(x 1 ),…,L(x k ) [Abraham,Chechik,G. – STOC’12] For Planar graphs: 1. Pre-processing: Õ(n) 2. Space: O(  log 5 n) bit labels 3. Query time: O(|X|  log 5 n) query time Note: same bounds as for |X|=0 (up to Õ(1) factors)

How does it work? Query: (u,v) in G\{x 1 …x k } given L(u),L(v),L(x 1 ),…,L(x k ) 1. From the labels of the query, construct a sketch graph H 2. Run Dijkstra from u to v in H that has size Õ (k) u

How does it work? Query: (u,v) in G\{x 1 …x k } given L(u),L(v),L(x 1 ),…,L(x k ) 1. From the labels of the query, construct a sketch graph H 2. Run Dijkstra from u to v in H that has size Õ (k) u v

How does it work? Query: (u,v) in G\{x 1 …x k } given L(u),L(v),L(x 1 ),…,L(x k ) 1. From the labels of the query, construct a sketch graph H 2. Run Dijkstra from u to v in H that has size Õ (k) u

How does it work? Query: (u,v) in G\{x 1 …x k } given L(u),L(v),L(x 1 ),…,L(x k ) 1. From the labels of the query, construct a sketch graph H 2. Run Dijkstra from u to v in H that has size Õ (k) u v

How does it work? Query: (u,v) in G\{x 1 …x k } given L(u),L(v),L(x 1 ),…,L(x k ) 1. From the labels of the query, construct a sketch graph H 2. Run Dijkstra from u to v in H that has size Õ (k) u v

How does it work? Query: (u,v) in G\{x 1 …x k } given L(u),L(v),L(x 1 ),…,L(x k ) 1. From the labels of the query, construct a sketch graph H 2. Run Dijkstra from u to v in H that has size Õ (k) u v

How does it work? Query: (u,v) in G\{x 1 …x k } given L(u),L(v),L(x 1 ),…,L(x k ) 1. From the labels of the query, construct a sketch graph H 2. Run Dijkstra from u to v in H that has size Õ (k) u v

How does it work? Query: (u,v) in G\{x 1 …x k } given L(u),L(v),L(x 1 ),…,L(x k ) 1. From the labels of the query, construct a sketch graph H 2. Run Dijkstra from u to v in H that has size Õ (k) u v

How does it work? Query: (u,v) in G\{x 1 …x k } given L(u),L(v),L(x 1 ),…,L(x k ) 1. From the labels of the query, construct a sketch graph H 2. Run Dijkstra from u to v in H that has size Õ (k) u v

How does it work? Query: (u,v) in G\{x 1 …x k } given L(u),L(v),L(x 1 ),…,L(x k ) 1. From the labels of the query, construct a sketch graph H 2. Run Dijkstra from u to v in H that has size Õ (k) u v

How does it work? Query: (u,v) in G\{x 1 …x k } given L(u),L(v),L(x 1 ),…,L(x k ) 1. From the labels of the query, construct a sketch graph H 2. Run Dijkstra from u to v in H that has size Õ (k) u v

1. Context 2. Distance in Graphs 3. Routing and Distributed Setting 4. Focus on Connectivity 5. Focus on Distance Labelling 6. Conclusion Agenda

Conclusion Two fundamental questions: 1. Improve the O(√n) update time bound for worst- case dynamic connectivity in general graphs. Note: Amortized randomized polylog(n) time solutions do exist but work only if we start from the empty network! Useless for emergency planning setting for which worst-case garantee on large network is the goal. 2. Prove or disprove that we can design in the emergency planning setting a distance oracle for general graphs of space Õ(n 2 ) and query time Õ(logn), for every failure set.