Compiling Crossing-free Geometric Graphs with Connectivity Constraint for Fast Enumeration, Random Sampling, and Optimization
Given $n$ points in the plane, we propose algorithms to compile connected crossing-free geometric graphs into directed acyclic graphs (DAGs). The DAGs allow efficient counting, enumeration, random sampling, and optimization. Our algorithms rely on Wettstein's framework to compile several crossing-free geometric graphs. One of the remarkable contributions of Wettstein is to allow dealing with geometric graphs with connectivity, since it is known to be difficult to efficiently represent geometric graphs with such global property. To achieve this, Wettstein proposed specialized techniques for crossing-free spanning trees and crossing-free spanning cycles and invented compiling algorithms running in $\mathrm{O}(7.044^n)$ time and $\mathrm{O}(5.619^n)$ time, respectively. Our first contribution is to propose a technique to deal with the connectivity constraint more simply and efficiently. It makes the design and analysis of algorithms easier, and yields improved time complexity. Our algorithms achieve $\mathrm{O}(6^n)$ time and $\mathrm{O}(4^n)$ time for compiling crossing-free spanning trees and crossing-free spanning cycles, respectively. As the second contribution, we propose an algorithm to optimize the area surrounded by crossing-free spanning cycles. To achieve this, we modify the DAG so that it has additional information. Our algorithm runs in $\mathrm{O}(4.829^n)$ time to find an area-minimized (or maximized) crossing-free spanning cycle of a given point set. Although the problem was shown to be NP-complete in 2000, as far as we know, there were no known algorithms faster than the obvious $\mathrm{O}(n!)$ time algorithm for 20 years.