42,183 research outputs found

    Finding kk Simple Shortest Paths and Cycles

    Get PDF
    The problem of finding multiple simple shortest paths in a weighted directed graph G=(V,E)G=(V,E) has many applications, and is considerably more difficult than the corresponding problem when cycles are allowed in the paths. Even for a single source-sink pair, it is known that two simple shortest paths cannot be found in time polynomially smaller than n3n^3 (where n=Vn=|V|) unless the All-Pairs Shortest Paths problem can be solved in a similar time bound. The latter is a well-known open problem in algorithm design. We consider the all-pairs version of the problem, and we give a new algorithm to find kk simple shortest paths for all pairs of vertices. For k=2k=2, our algorithm runs in O(mn+n2logn)O(mn + n^2 \log n) time (where m=Em=|E|), which is almost the same bound as for the single pair case, and for k=3k=3 we improve earlier bounds. Our approach is based on forming suitable path extensions to find simple shortest paths; this method is different from the `detour finding' technique used in most of the prior work on simple shortest paths, replacement paths, and distance sensitivity oracles. Enumerating simple cycles is a well-studied classical problem. We present new algorithms for generating simple cycles and simple paths in GG in non-decreasing order of their weights; the algorithm for generating simple paths is much faster, and uses another variant of path extensions. We also give hardness results for sparse graphs, relative to the complexity of computing a minimum weight cycle in a graph, for several variants of problems related to finding kk simple paths and cycles.Comment: The current version includes new results for undirected graphs. In Section 4, the notion of an (m,n) reduction is generalized to an f(m,n) reductio

    Algorithms and Bounds for Very Strong Rainbow Coloring

    Full text link
    A well-studied coloring problem is to assign colors to the edges of a graph GG so that, for every pair of vertices, all edges of at least one shortest path between them receive different colors. The minimum number of colors necessary in such a coloring is the strong rainbow connection number (\src(G)) of the graph. When proving upper bounds on \src(G), it is natural to prove that a coloring exists where, for \emph{every} shortest path between every pair of vertices in the graph, all edges of the path receive different colors. Therefore, we introduce and formally define this more restricted edge coloring number, which we call \emph{very strong rainbow connection number} (\vsrc(G)). In this paper, we give upper bounds on \vsrc(G) for several graph classes, some of which are tight. These immediately imply new upper bounds on \src(G) for these classes, showing that the study of \vsrc(G) enables meaningful progress on bounding \src(G). Then we study the complexity of the problem to compute \vsrc(G), particularly for graphs of bounded treewidth, and show this is an interesting problem in its own right. We prove that \vsrc(G) can be computed in polynomial time on cactus graphs; in contrast, this question is still open for \src(G). We also observe that deciding whether \vsrc(G) = k is fixed-parameter tractable in kk and the treewidth of GG. Finally, on general graphs, we prove that there is no polynomial-time algorithm to decide whether \vsrc(G) \leq 3 nor to approximate \vsrc(G) within a factor n1εn^{1-\varepsilon}, unless P==NP

    Equivalence Classes and Conditional Hardness in Massively Parallel Computations

    Get PDF
    The Massively Parallel Computation (MPC) model serves as a common abstraction of many modern large-scale data processing frameworks, and has been receiving increasingly more attention over the past few years, especially in the context of classical graph problems. So far, the only way to argue lower bounds for this model is to condition on conjectures about the hardness of some specific problems, such as graph connectivity on promise graphs that are either one cycle or two cycles, usually called the one cycle vs. two cycles problem. This is unlike the traditional arguments based on conjectures about complexity classes (e.g., P ? NP), which are often more robust in the sense that refuting them would lead to groundbreaking algorithms for a whole bunch of problems. In this paper we present connections between problems and classes of problems that allow the latter type of arguments. These connections concern the class of problems solvable in a sublogarithmic amount of rounds in the MPC model, denoted by MPC(o(log N)), and some standard classes concerning space complexity, namely L and NL, and suggest conjectures that are robust in the sense that refuting them would lead to many surprisingly fast new algorithms in the MPC model. We also obtain new conditional lower bounds, and prove new reductions and equivalences between problems in the MPC model

    Speeding up shortest path algorithms

    Full text link
    Given an arbitrary, non-negatively weighted, directed graph G=(V,E)G=(V,E) we present an algorithm that computes all pairs shortest paths in time O(mn+mlgn+nTψ(m,n))\mathcal{O}(m^* n + m \lg n + nT_\psi(m^*, n)), where mm^* is the number of different edges contained in shortest paths and Tψ(m,n)T_\psi(m^*, n) is a running time of an algorithm to solve a single-source shortest path problem (SSSP). This is a substantial improvement over a trivial nn times application of ψ\psi that runs in O(nTψ(m,n))\mathcal{O}(nT_\psi(m,n)). In our algorithm we use ψ\psi as a black box and hence any improvement on ψ\psi results also in improvement of our algorithm. Furthermore, a combination of our method, Johnson's reweighting technique and topological sorting results in an O(mn+mlgn)\mathcal{O}(m^*n + m \lg n) all-pairs shortest path algorithm for arbitrarily-weighted directed acyclic graphs. In addition, we also point out a connection between the complexity of a certain sorting problem defined on shortest paths and SSSP.Comment: 10 page
    corecore