Abstract
A non-crossing geometric graph is a graph embedded on a set of points in the plane with non-crossing straight line segments. In this paper we present a general framework for enumerating non-crossing geometric graphs on a given point set. Applying our idea to specific enumeration problems, we obtain faster algorithms for enumerating plane straight-line graphs, non-crossing spanning connected graphs, non-crossing spanning trees, and non-crossing minimally rigid graphs. Our idea also produces efficient enumeration algorithms for other graph classes, for which no algorithm has been reported so far, such as non-crossing matchings, non-crossing red-and-blue matchings, non-crossing k-vertex or k-edge connected graphs, or non-crossing directed spanning trees. The proposed idea is relatively simple and potentially applies to various other problems of non-crossing geometric graphs.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Aichholzer, O., Aurenhammer, F., Huemer, C., Krasser, H.: Transforming spanning trees and pseudo-triangulations. Inf. Process. Lett. 97(1), 19–22 (2006)
Aichholzer, O., Aurenhammer, F., Huemer, C., Vogtenhuber, B.: Gray code enumeration of plane straight-line graphs. Graphs Comb. 23(5), 467–479 (2007)
Aichholzer, O., Aurenhammer, F., Hurtado, F.: Sequences of spanning trees and a fixed tree theorem. Comput. Geom. 21(1–2), 3–20 (2002)
Aichholzer, O., Hackl, T., Huemer, C., Hurtado, F., Krasser, H., Vogtenhuber, B.: On the number of plane geometric graphs. Graphs Comb. 23(1), 67–84 (2007)
Aichholzer, O., Reinhardt, K.: A quadratic distance bound on sliding between crossing-free spanning trees. Comput. Geom. Theory Appl. 37, 155–161 (2007)
Avis, D., Fukuda, K.: A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra. Discrete Comput. Geom. 8, 295–313 (1992)
Avis, D., Fukuda, K.: Reverse search for enumeration. Discrete Appl. Math. 65(1–3), 21–46 (1996)
Avis, D., Katoh, N., Ohsaki, M., Streinu, I., Tanigawa, S.: Enumerating non-crossing minimally rigid frameworks. Graphs Comb. 23(1), 117–134 (2007)
Avis, D., Katoh, N., Ohsaki, M., Streinu, I., Tanigawa, S.: Enumerating constrained non-crossing minimally rigid frameworks. Discrete Comput. Geom. 40(1), 31–46 (2008)
Bereg, S.: Enumerating pseudo-triangulations in the plane. Comput. Geom. Theory Appl. 30(3), 207–222 (2005)
Berg, A., Jordán, T.: Algorithms for graph rigidity and scene analysis. In: Proc. 11th Annual European Symposium on Algorithms (ESA). Lecture Notes in Computer Science, vol. 2832, pp. 78–89. Springer, Berlin (2003)
Bespamyatnikh, S.: An efficient algorithm for enumeration of triangulations. Comput. Geom. Theory Appl. 23(3), 271–279 (2002)
Brönnimann, H., Kettner, L., Pocchiola, M., Snoeyink, J.: Counting and enumerating pointed pseudo-triangulations with the greedy flip algorithm. SIAM J. Comput. 36(3), 721–739 (2006)
Chazelle, B.: Triangulating a simple polygon in linear time. Discrete Comput. Geom. 6(5), 485–524 (1991)
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 2nd edn. MIT Press, Cambridge (2001)
Flajolet, P., Noy, M.: Analytic combinatorics of non-crossing configurations. Discrete Math. 204, 203–229 (1999)
Graver, J., Servatius, B., Servatius, H.: Combinatorial Rigidity, Graduate Studies in Mathematics, vol. 2. American Mathematical Society, Reading (1993)
Guibas, L.J., Hershberger, J., Leven, D., Sharir, M., Tarjan, R.E.: Linear-time algorithms for visibility and shortest path problems inside triangulated simple polygons. Algorithmica 2, 209–233 (1987)
Kapoor, S., Ramesh, H.: Algorithms for enumerating all spanning trees of undirected and weighted graphs. SIAM J. Comput. 24(2), 247–265 (1995)
Kapoor, S., Ramesh, H.: An algorithm for enumerating all spanning trees of a directed graph. Algorithmica 27(2), 120–130 (2000)
Katoh, N., Tanigawa, S.: Enumerating edge-constrained triangulations and edge-constrained non-crossing spanning trees. Discrete Appl. Math. (to appear)
Hernando, M.C., Houle, M.E., Hurtado, F.: On local transformation of polygons with visibility properties. In: Proc. 6th International Conference Computing and Combinatorics, COCOON 2000. Lecture Notes in Computer Science, vol. 1858, pp. 54–63. Springer, Berlin (2000)
Hernando, C., Hurtado, F., Noy, M.: Graphs of non-crossing perfect matchings. Graphs Comb. 18(3), 517–532 (2002)
Houle, M.E., Hurtado, F., Noy, M., Rivera-Campo, E.: Graphs of triangulations and perfect matchings. Graphs Comb. 21(3), 325–331 (2005)
Hurtado, F., Noy, M., Urrutia, J.: Flipping edges in triangulations. Discrete Comput. Geom. 22(3), 333–346 (1999)
Jansen, K., Woeginger, G.J.: The complexity of detecting crossingfree configurations in the plane. BIT 33(4), 580–595 (1993)
Lee, A., Streinu, I.: Pebble game algorithms and sparse graphs. Discrete Math. 308(8), 1425–1437 (2008)
Matsui, Y., Matsui, T., Fukuda, K.: A catalog of enumeration algorithms. http://roso.epfl.ch/kf/enum/enum.html
Savage, C.: A survey of combinatorial Gray codes. SIAM Rev. 39, 605–629 (1997)
Schrijver, A.: Combinatorial Optimization. Polyhedra and Efficiency. Springer, Heidelberg (2003)
Shioura, A., Tamura, A.: Efficiently scanning all spanning trees of an undirected graph. J. Oper. Res. Soc. J. 38(3), 331–344 (1995)
Shioura, A., Tamura, A., Uno, T.: An optimal algorithm for scanning all spanning trees of undirected graphs. SIAM J. Comput. 26(3), 678–692 (1997)
Uno, T.: A new approach for speeding up enumeration algorithms and its application for matroid bases. In: Proc. 5th Computing and Combinatorics Conference (COCOON ’99). Lecture Notes in Computer Science, vol. 1627, pp. 54–63. Springer, Berlin (1999)
Uno, T.: A new approach for speeding up enumeration algorithms. In: Proc. 9th International Symposium on Algorithm and Computation (ISAAC ’98). Lecture Notes in Computer Science, vol. 1533, pp. 287–296. Springer, Berlin (1998)
Uno, T.: Algorithms for enumerating all perfect, maximum and maximal matchings in bipartite graphs. In: Proc. 8th International Symposium on Algorithms and Computation (ISAAC ’97). Lecture Notes in Computer Science, vol. 1350, pp. 92–101. Springer, Berlin (1997)
Welzl, E.: Counting of crossing-free geometric graphs. In: Significant Advances in Computer Science (SACS 07), Graz, Austria, November 2007
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Katoh, N., Tanigawa, SI. Fast Enumeration Algorithms for Non-crossing Geometric Graphs. Discrete Comput Geom 42, 443–468 (2009). https://doi.org/10.1007/s00454-009-9164-4
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00454-009-9164-4