Elsevier

Computational Geometry

Volume 97, August 2021, 101770
Computational Geometry

Faradžev Read-type enumeration of non-isomorphic CC systems

https://doi.org/10.1016/j.comgeo.2021.101770Get rights and content

Highlights

  • CC systems are abstract representations of point triples orientation in a plane.

  • The number of non-isomorphic CC systems grows very fast with more points added.

  • Enumeration of CC systems is useful in proving discrete geometry conjectures.

  • Non-isomorphic CC systems of up to 12 points are re-enumerated using a new approach.

Abstract

Donald Knuth introduced abstract CC systems to represent configurations of points in a plane with a given orientation (clockwise or counterclockwise) of all triples of points. We present efficient enumeration of all non-isomorphic CC systems with at most 12 points. Our algorithm is based on Faradžev-Read type enumeration, enhanced with the homomorphism principle and SAT solving, enabling us to enumerate more than 1.31012 non-isomorphic CC systems with 12 points.

Introduction

Many conjectures in finite discrete geometry can be tested by examining them on different configurations of points in a plane. Therefore, it is often desirable to list all non-isomorphic configurations of points wrt. some isomorphism relation. In many applications it suffices to consider that two configurations are isomorphic if orientation (clockwise or counterclockwise) of all corresponding triplets of points is the same (without loss of generality, it can be considered that all given points are in a general position i.e., that no three points are collinear). For example, some finite cases of the famous Erdős-Szekeres Happy-Ending conjecture [1] are shown by analyzing all different orientations of triples of points [2], [3]. Orientation can be easily determined from the Cartesian coordinates of the points. However, if the coordinates of points are not given, but only the orientation of all triples of points, the problem of enumerating non-isomorphic configurations becomes a pure combinatorial problem, that may be easier to solve than the more general geometric problem.

Orientations of points cannot be assigned arbitrarily, as in some cases the configurations would not be geometrically realizable i.e., it would not be possible to find coordinates of points with such orientation. Knuth [4] introduced abstract CC systems to be sets of points with a fixed orientation of all triples of points, where the orientation satisfies some axioms used to rule out configurations that would obviously be geometrically unrealizable. Those axioms give necessary, but not sufficient conditions to realizability, so there exist CC systems that are not geometrically realizable.1 Nevertheless, for many applications, it is sufficient to enumerate all non-isomorphic CC systems, without testing their realizability, since many interesting conjectures hold for non-realizable CC systems as well.

The problem of enumeration of all non-isomorphic CC systems quickly becomes quite challenging, since the number of non-isomorphic CC systems of a fixed size n (i.e. the number of points) tends to grow very fast as n grows (exponentially in n2 [4]). Up to our best knowledge, the greatest size for which the number of non-isomorphic CC systems is published is n=10, and that number is 28 627 261 [7].

In this paper we present a novel algorithm for enumerating non-isomorphic CC systems. It is based on Faradžev-Read general algorithm scheme [8], [9]. It is combined with the homomorphism principle [10], that is applied on the structure of nested convex hulls of the set of points in order to reduce the number of tested permutations. An important component of the algorithm is the augmenting operation, which is based on efficient SAT solving, enabling us to enumerate all non-isomorphic CC systems of sizes n=11 and n=12 (there are respectively 4 686 329 954 and 1 382 939 012 729 such systems), using a multi-processor computer. The question of realizability of enumerated CC systems is not considered in this paper. Aside from the obtained numbers (which could be calculated relatively easily from the existing publicly available data generated by other researchers), the main contribution of our work is the method itself, since the presented techniques could be generalized and applied to other problems in the field of combinatorial geometry.

Related work. The concept of abstract CC systems is related to a very similar concept of abstract order types. An order type of a set of n points in a plane is a mapping that assigns to each triple of points from the set an orientation (clockwise or counterclockwise). The key difference between order types and CC systems is in the way the equivalence relation is defined – while two CC systems are considered equivalent if they can be obtained from each other only by relabeling, two order types are considered equivalent if they can be obtained from each other by both relabeling and mirroring. In other words, each order type may consist of one or two non-isomorphic CC systems, depending on whether the two mirrored CC systems are isomorphic (such CC systems are called achiral [7]). Because of the similarity of the two concepts, existing methods for enumeration of order types (as well as publicly available databases) can be employed for enumeration of CC systems and vice versa.

The enumeration of order types seems to be much better covered in the literature than the enumeration of CC systems. One of the first and the most important work on enumeration of order types is done by Aichholzer et al. [5], where this problem is reduced to the problem of enumeration of non-isomorphic arrangements of straight lines by a suitable duality transformation. This problem is, in turn, reduced to the problem of enumeration of pseudoline arrangements (i.e. a relaxed version of the problem where simple curves may be used instead of straight lines), which is then solved using the method of wiring diagrams [11]. Since some pseudoline arrangements may not be stretchable (i.e. cannot be transformed to an equivalent straight line arrangement), the corresponding order types may not be geometrically realizable (hence the name abstract order types). The authors further consider realizability of the obtained abstract order types to obtain the list of all realizable order types up to the size of 10. The same authors extended their work in [12], where they have provided a complete enumeration of all (abstract and realizable) order types of size 11, using the same method based on the wiring diagrams for pseudoline arrangement enumeration, and the set of enhanced methods for construction of geometric realizations of the obtained abstract order types.

