4 research outputs found

    Two-phase algorithms for the parametric shortest path problem

    Get PDF
    A {\em parametric weighted graph} is a graph whose edges are labeled with continuous real functions of a single common variable. For any instantiation of the variable, one obtains a standard edge-weighted graph. Parametric weighted graph problems are generalizations of weighted graph problems, and arise in various natural scenarios. Parametric weighted graph algorithms consist of two phases. A {\em preprocessing phase} whose input is a parametric weighted graph, and whose output is a data structure, the advice, that is later used by the {\em instantiation phase}, where a specific value for the variable is given. The instantiation phase outputs the solution to the (standard) weighted graph problem that arises from the instantiation. The goal is to have the running time of the instantiation phase supersede the running time of any algorithm that solves the weighted graph problem from scratch, by taking advantage of the advice. In this paper we construct several parametric algorithms for the shortest path problem. For the case of linear function weights we present an algorithm for the single source shortest path problem. Its preprocessing phase runs in O~(V4)\tilde{O}(V^4) time, while its instantiation phase runs in only O(E+VlogV)O(E+V \log V) time. The fastest standard algorithm for single source shortest path runs in O(VE)O(VE) time. For the case of weight functions defined by degree dd polynomials, we present an algorithm with quasi-polynomial preprocessing time O(V(1+logf(d))logV)O(V^{(1 + \log f(d))\log V}) and instantiation time only O~(V)\tilde{O}(V). In fact, for any pair of vertices u,vu,v, the instantiation phase computes the distance from uu to vv in only O(log2V)O(\log^2 V) time. Finally, for linear function weights, we present a randomized algorithm whose preprocessing time is \tilde{O (V^{3.5}) and so that for any pair of vertices u,vu,v and any instantiation variable, the instantiation phase computes, in O(1)O(1) time, a length of a path from uu to vv that is at most (additively) ϵ\epsilon larger than the length of a shortest path. In particular, an all-pairs shortest path solution, up to an additive constant error, can be computed in O(V2)O(V^2) time
    corecore