research

Counting and Enumerating Crossing-free Geometric Graphs

Abstract

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

    Similar works