58,983 research outputs found

    Minimum cycle and homology bases of surface embedded graphs

    Get PDF
    We study the problems of finding a minimum cycle basis (a minimum weight set of cycles that form a basis for the cycle space) and a minimum homology basis (a minimum weight set of cycles that generates the 11-dimensional (Z2\mathbb{Z}_2)-homology classes) of an undirected graph embedded on a surface. The problems are closely related, because the minimum cycle basis of a graph contains its minimum homology basis, and the minimum homology basis of the 11-skeleton of any graph is exactly its minimum cycle basis. For the minimum cycle basis problem, we give a deterministic O(nω+22gn2+m)O(n^\omega+2^{2g}n^2+m)-time algorithm for graphs embedded on an orientable surface of genus gg. The best known existing algorithms for surface embedded graphs are those for general graphs: an O(mω)O(m^\omega) time Monte Carlo algorithm and a deterministic O(nm2/logn+n2m)O(nm^2/\log n + n^2 m) time algorithm. For the minimum homology basis problem, we give a deterministic O((g+b)3nlogn+m)O((g+b)^3 n \log n + m)-time algorithm for graphs embedded on an orientable or non-orientable surface of genus gg with bb boundary components, assuming shortest paths are unique, improving on existing algorithms for many values of gg and nn. The assumption of unique shortest paths can be avoided with high probability using randomization or deterministically by increasing the running time of the homology basis algorithm by a factor of O(logn)O(\log n).Comment: A preliminary version of this work was presented at the 32nd Annual International Symposium on Computational Geometr

    JGraphT -- A Java library for graph data structures and algorithms

    Full text link
    Mathematical software and graph-theoretical algorithmic packages to efficiently model, analyze and query graphs are crucial in an era where large-scale spatial, societal and economic network data are abundantly available. One such package is JGraphT, a programming library which contains very efficient and generic graph data-structures along with a large collection of state-of-the-art algorithms. The library is written in Java with stability, interoperability and performance in mind. A distinctive feature of this library is the ability to model vertices and edges as arbitrary objects, thereby permitting natural representations of many common networks including transportation, social and biological networks. Besides classic graph algorithms such as shortest-paths and spanning-tree algorithms, the library contains numerous advanced algorithms: graph and subgraph isomorphism; matching and flow problems; approximation algorithms for NP-hard problems such as independent set and TSP; and several more exotic algorithms such as Berge graph detection. Due to its versatility and generic design, JGraphT is currently used in large-scale commercial, non-commercial and academic research projects. In this work we describe in detail the design and underlying structure of the library, and discuss its most important features and algorithms. A computational study is conducted to evaluate the performance of JGraphT versus a number of similar libraries. Experiments on a large number of graphs over a variety of popular algorithms show that JGraphT is highly competitive with other established libraries such as NetworkX or the BGL.Comment: Major Revisio

    Minimum Cycle Basis and All-Pairs Min Cut of a Planar Graph in Subquadratic Time

    Full text link
    A minimum cycle basis of a weighted undirected graph GG is a basis of the cycle space of GG such that the total weight of the cycles in this basis is minimized. If GG is a planar graph with non-negative edge weights, such a basis can be found in O(n2)O(n^2) time and space, where nn is the size of GG. We show that this is optimal if an explicit representation of the basis is required. We then present an O(n3/2logn)O(n^{3/2}\log n) time and O(n3/2)O(n^{3/2}) space algorithm that computes a minimum cycle basis \emph{implicitly}. From this result, we obtain an output-sensitive algorithm that explicitly computes a minimum cycle basis in O(n3/2logn+C)O(n^{3/2}\log n + C) time and O(n3/2+C)O(n^{3/2} + C) space, where CC is the total size (number of edges and vertices) of the cycles in the basis. These bounds reduce to O(n3/2logn)O(n^{3/2}\log n) and O(n3/2)O(n^{3/2}), respectively, when GG is unweighted. We get similar results for the all-pairs min cut problem since it is dual equivalent to the minimum cycle basis problem for planar graphs. We also obtain O(n3/2logn)O(n^{3/2}\log n) time and O(n3/2)O(n^{3/2}) space algorithms for finding, respectively, the weight vector and a Gomory-Hu tree of GG. The previous best time and space bound for these two problems was quadratic. From our Gomory-Hu tree algorithm, we obtain the following result: with O(n3/2logn)O(n^{3/2}\log n) time and O(n3/2)O(n^{3/2}) space for preprocessing, the weight of a min cut between any two given vertices of GG can be reported in constant time. Previously, such an oracle required quadratic time and space for preprocessing. The oracle can also be extended to report the actual cut in time proportional to its size

    Solving weighted and counting variants of connectivity problems parameterized by treewidth deterministically in single exponential time

    Full text link
    It is well known that many local graph problems, like Vertex Cover and Dominating Set, can be solved in 2^{O(tw)}|V|^{O(1)} time for graphs G=(V,E) with a given tree decomposition of width tw. However, for nonlocal problems, like the fundamental class of connectivity problems, for a long time we did not know how to do this faster than tw^{O(tw)}|V|^{O(1)}. Recently, Cygan et al. (FOCS 2011) presented Monte Carlo algorithms for a wide range of connectivity problems running in time $c^{tw}|V|^{O(1)} for a small constant c, e.g., for Hamiltonian Cycle and Steiner tree. Naturally, this raises the question whether randomization is necessary to achieve this runtime; furthermore, it is desirable to also solve counting and weighted versions (the latter without incurring a pseudo-polynomial cost in terms of the weights). We present two new approaches rooted in linear algebra, based on matrix rank and determinants, which provide deterministic c^{tw}|V|^{O(1)} time algorithms, also for weighted and counting versions. For example, in this time we can solve the traveling salesman problem or count the number of Hamiltonian cycles. The rank-based ideas provide a rather general approach for speeding up even straightforward dynamic programming formulations by identifying "small" sets of representative partial solutions; we focus on the case of expressing connectivity via sets of partitions, but the essential ideas should have further applications. The determinant-based approach uses the matrix tree theorem for deriving closed formulas for counting versions of connectivity problems; we show how to evaluate those formulas via dynamic programming.Comment: 36 page

    Decoherence in quantum walks - a review

    Get PDF
    The development of quantum walks in the context of quantum computation, as generalisations of random walk techniques, led rapidly to several new quantum algorithms. These all follow unitary quantum evolution, apart from the final measurement. Since logical qubits in a quantum computer must be protected from decoherence by error correction, there is no need to consider decoherence at the level of algorithms. Nonetheless, enlarging the range of quantum dynamics to include non-unitary evolution provides a wider range of possibilities for tuning the properties of quantum walks. For example, small amounts of decoherence in a quantum walk on the line can produce more uniform spreading (a top-hat distribution), without losing the quantum speed up. This paper reviews the work on decoherence, and more generally on non-unitary evolution, in quantum walks and suggests what future questions might prove interesting to pursue in this area.Comment: 52 pages, invited review, v2 & v3 updates to include significant work since first posted and corrections from comments received; some non-trivial typos fixed. Comments now limited to changes that can be applied at proof stag

    Fast Computation of Small Cuts via Cycle Space Sampling

    Full text link
    We describe a new sampling-based method to determine cuts in an undirected graph. For a graph (V, E), its cycle space is the family of all subsets of E that have even degree at each vertex. We prove that with high probability, sampling the cycle space identifies the cuts of a graph. This leads to simple new linear-time sequential algorithms for finding all cut edges and cut pairs (a set of 2 edges that form a cut) of a graph. In the model of distributed computing in a graph G=(V, E) with O(log V)-bit messages, our approach yields faster algorithms for several problems. The diameter of G is denoted by Diam, and the maximum degree by Delta. We obtain simple O(Diam)-time distributed algorithms to find all cut edges, 2-edge-connected components, and cut pairs, matching or improving upon previous time bounds. Under natural conditions these new algorithms are universally optimal --- i.e. a Omega(Diam)-time lower bound holds on every graph. We obtain a O(Diam+Delta/log V)-time distributed algorithm for finding cut vertices; this is faster than the best previous algorithm when Delta, Diam = O(sqrt(V)). A simple extension of our work yields the first distributed algorithm with sub-linear time for 3-edge-connected components. The basic distributed algorithms are Monte Carlo, but they can be made Las Vegas without increasing the asymptotic complexity. In the model of parallel computing on the EREW PRAM our approach yields a simple algorithm with optimal time complexity O(log V) for finding cut pairs and 3-edge-connected components.Comment: Previous version appeared in Proc. 35th ICALP, pages 145--160, 200

    Controlling discrete quantum walks: coins and intitial states

    Full text link
    In discrete time, coined quantum walks, the coin degrees of freedom offer the potential for a wider range of controls over the evolution of the walk than are available in the continuous time quantum walk. This paper explores some of the possibilities on regular graphs, and also reports periodic behaviour on small cyclic graphs.Comment: 10 (+epsilon) pages, 10 embedded eps figures, typos corrected, references added and updated, corresponds to published version (except figs 5-9 optimised for b&w printing here
    corecore