68 research outputs found

    Fully Dynamic Algorithms for Minimum Weight Cycle and Related Problems

    Get PDF
    We consider the directed minimum weight cycle problem in the fully dynamic setting. To the best of our knowledge, so far no fully dynamic algorithms have been designed specifically for the minimum weight cycle problem in general digraphs. One can achieve O~(n2)\tilde{O}(n^2) amortized update time by simply invoking the fully dynamic APSP algorithm of Demetrescu and Italiano [J. ACM'04]. This bound, however, yields no improvement over the trivial recompute-from-scratch algorithm for sparse graphs. Our first contribution is a very simple deterministic (1+ϵ)(1+\epsilon)-approximate algorithm supporting vertex updates (i.e., changing all edges incident to a specified vertex) in conditionally near-optimal O~(mlog(W)/ϵ)\tilde{O}(m\log{(W)}/\epsilon) amortized time for digraphs with real edge weights in [1,W][1,W]. Using known techniques, the algorithm can be implemented on planar graphs and also gives some new sublinear fully dynamic algorithms maintaining approximate cuts and flows in planar digraphs. Additionally, we show a Monte Carlo randomized exact fully dynamic minimum weight cycle algorithm with O~(mn2/3)\tilde{O}(mn^{2/3}) worst-case update that works for real edge weights. To this end, we generalize the exact fully dynamic APSP data structure of Abraham et al. [SODA'17] to solve the ``multiple-pairs shortest paths problem'', where one is interested in computing distances for some kk (instead of all n2n^2) fixed source-target pairs after each update. We show that in such a scenario, O~((m+k)n2/3)\tilde{O}((m+k)n^{2/3}) worst-case update time is possible.Comment: Full version of an ICALP 2021 pape

    Fast and Compact Exact Distance Oracle for Planar Graphs

    Full text link
    For a given a graph, a distance oracle is a data structure that answers distance queries between pairs of vertices. We introduce an O(n5/3)O(n^{5/3})-space distance oracle which answers exact distance queries in O(logn)O(\log n) time for nn-vertex planar edge-weighted digraphs. All previous distance oracles for planar graphs with truly subquadratic space i.e., space O(n2ϵ)O(n^{2 - \epsilon}) for some constant ϵ>0\epsilon > 0) either required query time polynomial in nn or could only answer approximate distance queries. Furthermore, we show how to trade-off time and space: for any Sn3/2S \ge n^{3/2}, we show how to obtain an SS-space distance oracle that answers queries in time O((n5/2/S3/2)logn)O((n^{5/2}/ S^{3/2}) \log n). This is a polynomial improvement over the previous planar distance oracles with o(n1/4)o(n^{1/4}) query time

    Near-Optimal Decremental SSSP in Dense Weighted Digraphs

    Full text link
    In the decremental Single-Source Shortest Path problem (SSSP), we are given a weighted directed graph G=(V,E,w)G=(V,E,w) undergoing edge deletions and a source vertex rVr \in V; let n=V,m=En = |V|, m = |E| and WW be the aspect ratio of the graph. The goal is to obtain a data structure that maintains shortest paths from rr to all vertices in VV and can answer distance queries in O(1)O(1) time, as well as return the corresponding path PP in O(P)O(|P|) time. This problem was first considered by Even and Shiloach [JACM'81], who provided an algorithm with total update time O(mn)O(mn) for unweighted undirected graphs; this was later extended to directed weighted graphs [FOCS'95, STOC'99]. There are conditional lower bounds showing that O(mn)O(mn) is in fact near-optimal [ESA'04, FOCS'14, STOC'15, STOC'20]. In a breakthrough result, Forster et al. showed that it is possible to achieve total update time mn0.9+o(1)logWmn^{0.9+o(1)}\log W if the algorithm is allowed to return (1+ϵ)(1+{\epsilon})-approximate paths, instead of exact ones [STOC'14, ICALP'15]. No further progress was made until Probst Gutenberg and Wulff-Nilsen [SODA'20] provided a new approach for the problem, which yields total time O~(minm2/3n4/3logW,(mn)7/8logW)\tilde{O}(\min{m^{2/3}n^{4/3}\log W, (mn)^{7/8} \log W}). Our result builds on this recent approach, but overcomes its limitations by introducing a significantly more powerful abstraction, as well as a different core subroutine. Our new framework yields a decremental (1+ϵ)(1+{\epsilon})-approximate SSSP data structure with total update time O~(n2log4W)\tilde{O}(n^2 \log^4 W). Our algorithm is thus near-optimal for dense graphs with polynomial edge-weights. Our framework can also be applied to sparse graphs to obtain total update time O~(mn2/3log3W)\tilde{O}(mn^{2/3} \log^3 W). Our main technique allows us to convert SSSP algorithms for DAGs to ones for general graphs, which we believe has significant potential to influence future work.Comment: Accepted to FOCS'2

    Space Efficient Edge-Fault Tolerant Routing

    Get PDF
    Let G be an undirected weighted graph with n vertices and m edges, and k >= 1 be an integer. We preprocess the graph in O^~(mn) time, constructing a data structure of size O^~ k deg{v}+n^{1/k}) words per vertex v in V, which is then used by our routing scheme to ensure successful routing of packets even in the presence of a single edge fault. The scheme adds only O(k) words of information to the message. Moreover, the stretch of the routing scheme, i.e., the maximum ratio of the cost of the path along which the packet is routed to the cost of the actual shortest path that avoids the fault, is only O(k^2). Our results match the best known results for routing schemes that do not consider failures, with only the stretch being larger by a small constant factor of O(k). Moreover, a 1963 girth conjecture of Erdos, known to hold for k=1,2,3 and 5, implies that Omega(n^{1+1/k}) space is required by any routing scheme that has a stretch less than 2k+1. Hence our data structures are essentially space efficient. The algorithms are extremely simple, easy to implement, and with minor modifications, can be used under a centralized setting to efficiently answer distance queries in the presence of faults. An important component of our routing scheme that may be of independent interest is an algorithm to compute the shortest cycle passing through each edge. As an intermediate result, we show that computing this in a distributed model that stores at each vertex the shortest path tree rooted at that node requires Theta(mn) message passings in the worst case
    corecore