Chains, Koch Chains, and Point Sets with many Triangulations
Abstract
We introduce the abstract notion of a chain, which is a sequence of points in the plane, ordered by -coordinates, so that the edge between any two consecutive points is unavoidable as far as triangulations are concerned. A general theory of the structural properties of chains is developed, alongside a general understanding of their number of triangulations.
We also describe an intriguing new and concrete configuration, which we call the Koch chain due to its similarities to the Koch curve. A specific construction based on Koch chains is then shown to have triangulations. This is a significant improvement over the previous and long-standing lower bound of for the maximum number of triangulations of planar point sets.
1 Introduction
Let be a set of points in the Euclidean plane. Throughout the paper, is assumed to be in general position, which means for us that no two points have the same -coordinate and that no three points are on a common line. A geometric graph on is a graph with vertex set combined with an embedding into the plane where edges are realized as straight-line segments between the corresponding endpoints. It is called crossing-free if the edges have no pairwise intersection, except possibly in a common endpoint.
Triangulations.
Perhaps the most prominent and most studied family of crossing-free geometric graphs is the family of triangulations, which may be defined simply as edge-maximal crossing-free geometric graphs on . It is easy to see that such a definition implies that the edges of any triangulation subdivide the convex hull of into triangular regions.
Let denote the number of triangulations on a given point set . Trying to better understand this quantity is a fundamental question in combinatorial and computational geometry. For very specific families of point sets, exact formulas or at least asymptotic estimates can be derived. For example, it is well-known that if is a set of points in convex position, then , where is the -th Catalan number [oeiscatalan]. In general, however, this problem turns out to be much more elusive.
There is an elegant algorithm by Alvarez and Seidel [alvarez2013] from 2013 that computes in exponential time . It has been surpassed by Marx and Miltzow [marx2016] in 2016, who showed how to compute in subexponential time . Moreover, Avis and Fukuda [avis1996] have shown already in 1996 how to enumerate the set of all triangulations on (i.e., to compute an explicit representation of each element) by using a general technique called reverse search in time for some polynomial . A particularly efficient implementation of that technique with has been described by Bespamyatnikh [bespamyatnikh2002].
Extensive research has also gone into extremal upper and lower bounds in terms of the number of points. That is, if we define
to be the respectively largest and smallest numbers of triangulations attainable by a set of points in general position, then various authors have attempted to establish and improve upper and lower bounds on these quantities.
As far as the maximum is concerned, a seminal result by Ajtai, Chvátal, Newborn, and Szemerédi [ajtai1982] from 1982 shows that the number of triangulations—and, more generally, the number of all crossing-free geometric graphs—is at most . A long series of successive improvements [smith1989, denny1997, seidel1998, santos2003, sharir2006] using a variety of different techniques has culminated in the currently best upper bound due to Sharir and Sheffer [sharir2011], which has remained uncontested for over a decade. Coming from the other side, attempts have been made to construct point sets with a particularly large number of triangulations. For some time, the double chain by García, Noy, and Tejel [garcia2000] with approximately triangulations was conjectured to have the largest possible number of triangulations. However, variants like the double zig-zag chain by Aichholzer et al. [aichholzer2007] with triangulations and a specific instance of the generalized double zig-zag chain by Dumitrescu, Schulz, Sheffer, and Tóth [dumitrescu2013] with triangulations have since been discovered. But also on this front, no further progress on the lower bound has been made for a decade.
The situation for the minimum is different insofar that the double circle with triangulations, as analyzed by Hurtado and Noy [hurtado1997] in 1997, is still conjectured by many to have the smallest number of triangulations. In other words, it is believed that the resulting upper bound is best possible. On the other hand, Aichholzer et al. [aichholzer2016] have shown that every point set has at least triangulations, thereby establishing the lower bound .
The focus of this paper lies on and, more specifically, on establishing an improved lower bound on that quantity. Ultimately, we show how to construct a new infinite family of point sets with triangulations, thereby proving .
General chains.
It has occurred to us that almost all families of point sets whose numbers of triangulations have been analyzed over the years have a very special structure, which we are trying to capture in the following definition.
Definition 1.
A chain is a sequence of points sorted by increasing -coordinates, such that the edge is unavoidable (i.e., contained in every triangulation of ) for each . These specific unavoidable edges are also referred to as chain edges.
In contrast to previous convention, we use the parameter to denote the number of chain edges and not the number of points in , which is . Also note that Definition 1 implies that the edge is an edge of the convex hull and, hence, also unavoidable. Indeed, since all chain edges are unavoidable, the edge cannot possibly cross any of them and, hence, is either above or below all the points in between. Therefore, a chain always admits a spanning cycle of unavoidable edges with at least one hull edge. We prove in Section 2 that this is also a characterization of chains in terms of order types (see [goodman1983] for a definition).
Theorem 2.
For every point set that admits a spanning cycle of unavoidable edges including at least one convex hull edge, there exists a chain with the same order type.
All of the mentioned families of point sets (convex position, double chain, and so on) are usually neither defined nor depicted in a way that makes it clear that they may be thought of as chains as in Definition 1. Still, the premise of Theorem 2 is easily verified for all of them except for the double circle, which may however be transformed into a chain by removing one of the inner points. Figure 1 shows realizations of some such point sets as chains.
Imagine walking along the chain edges and recording at each point the information whether we make a left turn or a right turn. It can be noted already now that such information—while crucial—is not enough to really capture all of the relevant combinatorial structure of a given chain. Instead, the right way of looking at it turns out to be recording for each edge whether it lies above or below all the chain edges in between.
The simple linear structure inherent to chains allows us to develop a combinatorial theory in Section 2, by which every chain admits a unique construction starting from the primitive chain with only one edge. Two types of sum operations, so-called convex and concave sums, are used to “concatenate” chains, while an inversion allows to “flip” a chain on its head. This yields for every chain a concise and unique description as an algebraic formula. Based on this, we will also see that the number of combinatorially different chains with chain edges is equal to , where is the -th large Schröder number [oeisbigschroeder].
Triangulations of chains.
The unavoidable chain edges separate every triangulation cleanly into an upper triangulation of the region above the chain edges and into a lower triangulation of the region below. Therefore, both upper and lower triangulations may be analyzed separately. It also follows that there is no further complication due to inner vertices as one would typically encounter them in general point sets.
There is a simple cubic time dynamic programming algorithm for counting triangulations of simple polygons [epstein1994]. Such an algorithm can of course also be used to count both the upper and lower triangulations of a given chain. However, we show in Section 3 that the additional structure of chains allows us to devise an improved quadratic time algorithm, which plays a crucial role in the derivation of our main result.
Theorem 3.
Given a chain with chain edges as input, it is possible to compute the number by using only integer additions and multiplications.
The Koch chain.
There is a particular type of chain that has caught our interest and which, to the best of our knowledge, has not been described in the literature before. We call it the Koch chain due to its striking similarity in appearance and definition to the famous Koch curve. More precise definitions follow later in Definition 14; for now, suppose is a primitive chain with just one chain edge, and let the -th iteration of the Koch chain be defined by concatenating two flipped and sufficiently flattened copies of in such a way that the chain edges at the point of concatenation form a left turn, see Figure 2.
Koch chains turn out to have a particularly large number of triangulations, much more so than any other known point sets. For values of up to , we have computed the corresponding numbers of upper and lower triangulations, as well as complete triangulations, by using our algorithm from Theorem 3. The results are displayed in Table 1.
0 | 1 | 1.0 | 1.0 | 1.0 | 11 | 2048 | 3.121029 | 2.858643 | 8.921910 |
---|---|---|---|---|---|---|---|---|---|
1 | 2 | 1.0 | 1.0 | 1.0 | 12 | 4096 | 2.882177 | 3.121029 | 8.995359 |
2 | 4 | 1.189207 | 1.0 | 1.189207 | 13 | 8192 | 3.134955 | 2.882177 | 9.035496 |
3 | 8 | 1.791279 | 1.189207 | 2.130201 | 14 | 16384 | 2.889213 | 3.134955 | 9.057554 |
4 | 16 | 2.035453 | 1.791279 | 3.646065 | 15 | 32768 | 3.139056 | 2.889213 | 9.069406 |
5 | 32 | 2.558954 | 2.035453 | 5.208633 | 16 | 65536 | 2.891256 | 3.139056 | 9.075820 |
6 | 64 | 2.564646 | 2.558954 | 6.562814 | 17 | 131072 | 3.140236 | 2.891256 | 9.079229 |
7 | 128 | 2.935733 | 2.564646 | 7.529118 | 18 | 262144 | 2.891838 | 3.140236 | 9.081055 |
8 | 256 | 2.783587 | 2.935733 | 8.171870 | 19 | 524288 | 3.140569 | 2.891838 | 9.082019 |
9 | 512 | 3.075469 | 2.783587 | 8.560839 | 20 | 1048576 | 2.892001 | 3.140569 | 9.082530 |
10 | 1024 | 2.858643 | 3.075469 | 8.791671 | 21 | 2097152 | 3.140662 | 2.892001 | 9.082799 |
In consequence, concatenating copies of side by side results in an infinite family of point sets with at least triangulations. This alone already establishes the improved lower bound of .
Poly chains and Twin chains.
We were unable to nail down the exact asymptotic behavior of the number of triangulations of as approaches infinity. It is also unclear how much is lost due to undercounting by not considering any interactions between the different copies of in our simple lower bound construction from just before.
To remedy the situation somewhat, in LABEL:sec:polytwin we define and analyze more carefully the poly- chain (a specific way of concatenating copies of a fixed chain ) and the twin- chain (a construction where two copies of a poly- chain face each other, similar in spirit to the classic double chain). Based on these considerations, we get a slightly improved lower bound construction, and we are also able to conclude that the numbers in the last column of Table 1 will not grow significantly larger than what we already have.
Theorem 4.
Let be the twin- chain that is made up of copies of for a total of chain edges. Then,
Theorem 5.
For the Koch chain with chain edges, we have
2 Structural Properties of Chains
Recall Definition 1 from the introduction. Note that the unavoidable chain edges form an -monotone curve , to which we refer as the chain curve. An edge that is not a chain edge cannot cross the chain curve, and so it lies either above or below that curve.
Definition 6.
To every chain we associate a visibility triangle with entries
As an example, the visibility triangles of the chains that correspond to the classic point sets from the introduction can be seen in Figure 3. In all such illustrations, the indices of are understood in familiar matrix notation; that is, indexes the row and indexes the column.
For , the triangle is oriented counter-clockwise if and only if lies below the edge or, equivalently, if and only if . It follows that two chains with the same visibility triangle have the same order type and, therefore, the same set of crossing-free geometric graphs and triangulations. This motivates using the visibility triangle as the canonical representation of a chain. That is, we consider two chains to be equal if their visibility triangles are identical; in particular, given two chains and , we write if .
The edge plays a crucial role in determining the shape of a chain. For example, if , then this edge is the only edge on the upper convex hull and, from a global perspective, the chain curve looks like it is curving upwards. Conversely, if , then the chain curve looks like it is curving downwards. Correspondingly, we call a chain with an upward chain, and a chain with a downward chain. This implies that every chain is either an upward or a downward chain, and the primitive chain with only chain edge is the only chain that is both.
2.1 Flips
Chains may be flipped upside-down by reflection at the -axis, thus turning an upward chain into a downward chain, and vice versa. See Figure 4 for an example.
Proposition 7.
Let be a chain with chain edges. Then, there is another chain (which we denote by and call the flipped version of ) with chain edges and visibility triangle
2.2 Convex and Concave Sums
Given two chains and , we would like to concatenate them so that we get a new chain containing and as substructures. As shown in Figure 5, there are two ways to do so.
Proposition 8.
Let and be chains with and chain edges, respectively. Then, there is an upward chain (which we denote by and call the convex sum of and ) with chain edges and visibility triangle
Proposition 9.
Similarly, there is a downward chain (which we denote by and call the concave sum of and ) with chain edges and visibility triangle
Proof of Proposition 8.
We focus on the convex sum; the proof for the concave sum is analogous. We have to show that there is a point set that forms a chain with the specified visibility triangle. Intuitively speaking, this is achieved by first flattening the two given chains and then arranging them in a -shape.
To be more precise, we employ vertical shearings, which are maps in for some . Vertical shearings preserve signed areas and -coordinates. Hence, if a point set realizes a specific chain, then so does its image under any vertical shearing.
With the help of an appropriate vertical shearing, we may realize as a point set in the rectangle in such a way that the first point is at and the last point is at . Then, given any , we may rescale vertically to get a point set in the rectangle . Let now be the image of under the vertical shearing with . Then, the first point of lies at , while the last point remains at . For , since is a realization of , so is . On the other hand, for , the points of all lie on the segment between and .
With we proceed similarly to get a point set in the rectangle , but we now apply the vertical shearing with to get with the first point at and the last point at .
Let . We claim that for small enough, is a chain with visibility triangle as specified. Indeed, as is a realization of , we only need to check that the edges between any point of and any point of (excluding the common point at the origin) lie above all the points in between. Since this is the case for and depends continuously on , the claim follows. ∎
2.3 Algebraic Properties
Using the formulas for the visibility triangles from the corresponding transformations in Propositions 7, 8 and 9, it can be checked easily that the following algebraic laws hold.
Lemma 10.
Let be arbitrary chains. Then, the following are all true.
Involution: | ||||||
De Morgan: | ||||||
Associativity: |
However, note that for example is not the same chain as .
2.4 Examples
We denote by the primitive chain with only chain edge; that is, the visibility triangle has just the entry . Using this as a building block, we may define two more fundamental chains, the convex chain and the concave chain , by setting
The convex chain is an upward chain, while the concave chain is a downward chain. Also, since , we get by using De Morgan’s law. Finally, note that and are distinct as chains, even though they both describe a set of points in convex position.
As already mentioned in the introduction, many previously studied point sets are in fact chains, or can be seen as such. Using flips as well as convex and concave sums, we can now describe these configurations with very concise formulas.
Example 11.
For any integer , the double chain with chain edges is the chain
Example 12.
For any integer , the zig-zag chain with chain edges (which, in essence, is a double circle with one of the inner points removed) is the chain
Example 13.
For any integer , the double zig-zag chain with chain edges is the chain
All these examples involve formulas of constant nesting depth only. But the tools developed up to this point allow us to also define more complicated chains via formulas of non-constant nesting depth, without having to worry about questions of realizability. One such chain with logarithmic nesting depth is indeed the Koch chain.
Definition 14.
The Koch chain is an upward chain with chain edges, defined recursively via and for all integers .
Indeed, after expanding the recursive definition twice and using De Morgan’s law on both sides, we see that the formula has a complete binary parse tree with alternating convex and concave sums on any path from the root to a leaf.
2.5 Unique Construction
We want to prove the following result. In essence, it states that every chain can be constructed in a unique way by using only convex and concave sums.
Theorem 15.
Every chain can be expressed as a formula involving convex sums, concave sums, parentheses, and copies of the primitive chain with only one chain edge. This formula is unique up to redundant parentheses (redundant due to associativity as in Lemma 10).
In particular, the above theorem allows us to encode a chain with bits (as opposed to the bits required for the visibility triangle) and to easily enumerate all chains of a fixed size. We further see by means of a straightforward bijection to Schröder trees (these are ordered trees that have no vertex of outdegree one; as such, they describe precisely the parse trees of the unique formulas of upward chains) that the number of upward chains is given by the little Schröder numbers [oeislittleschroeder] and the number of all chains is given by the large Schröder numbers [oeisbigschroeder].
The theorem follows by induction from the following proposition (and from an analogous proposition that expresses downward chains as a unique concave sum of upward chains).
Proposition 16.
Let be an upward chain with chain edges. Suppose that the lower convex hull of is with . For , let be the chain with points . Then, each is a downward chain. Moreover, and any formula that evaluates to has the same top-level structure.
Proof.
As is an edge of the lower convex hull of , it is below all the points in between. Hence, each is indeed a downward chain.
To prove , we have to show that both chains have the same visibility triangle. By definition of the , the visibility triangles clearly agree on all entries that stem from an edge where and are both part of the same . On the other hand, if and are not part of the same , then there is a with . As is a vertex of the lower convex hull, it lies below the edge and hence . But this is precisely what we also get for the visibility triangle of the convex sum .
For uniqueness, suppose we are given any formula for . Since is assumed to be an upward chain and since any concave sum is a downward chain, the formula must be of the form . We may further assume that each is a downward chain by omitting redundant parentheses. Observe now that in any such convex sum of downward chains, the resulting lower convex hull is determined by the points that are shared by any two consecutive chains . Since the given formula evaluates to , we must have and for all . ∎
2.6 Geometric Characterization
As already mentioned in the introduction, the chain edges together with the hull edge form a spanning cycle of unavoidable edges. We are now ready to prove that this property characterizes chains geometrically in terms of order types.
Suppose we are given a set of points as in Theorem 2. Without loss of generality, let be the spanning cycle of unavoidable edges in counter-clockwise order, with an edge of the convex hull, which we call the base edge. As consists of unavoidable edges only, it cannot be crossed by any edge that is not part of . Hence, we can associate a visibility triangle with the given point set, similar to the visibility triangle of a chain, by setting
Proposition 17.
For , the triangle is oriented counter-clockwise if and only if we have .
Proof.
We will make use of the following key fact about simple polygons. Consider two simple polygons that share an edge , but do not touch or intersect in any other way. Then, exactly one of the following is true. Either one polygon is contained in the other, or the two polygons touch the edge from different sides.
We split the proof of the proposition into the following three cases.
-
•
Suppose that is the base edge (i.e., and ). Then, the triangle is always oriented counter-clockwise since is an edge of the convex hull. Also, we have by definition.
-
•
Suppose that is not the base edge (i.e., or ) and inside (i.e., ). Let denote the simple polygon . Let us now apply our key fact about simple polygons to and the triangle . These two polygons share the edge , but do not touch or intersect in any other way since all other edges of are unavoidable. Moreover, since is outside of , the triangle is not contained in . On the other hand, contains the hull vertices and , and so is also not contained in the triangle. Therefore, since touches the edge from the left side, has to be to the right of , and so the triangle is indeed oriented counter-clockwise.
-
•
Suppose that is not the base edge (i.e., or ) and outside (i.e., ). Let again denote the simple polygon , and let us again apply our key fact to and . In this case, since lies inside of , the triangle is contained in . Therefore, since touches the edge from the left side, has to be to the left of , and so the triangle is indeed oriented clockwise. ∎
Having Proposition 17 at hand, it will now suffice to construct a chain whose visibility triangle agrees with in order to finish the proof of Theorem 2.
Let thus be the vertices of the convex hull with . For , let . We now see that either consists of only two points or that it admits a spanning cycle of unavoidable edges, namely with base edge . The situation is depicted in Figure 6.
Note that the inside of is outside of . In fact, forms a so-called pocket of , which means that all edges of the cycle except for are also edges of .
Using the statement of Theorem 2 inductively for the strictly smaller set of points , we now see that there is a chain with the same order type as , that is, with
Let us consider the flipped version . As noted before, the inside of is outside of . As moreover forms a pocket of , any edge outside of is inside . Hence,
We claim that has the desired visibility triangle . We have just seen that the entries stemming from the individual are correct. So, all that is left to observe is that edges between different pockets lie inside of , which is indeed the case.
2.7 Point Sets that are Almost Chains
Recall the assumption in Theorem 2 which says that at least one of the edges of the unavoidable spanning cycle must be a convex hull edge. This assumption is crucial since, for example, the classic double circle cannot be realized as a chain even though it admits an unavoidable spanning cycle. Nevertheless, we can show that the corresponding order types are reasonably close to being a chain, in the sense that a single point may be replaced by two new points in order to obtain a chain. In addition, this transformation does not change the number of triangulations by much.
Theorem 18.
Let be a set of points that admits an unavoidable spanning cycle where is a vertex of the convex hull. Then, there exists a chain such that has the same order type as . Moreover, we have
Proof.
We mimic the proof of Theorem 2 from the previous subsection. That is, consider the augmented sequence with and let be the vertices of the convex hull with and . For , let . Each such again forms a so-called pocket, which may be realized as a chain . The construction is concluded by defining . Observe by using a statement analogous to Proposition 17 that all involved triangles maintain their orientation, except that the duplicated points and that came from behave antagonistically with respect to points in and , respectively. For example, the triangle for with is always oriented counter-clockwise, even if originally was oriented clockwise.
Let us fix any triangulation of . We show how to map it injectively to two distinct triangulations of , thus proving the first inequality. First of all, note that the triangulations of the individual pockets of directly correspond to a lower triangulation of , which means that we may limit our attention to the upper triangulation of . There, we start by either adding the triangle or the triangle . In the first case, we are left to triangulate the simple polygon , whereas in the second case, the respective polygon is . In the first case, any remaining edge of the fixed triangulation of (i.e., any edge that is not contained inside of a pocket) is simply mapped to the edge in . In the second case, we do the same except that the point takes the role of .
Let us fix any triangulation of . To prove the second inequality, we construct a corresponding triangulation of in such a way that at most triangulations of have the same correspondence. First of all, we may again map the lower triangulation of to triangulations of the individual pockets of . As far as the upper triangulation of is concerned, there is exactly one triangle of the form where . This triangle is mapped to the edge in the corresponding triangulation of . This has the effect of splitting the inside of the unavoidable spanning cycle of into two separate simple polygons that are left to be triangulated. They are triangulated simply by mapping all the remaining edges of the upper triangulation of to edges , where any appearance of is mapped to . ∎
3 Triangulations of Chains
In the previous section, we have seen that any chain can be expressed as a formula involving only convex and concave sums. Our goal here is to understand how triangulations behave with respect to such convex and concave sums. In order for this to work out, we have to consider not just triangulations, but a more general notion of partial triangulations.
We start by decomposing triangulations of a chain into an upper and a lower part. An edge is an upper edge if , a chain edge if , and a lower edge if . That is, upper edges lie above the chain curve, while lower edges lie below.
Definition 19.
An upper (lower) triangulation of a given chain is a crossing-free geometric graph on that is edge-maximal subject to only containing chain edges and upper (lower) edges. We denote the number of upper and lower triangulations by and , respectively, and as always the number of (complete) triangulations by .
Note that the chain edges are contained in every upper and lower triangulation. Moreover, every triangulation is the union of a unique upper and a unique lower triangulation, which implies . A lower triangulation of a chain is an upper triangulation of the flipped version , and therefore . For this reason, we may restrict our attention to studying only upper triangulations.
Intuitively speaking, we can create a partial upper triangulation by combining all the chain edges with some upper edges, in such a way that all bounded faces are triangles. Note that then, only some of the used edges are visible from above.
Definition 20.
Let be any chain with chain edges, and let with be an (x-monotone) curve composed of chain edges and upper edges only. A partial upper triangulation of (with visible edges ) consists of all chain edges, all edges in , and a triangulation of the areas between the two.
LABEL:fig:partialexamples depicts some partial upper triangulations and their visible edges. We are interested in counting such triangulations parameterized by the number of triangles. It can be noted that a partial upper triangulation with triangles has visible edges.