
Fault-Tolerant Approximate BFS Structures
Explore fault-tolerant approximate BFS structures in unweighted graphs, designed to handle edge and vertex faults. Learn about the concept, challenges, and formal definitions of FT-BFS trees for building robust network structures.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Fault Tolerant Approximate BFS Structure Merav Parter and David Peleg Weizmann Institute of Science, Israel SODA 2014
Breadth First Search (BFS) Trees Unweighted graph G=(V,E), source vertex s V. Shortest-Path Tree (BFS) rooted at s. s Sparse solution: n-1 edges. v2 v1 Problem: Not robust against edge and vertex faults. v3 v4 v5
Fault Tolerant BFS Trees s Objective: Purchase a collection of edges (BFS + backup edges) that is robust against edge faults. v2 v1 v3 v4 v5
(Exact) Fault-Tolerant BFS Trees Subgraph H that contains a BFS tree in G\{e} for every edge failure e in G. s s v2 v1 v2 v1 v3 v4 v4 v3 e5 v5 v5 ? {??} ? {??}
Fault-Tolerant (FT) BFS Trees Subgraph H that contains a BFS tree in G\{e} for every edge failure e in G. s s v2 v1 v2 v1 v3 v4 v4 v3 e5 v5 v5 ? {??} ? {??}
Fault Tolerant (FT) BFS Trees Subgraph H that contains a BFS tree in G\{e} for every edge failure e in G. s s v2 v1 v2 v1 v3 v4 v4 v3 e5 v5 v5 ? {??} ? {??}
Fault Tolerant (FT) BFS Trees Subgraph H that contains a BFS tree in G\{e} for every edge failure e in G. s s v2 v1 v2 v1 v3 v4 v4 v3 e5 v5 v5 ? {??} ? {??}
FT-BFS Tree - Formal Definition Consider an unweighted graph G=(V,E) and a source vetrex s. A subgraph H is an FT-BFS of G and s if for every v in V and e in E: d(s,v, H\{e}) = d(s,v, G\{e})
Exact FT-BFS Trees [P, Peleg, ESA13] Upper Bound Theorem: For every graph G=(V,E) and every source s V there exists a (polynomially constructible) FT-BFS tree H with O(??/?) edges.
Exact FT-BFS Trees Are Dense Lower Bound Theorem: For every integer n ?, there exists an n-vertex graph G=(V,E) and a source vertex s V such that every FT-BFS tree H has ?(??/?)edges. Resorting to approximate distances!
FT-ABFS Tree - Formal Definition A subgraph H is an (?,?) FT-ABFS of G and s if for every v in V and e in E: d(s,v, H\{e}) = ? d(s,v, G\{e})+ ?
FT-ABFS Tree - Formal Definition A subgraph H is an (?,?) FT-ABFS of G and s if for every v in V and e in E: d(s,v,H\{e}) = ? d(s,v,G\{e})+ ? Can be viewed as FT single source spanners
Related Work Replacement paths. [Gupta et al. 1989; Hershberger and Suri, 2001; Roditty and Zwick, 2005; Weimann and Yuster 2010] Single source distance oracle. [Kahanna and Baswana, 2010; Gradoni, Williams, 2012] Fault tolerant spanners . [Chechik et al., 2009; Dinitz and Krauthgamer, 2011; Braunschvig et al., 2012]
A related problem: the replacement path problem Ps,t,e: s-t shortest path in G\{e} (s,t) s Problem definition: Given a source s, destination t, for every e (s,t) , compute Ps,t,e Ps,t,e e the shortest s-t path that avoids e. t
A related problem: Approximate replacement path problem Problem definition: Given a source s, destination t, for every e (s,t) , computean approximate ?s,t,ein G\{e} such that | ?s,t,e | ? dist(s,t, G\{e})
Single source approximate replacement path Data structure setting (Distance oracle): Query : (s,t,e). Answer: ?-approximate shortest path between s and t when e fails. Complexity measure: query & preproc time, DS size. [Kahanna, Baswana STACS 10] FT-ABFS tree revisited: New! An FT-ABFS tree H contains the collection of all single source approximate replacement paths. Complexity measure: size of H (#edges).
Our Results Multiplicative stretch: linear upper bound. Additive stretch: superlinear lower bound.
Multiplicative stretch: ( ,0) FT-ABFS structures Upper Bound: For every graph G=(V,E) and every source s V there exists a (polynomially constructible) (3,0) FT-BFS structure H with at most 4n edges. FT multiplicative single source spanners are linear! * O(log n) improvement from [Kahanna, Baswana STACS 10]
Algorithm for constructing (3,0) FT-ABFS Input: unweighted graph G=(V,E), source vertex s. Output: (3,0) FT-ABFS structure H G. s Add BFS(s, G) to H u v ?(?,?)
Algorithm for constructing (3,0) FT-ABFS Add BFS(s, G) to H (s,t) For every t, and every edge e in ? ?,? carefully choose a specific s-t replacement path Ps,t,ein G\{e} s e Ps,t,e New edge not in BFS(s,G) t
Algorithm for constructing (3,0) FT-ABFS Input: unweighted graph G=(V,E), source vertex s. Output: (3,0) FT-BFS tree H G. Add BFS(s, G) to H For every u, and every edge e on ? ?,? choose a specific s-u replacement path Ps,t,ein G\{e} Add to H, the first new edge on Ps,t,ethat is missing on T0=BFS(s,G).
Picking the first edge is critical Taking the last new edge (s,t) ESA 13 s Exact FT-BFS with ? ? ?edges. Ps,t,e e SODA 14 Taking the first new edge t (3,0) FT-BFS with ?? edges.
Correctness Lemma: For every vertex t, and edge e Ps,t,e s ????(?,?,?\{?}) ? ????(?,?,?\{?}) ?(s,t) Here: Show that s and t are connected in (BFS {? }) \ {e} e' e u t
Correctness s Claim: The failing edge e appears on ?(?,?) ?(?,?) Ps,t,e e f e' First edge not in BFS u t
Correctness s Claim: The failing edge e appears on ?(?,?) ?(?,?) Ps,t,e First edge not in BFS(s,G) e e' f u t
Correctness s Claim: The failing edge e appears on ?(?,?) ?(?,?) Ps,t,e e f e' Hence u and t are in BFS\{e} First edge not in BFS(s,G) u ?(?,?) t
Correctness s Claim: The failing edge e appears on ?(?,?) ?(?,?) Ps,t,e e f e' ????(?,?,?\{?}) ? ????(?,?,?\{?}) First edge not in T0 u ?(?,?) t
Size Analysis s Claim: Every vertex u is adjacent to at most 3 first new edges. ?(?,?) e1 e2 e3 By contradiction. e4 d c b a u Prove that dist(s,a)>dist(s,b)>dist(s,c)>dist(s,d)
Additive stretch: (1, ) FT-ABFS structures Lower Bound: For every integer n ?, and additive stretch 1 ? o(log n) n-vertex graph G=(V,E) and a source s V s.t every (1,?) FT-ABFSH has ?(??+?(?)) edges for ?(?)>0. FT additive single source spanners are superlinear!
The Lower Bound Construction (? = 3) Let ? = ? ? B(d,d) := Dense bipartite graph with girth* 6 and ? ??/?edges. ? copies of B(d,d) B1(d,d) B2(d,d) Bd(d,d) * Girth is the minimal cycle length in the graph.
The Lower Bound Construction (? = 3) v X B1(d,d) B2(d,d) Bd(d,d) Z |X|=d2= ? |Z|=d= ( ?)
The Lower Bound Construction (? = 3) s ? = ?( ?) v X B1(d,d) B2(d,d) Bd(d,d) Girth=6 Z Collection of |?| paths which are - Vertex disjoint - Monotone increasing.
The Construction s Total number of vertices: n ?( ?) copies of ? ? graphs. ?( ?) vertex disjoint paths of increasing length contain ?(?) vertices. ?( ?) B1 B2 Bd Z
The Construction s Total number of edges: In each Bi ?(??/?) edges. Overall, ?( ? ??/?)= ?(??/?) edges. ?( ?) B1 B2 Bd Z
The Construction Cl. : Every (1,3) FT-ABFS tree H must contain ALL the edges of the Bi graphs s By contradiction: Assume there exists an edge ei,j that is not in H. ?( ?) fi ei,j B1 Bd Consider the case where fi fails. Z
The Construction s d(s,xj, H \{fi}) >d(s,xj, G\{fi})+3 Contradiction since H is an (1,3) FT-ABFS tree. fi xj ei,j B1 Bd Z
Additive stretch: (1, ) FT-ABFS structures Upper Bound: For every graph G=(V,E) and every source s V there exists a (polynomially constructible) (1,4) FT-BFS tree H with at most O(??/?) edges. Main technical contribution: Adapting the Path-Buying scheme to the FT-setting.
Dichotomy between additive and multiplicative stretch (?1+?) Size of (\alpha,?) FT-ABFS structure O(log n) Additive stretch ? ?(?4/3), (?7/6) 4 (?5/4) 3 O(nlogn) (? ?) 4n 1 ?(? ?), (? ?) 2 1 3 ? Multiplicative stretch