2,137 research outputs found

    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

    Asymptotic enumeration of non-crossing partitions on surfaces

    Get PDF
    We generalize the notion of non-crossing partition on a disk to general surfaces with boundary. For this, we consider a surface S and introduce the number CS(n) of noncrossing partitions of a set of n points laying on the boundary of SPostprint (author's final draft

    Dynamic programming for graphs on surfaces

    Get PDF
    We provide a framework for the design and analysis of dynamic programming algorithms for surface-embedded graphs on n vertices and branchwidth at most k. Our technique applies to general families of problems where standard dynamic programming runs in 2O(k·log k). Our approach combines tools from topological graph theory and analytic combinatorics.Postprint (updated version

    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

    All Maximal Independent Sets and Dynamic Dominance for Sparse Graphs

    Full text link
    We describe algorithms, based on Avis and Fukuda's reverse search paradigm, for listing all maximal independent sets in a sparse graph in polynomial time and delay per output. For bounded degree graphs, our algorithms take constant time per set generated; for minor-closed graph families, the time is O(n) per set, and for more general sparse graph families we achieve subquadratic time per set. We also describe new data structures for maintaining a dynamic vertex set S in a sparse or minor-closed graph family, and querying the number of vertices not dominated by S; for minor-closed graph families the time per update is constant, while it is sublinear for any sparse graph family. We can also maintain a dynamic vertex set in an arbitrary m-edge graph and test the independence of the maintained set in time O(sqrt m) per update. We use the domination data structures as part of our enumeration algorithms.Comment: 10 page
    • …
    corecore