2,907 research outputs found

    Counting Triangulations and other Crossing-Free Structures Approximately

    Full text link
    We consider the problem of counting straight-edge triangulations of a given set PP of nn points in the plane. Until very recently it was not known whether the exact number of triangulations of PP can be computed asymptotically faster than by enumerating all triangulations. We now know that the number of triangulations of PP can be computed in O∗(2n)O^{*}(2^{n}) time, which is less than the lower bound of Ω(2.43n)\Omega(2.43^{n}) on the number of triangulations of any point set. In this paper we address the question of whether one can approximately count triangulations in sub-exponential time. We present an algorithm with sub-exponential running time and sub-exponential approximation ratio, that is, denoting by Λ\Lambda the output of our algorithm, and by cnc^{n} the exact number of triangulations of PP, for some positive constant cc, we prove that cn≤Λ≤cn⋅2o(n)c^{n}\leq\Lambda\leq c^{n}\cdot 2^{o(n)}. This is the first algorithm that in sub-exponential time computes a (1+o(1))(1+o(1))-approximation of the base of the number of triangulations, more precisely, c≤Λ1n≤(1+o(1))cc\leq\Lambda^{\frac{1}{n}}\leq(1 + o(1))c. Our algorithm can be adapted to approximately count other crossing-free structures on PP, keeping the quality of approximation and running time intact. In this paper we show how to do this for matchings and spanning trees.Comment: 19 pages, 2 figures. A preliminary version appeared at CCCG 201

    Counting and Enumerating Crossing-free Geometric Graphs

    Full text link
    We describe a framework for counting and enumerating various types of crossing-free geometric graphs on a planar point set. The framework generalizes ideas of Alvarez and Seidel, who used them to count triangulations in time O(2nn2)O(2^nn^2) where nn is the number of points. The main idea is to reduce the problem of counting geometric graphs to counting source-sink paths in a directed acyclic graph. The following new results will emerge. The number of all crossing-free geometric graphs can be computed in time O(cnn4)O(c^nn^4) for some c<2.83929c < 2.83929. The number of crossing-free convex partitions can be computed in time O(2nn4)O(2^nn^4). The number of crossing-free perfect matchings can be computed in time O(2nn4)O(2^nn^4). The number of convex subdivisions can be computed in time O(2nn4)O(2^nn^4). The number of crossing-free spanning trees can be computed in time O(cnn4)O(c^nn^4) for some c<7.04313c < 7.04313. The number of crossing-free spanning cycles can be computed in time O(cnn4)O(c^nn^4) for some c<5.61804c < 5.61804. With the same bounds on the running time we can construct data structures which allow fast enumeration of the respective classes. For example, after O(2nn4)O(2^nn^4) time of preprocessing we can enumerate the set of all crossing-free perfect matchings using polynomial time per enumerated object. For crossing-free perfect matchings and convex partitions we further obtain enumeration algorithms where the time delay for each (in particular, the first) output is bounded by a polynomial in nn. All described algorithms are comparatively simple, both in terms of their analysis and implementation

    Minimum Cuts in Near-Linear Time

    Full text link
    We significantly improve known time bounds for solving the minimum cut problem on undirected graphs. We use a ``semi-duality'' between minimum cuts and maximum spanning tree packings combined with our previously developed random sampling techniques. We give a randomized algorithm that finds a minimum cut in an m-edge, n-vertex graph with high probability in O(m log^3 n) time. We also give a simpler randomized algorithm that finds all minimum cuts with high probability in O(n^2 log n) time. This variant has an optimal RNC parallelization. Both variants improve on the previous best time bound of O(n^2 log^3 n). Other applications of the tree-packing approach are new, nearly tight bounds on the number of near minimum cuts a graph may have and a new data structure for representing them in a space-efficient manner

    Parametric shortest-path algorithms via tropical geometry

    Full text link
    We study parameterized versions of classical algorithms for computing shortest-path trees. This is most easily expressed in terms of tropical geometry. Applications include shortest paths in traffic networks with variable link travel times.Comment: 24 pages and 8 figure

    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
    • …
    corecore