Given a set of n points S in the plane, a triangulation T of S is a maximal set of non-crossing segments with endpoints in S. We present an algorithm that computes the number of triangulations on a given set of n points in time n^{ (11+ o(1)) sqrt{n} }, significantly improving the previous best running time of O(2^n n^2) by Alvarez and Seidel [SoCG 2013]. Our main tool is identifying separators of size O(sqrt{n}) of a triangulation in a canonical way. The definition of the separators are based on the decomposition of the triangulation into nested layers ("cactus graphs"). Based on the above algorithm, we develop a simple and formal framework to count other non-crossing straight-line graphs in n^{O(sqrt{n})} time. We demonstrate the usefulness of the framework by applying it to counting non-crossing Hamilton cycles, spanning trees, perfect matchings, 3-colorable triangulations, connected graphs, cycle decompositions, quadrangulations, 3-regular graphs, and more.
@InProceedings{marx_et_al:LIPIcs.SoCG.2016.52, author = {Marx, D\'{a}niel and Miltzow, Tillmann}, title = {{Peeling and Nibbling the Cactus: Subexponential-Time Algorithms for Counting Triangulations and Related Problems}}, booktitle = {32nd International Symposium on Computational Geometry (SoCG 2016)}, pages = {52:1--52:16}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-009-5}, ISSN = {1868-8969}, year = {2016}, volume = {51}, editor = {Fekete, S\'{a}ndor and Lubiw, Anna}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.SoCG.2016.52}, URN = {urn:nbn:de:0030-drops-59445}, doi = {10.4230/LIPIcs.SoCG.2016.52}, annote = {Keywords: computational geometry, triangulations, exponential-time algorithms} }
Feedback for Dagstuhl Publishing