9 research outputs found

    Topologically Trivial Closed Walks in Directed Surface Graphs

    Full text link
    Let GG be a directed graph with nn vertices and mm edges, embedded on a surface SS, possibly with boundary, with first Betti number β\beta. We consider the complexity of finding closed directed walks in GG that are either contractible (trivial in homotopy) or bounding (trivial in integer homology) in SS. Specifically, we describe algorithms to determine whether GG contains a simple contractible cycle in O(n+m)O(n+m) time, or a contractible closed walk in O(n+m)O(n+m) time, or a bounding closed walk in O(β(n+m))O(\beta (n+m)) time. Our algorithms rely on subtle relationships between strong connectivity in GG and in the dual graph GG^*; our contractible-closed-walk algorithm also relies on a seminal topological result of Hass and Scott. We also prove that detecting simple bounding cycles is NP-hard. We also describe three polynomial-time algorithms to compute shortest contractible closed walks, depending on whether the fundamental group of the surface is free, abelian, or hyperbolic. A key step in our algorithm for hyperbolic surfaces is the construction of a context-free grammar with O(g2L2)O(g^2L^2) non-terminals that generates all contractible closed walks of length at most L, and only contractible closed walks, in a system of quads of genus g2g\ge2. Finally, we show that computing shortest simple contractible cycles, shortest simple bounding cycles, and shortest bounding closed walks are all NP-hard.Comment: 30 pages, 18 figures; fixed several minor bugs and added one figure. An extended abstraction of this paper will appear at SOCG 201

    Computing the Girth of a Planar Graph in Linear Time

    Full text link
    The girth of a graph is the minimum weight of all simple cycles of the graph. We study the problem of determining the girth of an n-node unweighted undirected planar graph. The first non-trivial algorithm for the problem, given by Djidjev, runs in O(n^{5/4} log n) time. Chalermsook, Fakcharoenphol, and Nanongkai reduced the running time to O(n log^2 n). Weimann and Yuster further reduced the running time to O(n log n). In this paper, we solve the problem in O(n) time.Comment: 20 pages, 7 figures, accepted to SIAM Journal on Computin

    Single Source - All Sinks Max Flows in Planar Digraphs

    Full text link
    Let G = (V,E) be a planar n-vertex digraph. Consider the problem of computing max st-flow values in G from a fixed source s to all sinks t in V\{s}. We show how to solve this problem in near-linear O(n log^3 n) time. Previously, no better solution was known than running a single-source single-sink max flow algorithm n-1 times, giving a total time bound of O(n^2 log n) with the algorithm of Borradaile and Klein. An important implication is that all-pairs max st-flow values in G can be computed in near-quadratic time. This is close to optimal as the output size is Theta(n^2). We give a quadratic lower bound on the number of distinct max flow values and an Omega(n^3) lower bound for the total size of all min cut-sets. This distinguishes the problem from the undirected case where the number of distinct max flow values is O(n). Previous to our result, no algorithm which could solve the all-pairs max flow values problem faster than the time of Theta(n^2) max-flow computations for every planar digraph was known. This result is accompanied with a data structure that reports min cut-sets. For fixed s and all t, after O(n^{3/2} log^{3/2} n) preprocessing time, it can report the set of arcs C crossing a min st-cut in time roughly proportional to the size of C.Comment: 25 pages, 4 figures; extended abstract appeared in FOCS 201

    Finding shortest non-trivial cycles in directed graphs on surfaces

    No full text
    Let D be a weighted directed graph cellularly embedded in a surface of genus g, orientable or not, possibly with boundary. We describe algorithms to compute a shortest non-contractible and a shortest surface non-separating cycle in D. This generalizes previous results that only dealt with undirected graphs. Our first algorithm computes such cycles in O(n 2 log n) time, where n is the total number of vertices and edges of D, thus matching the complexity of the best known algorithm in the undirected case. It revisits and extends Thomassen’s 3-path condition; the technique applies to other families of cycles as well. We also give an algorithm with subquadratic complexity in the complexity of the input graph, if g is fixed. Specifically, we can solve the problem in O ( √ g n 3/2 log n) time, using a divide-and-conquer technique that simplifies the graph while preserving the topological properties of its cycles. A variant runs in O(ng log g + nlog 2 n) for graphs of bounded treewidth

    Finding shortest non-trivial cycles in directed graphs on surfaces

    No full text
    Let DD be a weighted directed graph cellularly embedded in a surface of genus gg, orientable or not, possibly with boundary.  We describe algorithms to compute shortest non-contractible and shortest surface non-separating cycles in DD, generalizing previous results that dealt with undirected graphs.Our first algorithm computes such cycles in O(n2logn)O(n^2\log n) time, where nn is the total number of vertices and edges of DD, thus matching the complexity of the best general algorithm in the undirected case.  It revisits and extends Thomassen's 3-path condition; the technique applies to other families of cycles as well.We also provide more efficient algorithms in special cases, such as graphs with small genus or bounded treewidth, using a divide-and-conquer technique that simplifies the graph while preserving the topological properties of its cycles.  Finally, we give an efficient output-sensitive algorithm, whose running time depends on the length of the shortest non-contractible or non-separating cycle
    corecore