62 research outputs found

    Exact Distance Oracles for Planar Graphs with Failing Vertices

    Full text link
    We consider exact distance oracles for directed weighted planar graphs in the presence of failing vertices. Given a source vertex uu, a target vertex vv and a set XX of kk failed vertices, such an oracle returns the length of a shortest uu-to-vv path that avoids all vertices in XX. We propose oracles that can handle any number kk of failures. More specifically, for a directed weighted planar graph with nn vertices, any constant kk, and for any q[1,n]q \in [1,\sqrt n], we propose an oracle of size O~(nk+3/2q2k+1)\tilde{\mathcal{O}}(\frac{n^{k+3/2}}{q^{2k+1}}) that answers queries in O~(q)\tilde{\mathcal{O}}(q) time. In particular, we show an O~(n)\tilde{\mathcal{O}}(n)-size, O~(n)\tilde{\mathcal{O}}(\sqrt{n})-query-time oracle for any constant kk. This matches, up to polylogarithmic factors, the fastest failure-free distance oracles with nearly linear space. For single vertex failures (k=1k=1), our O~(n5/2q3)\tilde{\mathcal{O}}(\frac{n^{5/2}}{q^3})-size, O~(q)\tilde{\mathcal{O}}(q)-query-time oracle improves over the previously best known tradeoff of Baswana et al. [SODA 2012] by polynomial factors for q=Ω(nt)q = \Omega(n^t), t(1/4,1/2]t \in (1/4,1/2]. For multiple failures, no planarity exploiting results were previously known

    Planar Reachability Under Single Vertex or Edge Failures

    Get PDF
    International audienceIn this paper we present an efficient reachability oracle under single-edge or single-vertex failures for planar directed graphs. Specifically, we show that a planar digraph G can be preprocessed in O(n log 2 n/log log n) time, producing an O(n log n)-space data structure that can answer in O(log n) time whether u can reach v in G if the vertex x (the edge f) is removed from G, for any query vertices u, v and failed vertex x (failed edge f). To the best of our knowledge, this is the first data structure for planar directed graphs with nearly optimal preprocessing time that answers all-pairs queries under any kind of failures in polylogarithmic time. We also consider 2-reachability problems, where we are given a planar digraph G and we wish to determine if there are two vertex-disjoint (edge-disjoint) paths from u to v, for query vertices u, v. In this setting we provide a nearly optimal 2-reachability oracle, which is the existential variant of the reachability oracle under single failures, with the following bounds. We can construct in O(n polylog n) time an O(n log 3+o(1) n)-space data structure that can check in O(log 2+o(1) n) time for any query vertices u, v whether v is 2-reachable from u, or otherwise find some separating vertex (edge) x lying on all paths from u to v in G. To obtain our results, we follow the general recursive approach of Thorup for reachability in planar graphs [J. ACM '04] and we present new data structures which generalize dominator trees and previous data structures for strong-connectivity under failures [Georgiadis et al., SODA '17]. Our new data structures work also for general digraphs and may be of independent interest

    22-Fault-Tolerant Strong Connectivity Oracles

    Full text link
    We study the problem of efficiently answering strong connectivity queries under two vertex failures. Given a directed graph GG with nn vertices, we provide a data structure with O(nh)O(nh) space and O(h)O(h) query time, where hh is the height of a decomposition tree of GG into strongly connected subgraphs. This immediately implies data structures with O(nlogn)O(n \log{n}) space and O(logn)O(\log{n}) query time for graphs of constant treewidth, and O(n3/2)O(n^{3/2}) space and O(n)O(\sqrt{n}) query time for planar graphs. For general directed graphs, we give a refined version of our data structure that achieves O(nm)O(n\sqrt{m}) space and O(m)O(\sqrt{m}) query time, where mm is the number of edges of the graph. We also provide some simple BFS-based heuristics that seem to work remarkably well in practice. In the experimental part, we first evaluate various methods to construct a decomposition tree with small height hh in practice. Then we provide efficient implementations of our data structures, and evaluate their empirical performance by conducting an extensive experimental study on graphs taken from real-world applications.Comment: Conference version to appear in the proceedings of ALENEX 202

    What Else Can Voronoi Diagrams Do for Diameter in Planar Graphs?

    Get PDF

    Replacement Paths via Row Minima of Concise Matrices

    Full text link
    Matrix MM is {\em kk-concise} if the finite entries of each column of MM consist of kk or less intervals of identical numbers. We give an O(n+m)O(n+m)-time algorithm to compute the row minima of any O(1)O(1)-concise n×mn\times m matrix. Our algorithm yields the first O(n+m)O(n+m)-time reductions from the replacement-paths problem on an nn-node mm-edge undirected graph (respectively, directed acyclic graph) to the single-source shortest-paths problem on an O(n)O(n)-node O(m)O(m)-edge undirected graph (respectively, directed acyclic graph). That is, we prove that the replacement-paths problem is no harder than the single-source shortest-paths problem on undirected graphs and directed acyclic graphs. Moreover, our linear-time reductions lead to the first O(n+m)O(n+m)-time algorithms for the replacement-paths problem on the following classes of nn-node mm-edge graphs (1) undirected graphs in the word-RAM model of computation, (2) undirected planar graphs, (3) undirected minor-closed graphs, and (4) directed acyclic graphs.Comment: 23 pages, 1 table, 9 figures, accepted to SIAM Journal on Discrete Mathematic

    Connectivity Oracles for Graphs Subject to Vertex Failures

    Full text link
    We introduce new data structures for answering connectivity queries in graphs subject to batched vertex failures. A deterministic structure processes a batch of ddd\leq d_{\star} failed vertices in O~(d3)\tilde{O}(d^3) time and thereafter answers connectivity queries in O(d)O(d) time. It occupies space O(dmlogn)O(d_{\star} m\log n). We develop a randomized Monte Carlo version of our data structure with update time O~(d2)\tilde{O}(d^2), query time O(d)O(d), and space O~(m)\tilde{O}(m) for any failure bound dnd\le n. This is the first connectivity oracle for general graphs that can efficiently deal with an unbounded number of vertex failures. We also develop a more efficient Monte Carlo edge-failure connectivity oracle. Using space O(nlog2n)O(n\log^2 n), dd edge failures are processed in O(dlogdloglogn)O(d\log d\log\log n) time and thereafter, connectivity queries are answered in O(loglogn)O(\log\log n) time, which are correct w.h.p. Our data structures are based on a new decomposition theorem for an undirected graph G=(V,E)G=(V,E), which is of independent interest. It states that for any terminal set UVU\subseteq V we can remove a set BB of U/(s2)|U|/(s-2) vertices such that the remaining graph contains a Steiner forest for UBU-B with maximum degree ss

    Deterministic Combinatorial Replacement Paths and Distance Sensitivity Oracles

    Get PDF
    In this work we derandomize two central results in graph algorithms, replacement paths and distance sensitivity oracles (DSOs) matching in both cases the running time of the randomized algorithms. For the replacement paths problem, let G = (V,E) be a directed unweighted graph with n vertices and m edges and let P be a shortest path from s to t in G. The replacement paths problem is to find for every edge e in P the shortest path from s to t avoiding e. Roditty and Zwick [ICALP 2005] obtained a randomized algorithm with running time of O~(m sqrt{n}). Here we provide the first deterministic algorithm for this problem, with the same O~(m sqrt{n}) time. Due to matching conditional lower bounds of Williams et al. [FOCS 2010], our deterministic combinatorial algorithm for the replacement paths problem is optimal up to polylogarithmic factors (unless the long standing bound of O~(mn) for the combinatorial boolean matrix multiplication can be improved). This also implies a deterministic algorithm for the second simple shortest path problem in O~(m sqrt{n}) time, and a deterministic algorithm for the k-simple shortest paths problem in O~(k m sqrt{n}) time (for any integer constant k > 0). For the problem of distance sensitivity oracles, let G = (V,E) be a directed graph with real-edge weights. An f-Sensitivity Distance Oracle (f-DSO) gets as input the graph G=(V,E) and a parameter f, preprocesses it into a data-structure, such that given a query (s,t,F) with s,t in V and F subseteq E cup V, |F| <=f being a set of at most f edges or vertices (failures), the query algorithm efficiently computes the distance from s to t in the graph G F (i.e., the distance from s to t in the graph G after removing from it the failing edges and vertices F). For weighted graphs with real edge weights, Weimann and Yuster [FOCS 2010] presented several randomized f-DSOs. In particular, they presented a combinatorial f-DSO with O~(mn^{4-alpha}) preprocessing time and subquadratic O~(n^{2-2(1-alpha)/f}) query time, giving a tradeoff between preprocessing and query time for every value of 0 < alpha < 1. We derandomize this result and present a combinatorial deterministic f-DSO with the same asymptotic preprocessing and query time

    Shortest Paths Avoiding Forbidden Subpaths

    Get PDF
    In this paper we study a variant of the shortest path problem in graphs: given a weighted graph G and vertices s and t, and given a set X of forbidden paths in G, find a shortest s-t path P such that no path in X is a subpath of P. Path P is allowed to repeat vertices and edges. We call each path in X an exception, and our desired path a shortest exception-avoiding path. We formulate a new version of the problem where the algorithm has no a priori knowledge of X, and finds out about an exception x in X only when a path containing x fails. This situation arises in computing shortest paths in optical networks. We give an algorithm that finds a shortest exception avoiding path in time polynomial in |G| and |X|. The main idea is to run Dijkstra's algorithm incrementally after replicating vertices when an exception is discovered.Comment: 12 pages, 2 figures. Fixed a few typos, rephrased a few sentences, and used the STACS styl

    Optimal Vertex Fault Tolerant Spanners (for fixed stretch)

    Full text link
    A kk-spanner of a graph GG is a sparse subgraph HH whose shortest path distances match those of GG up to a multiplicative error kk. In this paper we study spanners that are resistant to faults. A subgraph HGH \subseteq G is an ff vertex fault tolerant (VFT) kk-spanner if HFH \setminus F is a kk-spanner of GFG \setminus F for any small set FF of ff vertices that might "fail." One of the main questions in the area is: what is the minimum size of an ff fault tolerant kk-spanner that holds for all nn node graphs (as a function of ff, kk and nn)? This question was first studied in the context of geometric graphs [Levcopoulos et al. STOC '98, Czumaj and Zhao SoCG '03] and has more recently been considered in general undirected graphs [Chechik et al. STOC '09, Dinitz and Krauthgamer PODC '11]. In this paper, we settle the question of the optimal size of a VFT spanner, in the setting where the stretch factor kk is fixed. Specifically, we prove that every (undirected, possibly weighted) nn-node graph GG has a (2k1)(2k-1)-spanner resilient to ff vertex faults with Ok(f11/kn1+1/k)O_k(f^{1 - 1/k} n^{1 + 1/k}) edges, and this is fully optimal (unless the famous Erdos Girth Conjecture is false). Our lower bound even generalizes to imply that no data structure capable of approximating distGF(s,t)dist_{G \setminus F}(s, t) similarly can beat the space usage of our spanner in the worst case. We also consider the edge fault tolerant (EFT) model, defined analogously with edge failures rather than vertex failures. We show that the same spanner upper bound applies in this setting. Our data structure lower bound extends to the case k=2k=2 (and hence we close the EFT problem for 33-approximations), but it falls to Ω(f1/21/(2k)n1+1/k)\Omega(f^{1/2 - 1/(2k)} \cdot n^{1 + 1/k}) for k3k \ge 3. We leave it as an open problem to close this gap.Comment: To appear in SODA 201
    corecore