The enumeration of abstract order types of size 11 is considered again recently by Scheucher et al. [13]. Their method is based on augmentation of already enumerated order types of smaller size, in the way that the signotope axioms remain satisfied. Their method has shown excellent performance, enumerating all abstract order types of size 11 in just about 20 CPU hours. The problem of realizability of obtained abstract order types is not considered in their work. The obtained database of abstract order types of size 11 is then used to prove that there are no 11-universal sets of size 11, which is done with the help of a SAT solver.

The problem of enumeration of non-isomorphic CC systems has been also studied in the literature, but to a much lesser extent. For example, Knuth [4] gives quite a thorough analysis of the problem, and gives asymptotic behavior of the number of non-isomorphic CC systems (exponential in n2). He also shows the tight connection between CC systems and primitive sorting networks, showing that the number of non-isomorphic CC systems is equal to the number of “weakly equivalent reflection networks”. He presents the numbers of non-isomorphic CC systems with up to 9 points. A decade later, the number of non-isomorphic CC systems of size 10 is published in [7]. In this work, the techniques based on halving lines are used to enumerate all pseudoline arrangements of size 10 (which correspond to abstract order types). Using the number of achiral CC systems of size 10, they obtain the number of all non-isomorphic CC systems of size 10.

Aside from the published work, some data recently made public by Scheucher and Rote suggest the numbers of abstract order types up to the size 13,2 as well as the numbers of mirror-symmetric abstract order types (that is, the number of achiral CC systems) up to the size 13.3 These numbers allow us to easily calculate the number of non-isomorphic CC systems up to the size 13, using the formula Cn=2DnRn, where Cn is the number of CC systems of size n, Dn is the number of abstract order types of size n, and Rn is the number of achiral CC systems of size n (thus we have C11 = 4 686 329 954, C12=1382939012729, and C13=732955581630129, confirming our results for C11 and C12). As far as we know, these numbers were not officially published so far.

SAT solving has recently been applied to efficient solving of several problems in discrete finite geometry (e.g., [2], [14], [15], [13]). Marić used a SAT solver to confirm the Erdős-Szekeres Happy-Ending conjecture for polygons with at most 6 points [2], and Balko and Valtr used a SAT solver to refute the conjecture of Peters and Szekeres (a stronger variant of Erdős and Szekers conjecture). Beside mentioned work of Scheucher et al. [13], another interesting application is given by Scheucher in [14]. In this work, with computer assistance, it is shown that every set of 17 points in general position in a plane admits two disjoint 5-holes. The allowable configurations of points are encoded using signotope axioms, and additional constraints are added to forbid disjoint 5-holes. The unsatisfiability result for the set of 17 points proves the conjecture.

Outline of the paper. In Section 2 we give some background on Faradžev-Read type algorithms, SAT solvers and CC systems. In Section 3 we describe our algorithm and prove its correctness. In Section 4 we give some details of its C++ implementation and show experimental results. In Section 5, we provide a more detailed comparison of our work to other relevant approaches in the literature. Finally, in Section 6 we draw some conclusions and describe some directions of further work.

Section snippets

Preliminaries

In this section we describe some background on Faradžev-Read algorithm, SAT solving and CC systems.

Enumeration of non-isomorphic finite CC systems

In this section, an instance of the Faradžev-Read algorithm scheme for enumeration of non-isomorphic CC system of finite sizes is described. First, a compact way for representing finite CC systems is defined. Such representations will be called configurations. In order to shrink the search space, we will analyze the structures of CC systems in more details. The results of such analysis will enable us to focus on a special class of configurations, which will be called regular configurations. We

Implementation and results

The algorithm described in previous section is implemented in C++ programming language.4 With the default settings, the implementation just prints the number of non-isomorphic configurations of a given size, but the appropriate compilation options may be given in order to print all canonical configurations (as strings) to the standard output. In this section we provide details about the implementation and the obtained

Comparison to other approaches

Our approach to enumeration of non-isomorphic CC systems is based on augmentation of CC systems of smaller size, and checking the obtained augmented CC systems for canonicity, in a Faradžev-Read's fashion. In its simplified form (Algorithm 2), Faradžev-Read's method is similar to other approaches used for exhaustive enumeration of combinatorial objects, and some of them have been already employed for enumeration of order types. In the following text, we present such existing approaches and

Conclusions and further work

We have presented an instance of Faradžev-Read's algorithm and used it to enumerate all non-isomorphic CC systems with up to 12 points (using a multiprocessor computer). Enumerating all non-isomorphic CC systems with 13 or more points currently seems out of reach with the hardware we have at our disposal.

There are two crucial components of every Faradžev-Read's algorithm instance: checking canonicity and augmenting objects.

By finding a suitable invariant – the nested convex hull to which a

Funding

This work was partially supported by the Serbian Ministry of Science [grant number 174021].

Declaration of Competing Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

References (27)

  • D.E. Knuth

    Axioms and Hulls, vol. 606

    (1992)
  • O. Aichholzer et al.

    Enumerating order types for small point sets with applications

    Order

    (2002)
  • J. Bokowski et al.

    Nonrealizability proofs in computational geometry

    Discrete Comput. Geom.

    (1990)
  • Cited by (0)

    View full text