Counting Plane Graphs: Perfect Matchings, Spanning Cycles, and Kasteleyn's Technique

We derive improved upper bounds on the number of crossing-free straight-edge spanning cycles (also known as Hamiltonian tours and simple polygonizations) that can be embedded over any specific set of $N$ points in the plane. More specifically, we bound the ratio between the number of spanning cycles (or perfect matchings) that can be embedded over a point set and the number of triangulations that can be embedded over it. The respective bounds are $O(1.8181^N)$ for cycles and $O(1.1067^N)$ for matchings. These imply a new upper bound of $O(54.543^N)$ on the number of crossing-free straight-edge spanning cycles that can be embedded over any specific set of $N$ points in the plane (improving upon the previous best upper bound $O(68.664^N)$). Our analysis is based on Kasteleyn's linear algebra technique.


Introduction
Finding a Hamiltonian cycle in a graph is NP-complete even if the graph is known to be planar [7]. Counting the number of Hamiltonian cycles that are contained in a graph is #P-complete even if the graph is known to be planar and all of its vertices have degree three [15]. In this paper we consider a more general case (and thus, probably more difficult) concerning the number of all crossing-free straight-edge Hamiltonian cycles that can be embedded over a specific set of points in the plane. That is, given a set S of labeled points in the plane, we consider the number of Hamiltonian cycles that have a straight-edge planar embedding over S.
We only consider the problem of obtaining an upper bound for the number crossing-free straightedge Hamiltonian cycles that can be embedded over a set of N points in the plane. To do this, we rely on Kasteleyn's technique [14], and on edge-flipping techniques that were developed in a previous paper by the authors [9]. No familiarity with [9] is necessary, since we re-introduce all the notions that we require from it. We now give a detailed and more formal definition of the problem.
A planar graph is a graph that can be embedded in the plane in such a way that its vertices are embedded as points and its edges are embedded as Jordan arcs that connect the respective pairs of points and can meet only at a common endpoint. A crossing-free straight-edge graph is a plane embedding of a planar graph such that its edges are embedded as non-crossing straight line segments. In this paper, we only consider crossing-free straight-edge graphs. Moreover, we only consider embeddings where the points are in general position, that is, where no three points are collinear. (For upper bounds on the number of graphs, this involves no loss of generality, because the number of graphs can only grow when a degenerate point set is slightly perturbed into general position.) For simplicity, we sometimes refer to such graphs as plane graphs.
We focus on upper bounding the maximal number of plane spanning cycles (also known as Hamiltonian cycles, Hamiltonian tours, and simple polygonizations) that can be embedded over a fixed set of points in the plane. For a set S of points in the plane, we denote by C(S) the set of all crossing-free straight-edge spanning cycles of S, and put sc(S) := |C(S)|. Moreover, we let sc(N ) = max |S|=N sc(S). So, in other words, the main goal of this paper is to obtain sharp upper bounds on sc(N ).
There are many similar variants of this problem, such as bounding the number of plane forests, spanning trees, triangulations, and general plane graphs. Recent work on some of these variants can be found in [1,9,21], and we try to keep a comprehensive list of the up-to-date bounds in a dedicated webpage 1 . It seems that the case of spanning cycles is the most popular one, already considered in [2,3,4,5,6,17,24] and many others. Moreover, spanning cycles were the first case for which bounds were published, namely the bounds 3/20·10 N/3 ≤ sc(N ) ≤ 2·6 N −2 ·(⌊N/2⌋)! in [17]. A brief history of the steady progress on bounding the number of spanning cycles can be found in a dedicated webpage by Erik Demaine 2 . Currently, the best known lower bound is sc(N ) = Ω(4.642 N ), due to García, Noy, and Tejel [6], and the previous upper bound is sc(N ) = O(68.664 N ) by Dumitrescu et al. [5]. We derive the improved bound sc(N ) = O(54.543 N ).
These problems have also been studied from an algorithmic point of view, deriving algorithms for enumeration or counting of the plane graphs (or other graph types) that can be embedded over a given point set (such as in [13,19]). The combinatorial upper bounds are useful for analyzing the running times of such algorithms, and also to answer questions such as "how many bits are required to represent a triangulation (or any other kind of plane graphs)?".
Our bound (as do some of the previous bounds) relies on triangulations. A triangulation of a set S of N points in the plane is a maximal plane graph on S (that is, no additional straight edges can be inserted without crossing some of the existing edges). For a set S of points in the plane, we denote by T (S) the set of all triangulations of S, and put tr(S) := |T (S)|. Moreover, we let tr(N ) = max |S|=N tr(S). Currently, the best known bounds for tr(N ) are tr(N ) < 30 N [21], and tr(N ) = Ω(8.65 N ) [5].
The upper bound by Dumitrescu et al. [5] is obtained by proving that for every set S of N points in the plane sc(S) = O 2.2888 N · tr(S). This has sharpened an earlier bound of Buchin et al. [4], who showed that every triangulation T of S contains at most 30 N/4 ≈ 2.3404 N spanning cycles (i.e., cycles whose edges belong to T ), implying 3 that sc(S) < 2.3404 N · tr(S). Combining the above ratio with the bound tr(N ) < 30 N directly implies the asserted bound. We derive our bound in a similar manner, showing that sc(S) = O 1.8181 N · tr(S) = O(54.5430 N ).
In spite of our improved bound, we strongly believe, and conjecture, that for every point set S (of size at least N 0 , for some constant N 0 ) one has sc(S) < tr(S), and perhaps even a much sharper ratio holds. The best lower bound for this ratio that we know of is obtained from the double chain configuration, presented in [6] (and depicted in Figure 1). It is shown in [6] that when S is a double chain configuration, tr(S) = Θ * 8 N and sc(S) = Ω * 4.64 N . 4 Thus, in this case, sc(S)/tr(S) = Ω * (0.58 N ). (It is stated in [1], albeit without proof, that sc(S) = O(5.61 N ), so this example supports our conjecture.) In Section 2 we go over the preliminaries required for our analysis. These include, among others, the edge-flip techniques used in [9]. Section 3 derives the bound sc(S) = O 12 N/4 · tr(S) = O 1.8613 N · tr(S) for any set S of N points in the plane. As part of this derivation, we describe Kasteleyn's technique for counting perfect matchings and present a new way of applying it. In Section 4 we use the same methods to prove an upper bound on the ratio between the number of plane perfect matchings and the number of triangulations, showing that pm(S) = O(1.1067 N )·tr(S) (where pm(S) is the number of matchings that can be embedded over the point set S). Finally, Section 5 contains a more complex analysis of spanning cycles, implying the improved bound sc(S) = O 10.9247 N/4 · tr(S) = O 1.8181 N · tr(S).

Preliminaries
In this section we establish some notations and lemmas that are required for the following sections.
Given two plane graphs G and H over the same point set S, if every edge of G is also an edge of H, we write G ⊆ H.
Hull edges and vertices (resp., interior edges and vertices) of a graph embedded on a point set S are those that are part of the boundary of the convex hull of S (resp., not part of the convex hull boundary).
Given a set S of N points in the plane, we denote by h the number of hull vertices of S, and put n = N − h, which is the number of vertices in S interior to its convex hull.

The support of a graph
Let us denote by sc ∆ (N ) the maximal number of plane spanning cycles that can be contained in any fixed triangulation of a set of N points in the plane. Moreover, denote the set of spanning cycles contained in a triangulation T by C(T ), so sc ∆ (N ) = max |S|=N, T ∈T (S) |C(T )|.
Any spanning cycle (or, for that matter, any plane graph) is contained in at least one triangulation. Therefore, we can upper bound the number of spanning cycles of a set S of N points in the plane by going over every triangulation T ∈ T (S) and counting the number of spanning cycles contained in T . This implies the bound sc(N ) ≤ tr(N ) · sc ∆ (N ). Applying the bounds tr(N ) < 30 N from [21] and sc ∆ (N ) ≤ 30 N/4 from [4], we obtain sc(N ) < 30 5N/4 ≈ 70.21 N .
This bounding method seems rather weak since it potentially counts some spanning cycles many times. For example, consider a spanning cycle consisting of two convex chains facing each other, as depicted in the left-hand side of Figure 1. García, Noy, and Tejel [6] show that such a spanning cycle is contained in Θ * (8 N ) triangulations of its point set. Therefore, the above method will count this spanning cycle Θ * (8 N ) times. However, as stated in [1], this point set has only O(5.61 N ) spanning cycles.
In order to deal with this inefficiency, we define the notion of support (the same notion was also used in [5,9,21,22,25]). Given a plane edge graph G embedded over a set S of points in the plane, we say that G has a support of x if G is contained in (exactly) x triangulations of S; we write supp(G) = x. Notice that because every spanning cycle C contributes exactly one to the right side of the equation (it appears in supp(C) terms of the first sum, and contributes 1/supp(C) in every appearance). We will use (1) to obtain better upper bounds for sc(N ), by showing that, on average, supp(C) is large.  An edge in a triangulation is said to be flippable, if its two incident triangles form a convex quadrilateral. A flippable edge can be flipped, that is, removed from the graph of the triangulation and replaced by the other diagonal of the corresponding quadrilateral. Such an operation is depicted in Figure 2(a), where the edge ce can be flipped to the edge ad.

Ps-flippable edges
In [9], we present the concept of pseudo simultaneously flippable edges (or ps-flippable edges, for short). Given a triangulation T , we say that a subset F of its edges is a set of ps-flippable edges if the edges of F are diagonals of interior-disjoint convex polygons (whose boundaries are also parts of T ). For example, in Figure 2(b), the three dashed edges form a set of ps-flippable edges, since they are diagonals of interior-disjoint convex quadrilateral and convex pentagon (another set of ps-flippable edges, in a different triangulation, is depicted in Figure 2(c)).
Ps-flippable edges are related to convex decompositions. A convex decomposition of a point set S is a crossing-free straight-edge graph D on S such that (i) D includes all the hull edges, (ii) each bounded face of D is a convex polygon, and (iii) no point of S is isolated in D. See Figure 2(c) for an illustration. For additional information about convex decompositions, see, for example, [10]. Notice that if T is a triangulation that contains D, the edges of T \ D form a set of ps-flippable edges, since they are the diagonals of the interior-disjoint convex polygons of D (again, consider the dashed edges in Figure 2(c) for an illustration). Thus, finding a large set of ps-flippable edges in a triangulation T is equivalent to finding a convex decomposition with a small number of faces (or edges) in T .
In [9], we prove the two following lemmas.
Lemma 2.1 Every triangulation T over a set of N points in the plane contains a set F of N/2 − 2 ps-flippbale edges. Also, there are triangulations with no larger sets of ps-flippable edges.
Consider the set F ′ = F \ G of j ps-flippable edges. The convex faces of T \ F ′ can be triangulated in at least 2 j ways (the bound is tight when every edge of F ′ is a diagonal of a distinct quadrangular face of T \ F ′ ), and each of the resulting triangulations contains G. See [9] for more details. We now describe another property of convex decompositions (not discussed in [9]). Consider a set S of points in the plane and a crossing-free straight-edge graph G embedded on S. We say that an interior point p ∈ S has a valid triple of edges in G if there exist three points a, b, c ∈ S such that p is contained in the convex hull of {a, b, c} and the edges ap, bp, and cp belong to G. To simplify the notation, we refer to vertices with valid triples as valid (with respect to G), and to the other interior vertices as non-valid. Lemma 2.3 Let S be a set of points in the plane and let G be a crossing-free straight-edge graph over S that contains all the edges of the convex hull of S. Then G is a convex decomposition of S if and only if every interior vertex of S is valid with respect to G.
An interior vertex v is a reflex vertex of some face of G if and only if v is non-valid (an example is depicted in Figure 3(a)). The lemma follows by observing that G is a convex decomposition if and only if no bounded face of G has a reflex vertex.

Spanning cycles and perfect matchings
Our analysis, as most of the previous works dealing with the number spanning cycles, heavily relies on the number of plane perfect matchings on S (for example, see [4,5,24]). To see the connection between the two problems, notice that if |S| is even, every spanning cycle C is the union of two edge-disjoint perfect matchings on S; namely, the matching consisting of the even-indexed edges of C, and the matching consisting of the odd-indexed edges. An illustration of this property is depicted in Figure 3(b). Denote by M(S) the set of all plane perfect matchings on S, and put pm(S) = |M(S)|. We also set pm(N ) = max |S|=N pm(S). Hence, a simple upper bound on sc(S) is pm(S) 2 . In general, the union of two edge-disjoint perfect matchings is not always a spanning cycle, but it is a cover of S by vertex-disjoint even-sized cycles.
To deal with point sets of odd size, we use the following lemma: Proof. Consider a set S of N points in the plane, where N is odd. Pick a new point p outside the convex hull of S, and put S ′ = S ∪ {p}. Let C be a plane spanning cycle of S. Then there exists an edge e = vu of C such that p can be connected to the two endpoints u, v of e without crossing C. Indeed, this is a projective variant of the property, noted in [8], that every finite collection of non-crossing straight segments in the plane contains a segment e such that no other segment lies vertically above any point of e (see also [18,Section 8.7]). By replacing e with the edges vp and pu, we obtain a crossing-free spanning cycle of S ′ . This implies that we can map every spanning cycle of S to a distinct spanning cycle of S ′ , and thus, sc(S) ≤ sc(S ′ ). The lemma then follows since sc( Bounding the number of perfect matchings on S within a fixed triangulation T can be done by the beautiful linear-algebra technique of Kasteleyn [14], described in detail in [16,Section 8.3]; see Section 3 for more details. Buchin et al. [4] have used this technique to show that any triangulation T of S contains at most 6 N/4 perfect matchings, and at most 30 N/4 ≈ 2.3403 N spanning cycles. We also note that Sharir and Welzl [24] showed that pm(S) = O 10.05 N , completely bypassing the approach of counting matchings (or other graphs) within a triangulation.

A first bound
In this section we first review an enhanced variant of Kasteleyn's technique and then use it to derive the following initial upper bound on sc(S).

Proof.
First, by Lemma 2.4, we may assume that N is even. Consider a triangulation T of S. As already observed, every spanning cycle contained in T is the union of two edge-disjoint perfect matchings contained in T . Given a plane graph G, we denote by M(G) the set of all perfect matchings that are contained in G. Recalling (1), we have .
(The inequality comes from the fact that not every pair M 1 , M 2 of matchings, as in the sum, necessarily yields a spanning cycle.) Let us fix the "first" perfect matching M 1 ⊂ T ; as mentioned above, Buchin et al. [4] prove that |M(T )| ≤ 6 N/4 , so there are at most 6 N/4 choices of M 1 . Next, we construct a convex decomposition D such that M 1 ⊂ D ⊂ T , as follows. We start with M 1 and add all the missing hull edges; let us denote the resulting graph as D ′ . By Lemma 2.3, it suffices to ensure that every interior point p ∈ S is connected in D to (at least) three points a, b, c ∈ S, such that p is inside the convex hull of {a, b, c}. Every interior vertex p of S has degree 1 in D ′ , so we start by setting D := D ′ , and then, for each interior point p ∈ S, we add to D two additional edges of T adjacent to p, so as to create a valid triple. To do so, let e be the edge of D ′ (that is, of M 1 ) incident to p, and let λ be the ray emanating from p in the opposite direction. Let e 1 (resp., e 2 ) be the first edge of T incident to p encountered in clockwise (resp., counterclockwise) direction from λ; see Figure 4(a). Then {e, e 1 , e 2 } is a valid triple of edges, and we add e 1 , e 2 to D. After applying this step to each interior point p, the resulting graph D is indeed a convex decomposition of S. We denote by F the set of edges that are in T but not in D. The edges of F are diagonals of interior-disjoint convex polygons, and thus F is a set of ps-flippable edges. By Euler's formula, the triangulation T contains 3N − 2h − 3 interior edges, and D contains at most 2n + N/2 interior edges (at most N/2 edges of M 1 and 2n added edges to form n valid triples). Therefore, Remark. Note the strength of this bound: Lemma 2.1 has a rather involved proof, given in [9], and it yields a set of N/2 − 2 ps-flippable edges in the entire triangulation. In contrast, here we get the same number (minus 1) after we remove from T an arbitrary perfect matching, with a considerably simpler analysis. Thus the significance of the analysis in [9] (involving Lemma 2.1) is only for triangulations which contain no perfect matching on S. For example, any triangulation with more than N/2 interior vertices of degree 3 cannot contain a perfect matching, since, as is easily checked, two interior vertices of degree 3 cannot share an edge.
Without loss of generality, we assume that F consists of exactly N/2 − 3 edges. We now proceed to bound the number of ways to choose the second matching M 2 while taking the supports of the resulting graphs M 1 ∪ M 2 into account. Since M 1 and M 2 have to be edge-disjoint, we can remove the N/2 edges of M 1 from T , and remain with a subgraph T ′ that has fewer than 5N/2 edges. Next, we define a weight function µ over the edges of T ′ , such that every edge in F has a weight of 1 and every other edge has a weight of 1/2. We define the weight µ(M 2 ) of a perfect matching M 2 ⊂ T ′ as the product of the weights of its edges. Therefore, if M 2 contains exactly j edges of F , then µ(M 2 ) = (1/2) N/2−j . Moreover, for such a matching M 2 , we have |F \ M 2 | = N/2 − 3 − j.
Clearly, F \ M 2 is also a set of ps-flippable edges, none of which belongs to M 1 ∪ M 2 . We thus have 1 supp(M 1 ∪ M 2 ) ≤ 1 2 N/2−3−j = 8µ(M 2 ), which implies that, given a specific triangulation T and a specific perfect matching M 1 ⊂ T , with T ′ = T \ M 1 , as above.
Kasteleyn's technique: An enhanced version. We now apply an extension of Kasteleyn's technique to estimate the sum in the right-hand side of (2). Here is a brief overview of the technique being used (where instead of the original technique, we apply a weighted extension of it). Given an oriented graph 5 G = (V, E) with no anti-parallel edges and a weight function µ over the edges, we define the following weighted adjacency matrix An easy extension of Kasteleyn's theorem states that every planar graph G can be oriented into some digraph G such that, for any real-valued weight function µ on its edges, we have  (recall that µ(M ) = e∈M µ(e)). In the "pure" form of Kasteleyn's theorem µ ≡ 1 (i.e., G is unweighted) and the left-hand side is just the squared number of perfect matchings in G. A detailed presentation of Kasteleyn's theorem can be found in [16,Section 8.3]. The extension to weighted graphs is given in Exercise 8.3.9 therein. We denote by b i the column vectors of B, for 1 ≤ i ≤ N , and estimate the above determinant using Hadamard's inequality Applying the above machinery to our plane graph T ′ (i.e., using (3) and (4)), with the edge weights µ as defined above, we have 5 We follow here the notation used in [16] to denote a digraph obtained from an underlying undirected graph by giving each of its edges an orientation.
(where we have used the arithmetic-geometric mean inequality and the fact that every edge of T ′ has two corresponding matrix entries). We note that the bound 6 N/4 on the number of perfect matchings in a triangulation T is obtained in [4] by applying the unweighted version of Kasteleyn's theorem to the entire T . In this case e∈T µ(e) 2 is the number of edges of T , which is at most 3N , and the bound follows.
By noting that and combining this with (2) and (5), we obtain Recalling once again that a triangulation contains at most 6 N/4 perfect matchings [4] (that is, there are 6 N/4 ways of choosing M 1 ), and combining this with (6), we obtain

Perfect matchings and triangulations
In this section we apply the machinery of the previous section to derive an upper bound on the ratio between the number of plane perfect matchings and the number of triangulations. As already mentioned in Section 2, Kasteleyn's technique implies that a triangulation of a set of N points can contain at most 6 N/4 perfect matchings (see [4]). This implies that for every set S of N points in the plane, pm(S) ≤ 6 N/4 · tr(S) ≈ 1.5651 N · tr(S). We will improve this bound, using lower bounds on the supports of perfect matchings, in a manner similar to that in Section 3. Before proceeding, we note the following lower bound on the ratio pm(S)/tr(S). Let S be a double circle configuration, depicted in Figure 4(b), consisting of N points (see [11] for a precise definition). An inclusion-exclusion argument implies that tr(S) = 12 N/2 (see [11,20]). Moreover, Aichholzer et al. [1] proved that pm(S) = Θ * (2.2 N ). Therefore, in this case, pm(S)/tr(S) ≈ Θ * (0.635 N ).
We now present an improved upper bound for this ratio.
Consider a triangulation T ∈ T (S) and a perfect matching M ⊆ T . As shown in the proof of Theorem 3.1, there exists a set of N/2 − 3 ps-flippable edges in T \ M . Therefore, the support of M is at least 2 N/2−3 . Combining this with (7) implies As already mentioned above, this does not imply a new bound on pm(N ), since Sharir and Welzl [24] showed that pm(S) = O 10.05 N , bypassing the approach of counting matchings within a triangulation. We are not aware of any construction for which pm(S) ≥ tr(S), and offer the conjecture that there exists a constant c < 1 such that pm(S) = O(c |S| · tr(S)) for every finite set S of points in the plane. (See also the conjecture concerning spanning cycles, made in the introduction.)

An improved bound
In this section we present a more complex analysis for the number of spanning cycles, obtaining a slightly better bound than the one presented in Section 3. The analysis has three parts, each presented in a separate subsection. Let

A v 3 (T )-sensitive bound
In this subsection we derive the following bound, which is a function of N and v 3 (T ).
Lemma 5.1 Let T be a triangulation over a set S of N ≥ 6 points in the plane, such that N is even and S has a triangular convex hull; also, let v 3 (T ) = tN . Then Proof. As before, we treat every spanning cycle as the union of two edge-disjoint perfect matchings M 1 , M 2 ∈ M(T ). We start by bounding the number of ways to choose the first perfect matching M 1 . For this, we use the standard variant of Kasteleyn's technique, with the weight function µ ≡ 1 (i.e., G is unweighted).

Recall the inequality
obtained in Equation (5), where the b i (for 1 ≤ i ≤ N ) are the column vectors of the adjacency matrix of the oriented graph T . Substituting µ ≡ 1, the left hand side becomes the number of perfect matchings in T , and the squared norm of each column vector is the degree of the vertex corresponding to that column. Since every column that corresponds to a vertex of degree 3 has a squared norm of 3, the product of the squared norms of these is 3 v 3 (T ) = 3 tN . For the remaining N − v 3 (T ) columns, we use, as in Section 3, the arithmetic-geometric mean inequality to bound the product of their squared norms (as in Equation (5)). This yields the bound where X is the sum of the degrees of all vertices other than those counted in v 3 (T ). The sum of the degrees over the vertices of any specific triangulation is smaller than 6N , and the sum of the degrees of the interior degree-3 vertices in T is 3v 3 (T ). Therefore, we have Combining (8), (9), and the product of the squared norms that correspond to interior vertices of degree 3, implies that the number of ways to choose M 1 is less than Next, let us fix a specific perfect matching M 1 ∈ M(T ). As shown in the beginning of the proof of Theorem 3.1, there exists a set F of N/2 − 3 ps-flippable edges in T , none of which belongs to M 1 . We continue as in the proof of Theorem 3.1, by assigning a weight of 1 to the edges of F and a weight of 1/2 to the rest of the edges of T \ M 1 , and then applying Kaseteleyn's technique to bound the sum where b ′ i are the column vectors of the oriented adjacency matrix of T \ M 1 (recall (2)). An interior vertex v of degree 3 in T has only two edges adjacent to it in T \ M 1 , both not in F (since an edge adjacent to an interior vertex of degree 3 cannot be flippable). Therefore, the squared norm of a matrix column that corresponds to such a vertex is (1/2) 2 + (1/2) 2 = 1/2, and the product of the squared norms of all such columns is 1/2 v 3 (T ) = 1/2 tN .
For the remaining N − v 3 (T ) columns, we may once again use the arithmetic-geometric mean inequality to obtain a bound similar to the one in (8). However, this time we get a different value for X, since (i) some of the edges of T were removed, and (ii) some of the remaining edges were reweighted. The edges of F have remained and still have a weight of 1 each, so they contribute at most 2 · (N/2 − 3) · 1 < N to X. Every other edge contributes 2 · 1/4 = 1/2 if it is not incident to an interior vertex of degree 3 in T , and 1/4 otherwise. Since a triangulation has fewer than 3N − 3 edges, there are fewer than 2N edges in T \ {F ∪ M 1 }, and we get By combining this with the rest of the squared norms and with the present version of (8), we have Finally, to complete the proof, we combine (10) and (11), and obtain

Remark.
Notice that in the worst case (i.e., when t = 0) we obtain the same asymptotic value as in our initial bound of 12 N/4 . Similarly, the bound in (10) becomes 6 N/4 when t = 0, as in Buchin et al. [4].

A flip(T )-sensitive bound
Hurtado, Noy, and Urrutia [12] prove that that flip(T ) ≥ N/2 − 2, and that this bound is tight in the worst case (the upper bound is also implied by Lemma 2.1; see also [9]). In this subsection we obtain a bound as a function of flip(T ), which improves our initial bound of 12 N/4 when flip(T ) is larger than N/2 by some positive fraction of N . We start by mentioning two basic properties of triangulated polygons. Ears. Given a triangulated polygon P , an ear of P is a bounded face of the triangulation with two of its edges on the boundary of P . It can easily be shown that every triangulated simple polygon with at least four edges contains at least two ears (whose boundary edges are all distinct). For example, the two ears of the triangulated polygon in Figure 5(a) are shown shaded.

Catalan numbers. The N -th Catalan number is
. It is well known that a convex polygon with N vertices has C N −2 triangulations (e.g., see [23,Section 5.3]). Therefore, the number of triangulations of a convex polygon with d ≥ 1 diagonals is (the inequality can easily be verified by induction).
Next, we define c gon as the maximum real number satisfying the following property. Every simple polygon P that has a triangulation T P with k of its diagonals flippable and with l ≤ k of these diagonals forming a ps-flippable set, has at least 2 l c k−l gon triangulations. Notice that the triangulations under consideration, including T P , are triangulations of the polygon P , and not of its vertex set.
17965 the unique real root of the polynomial 1 + 4x 2 − 4x 3 . That is, every simple polygon P that has a triangulation T P with k of its diagonals flippable and with l ≤ k of these diagonals forming a ps-flippable set, has at least 2 l x k−l triangulations.
Proof. Figure 5(b) depicts a polygon that implies the upper bound.
We prove the lower bound by induction on l and k. To have some base case for this induction, notice that when l = k, P has at least 2 k = 2 l x k−l triangulations.
Next, consider a polygon P and a triangulation T P of P , such that T P contains a maximal set F of l ps-flippable edges, and k − l > 0 flippable edges not in F . Let f 1 , f 2 , · · · , f j be the non-triangular faces of the convex subdivision T P \ F . (Notice that T P \ F is a convex subdivision of a polygon, and not of the convex hull of a point set.) Each f i is a convex polygon with m i ≥ 4 sides and m i − 3 diagonals, and thus, l = j i=1 (m i − 3). A flippable edge not in F must be on the boundary of some f i , since otherwise F is not maximal. We say that such a flippable edge e / ∈ F is covered by a face f i if (i) e is on the boundary of f i , and (ii) the triangle ∆ in T P that is contained in f i and incident to e has two edges in F (so e is the only edge of ∆ on the boundary of f i ). Ears are incident to two edges of their containing f i , and thus, cannot cover any edge. Since any triangulated polygon contains at least two ears, with four distinct boundary edges, a polygon with m sides (and m − 3 diagonals) can cover at most m − 4 edges. Therefore, if all flippable edges not in F are covered, then k − l ≤ j i=1 (m i − 4). By multiplying the number of triangulations of the f i 's and applying (12), we get that the number of triangulations of P that contain T P \ F is at least We are left with the case where there is a flippable edge e / ∈ F that is not covered by any f i . Let e ′ be the edge obtained by flipping e. We now derive a lower bound on the number of triangulations of P that contain e and on the number of triangulations of P that contain e ′ . To bound the number of triangulations that contain e, we partition P into two interior disjoint simple polygons P ′ , P ′′ by "cutting" P at e. More precisely, we consider the two triangulated polygons T P ′ , T P ′′ ⊂ T P . Together, these two triangulated polygons contain k − 1 diagonals that are flippable. Moreover, the set F remains a set of l ps-flippable edges which are diagonals of the two polygons. Thus, the induction hypothesis implies that there are at least 2 l x k−1−l triangulations of P that contain e.
To obtain a similar bound for the number of triangulations containing e ′ , we produce at most four triangulated sub-polygons of T P by removing the two triangles incident to e (which cover the same quadrilateral covered by the two triangles incident to e ′ in the new triangulation). Such a case is illustrated in Figure 6(a), where the triangles incident to e ′ are shaded. This partitioning may cancel the flippability of at most five edges (those incident to the two triangles adjacent to e). At most two out of the five edges may be ps-flippable, since e can only be incident to ears of polygons of T P \ F . Using the induction hypothesis again, we get that there are at least 2 l−2 x (k−5)−(l−2) = 2 l−2 x k−l−3 triangulations that contain e ′ (and the four edges around it). Therefore, P has at least Notice that any spanning cycle partitions the convex hull of its point set into interior-disjoint simple polygons; an example of such a partition is illustrated in Figure 5(b). The support of the spanning cycle is the product of the number of triangulations of each of these polygons. For a fixed choice of M 2 (and of M 1 ), denote by P 1 , . . . , P m the polygons in the partition produced by M 1 ∪ M 2 . For each i, let k i be the number of flippable diagonals of P i , and let l i be the number of those diagonals (among the k i flippable ones) that belong to F . If Applying Lemma 5.2 to each P i and multiplying the resulting bounds, we obtain a total of at least 2 l i x k i − l i triangulations. Hence, Next, notice that µ(M 2 ) = 2 l x flip T (M 2 )−l , so we have By combining (13) with Kasteleyn's method, we obtain To bound the sum in the parentheses, we write flip T (M 1 ) = w + z, where w = |F ∩ M 1 | and z is the number of flippable edges in M 1 \ F . Then T \ M 1 contains fewer than N/2 − w edges of F , κN − z flippable edges not in F , and fewer than 2N − (κN − flip T (M 1 )) non-flippable edges. Therefore, Since x < 2, the right-hand side is maximized when w = 0 and z = flip T (M 1 ), and it then becomes Combining (14) and (15), we get To bound the sum in (16), we once again use Kasteleyn's technique. This time, we define a weight function ν(·) over the edges of T , such that every flippable edge gets a weight of γ, and every other edge a weight of 1. Notice that, in this manner, ν(M 1 ) = γ flip T (M 1 ) for every M 1 ∈ M(T ). We thus have Finally, combining (16) and (17) implies the assertion of the lemma.
Note that in the worst case, when κ = 0, the bound becomes O (10 + 2γ 2 ) N/4 . For k = 0, we have γ = x · e −(x 2 −1)/16 , and it is easy to verify that γ > 1 for 1 < x ≤ 5/4. So the bound is actually asymptotically worse than our initial bound of 12 N/4 , and it continues to be worse when κ is sufficiently small. As the next subsection shows, in this case the v 3 -dependent bound from Subsection 5.1 becomes small and can be used instead.

Integration
In this subsection we combine the results from the two previous subsections to obtain an improved bound for sc(N ). This is done by deriving a connection between v 3 (T ) and flip(T ). We start by presenting a generalization of Lemma 2.4.

Proof .
Consider a point set S. If S has an even number of points, we pick a new point p outside the convex hull of S, and denote S ′ = S ∪ {p}. As mentioned in the proof of Lemma 2.4, inserting an additional vertex outside the convex hull of the point set can only increase the number of spanning cycles. If S has an odd number of points, we denote S ′ = S. Notice that, either way, S ′ has an odd number of points. Let ∆abc be a large triangle containing S ′ in its interior, and let S ′′ = S ′ ∪ {a, b, c}. Again, since inserting an additional vertex outside the convex hull of the point set can only increase the number of spanning cycles, we have sc(S ′ ) ≤ sc(S ′ ∪ {a}) ≤ sc(S ′ ∪ {a, b}) ≤ sc(S ′′ ). Since S ′′ has an even number of points and a triangular convex hull, sc(S) ≤ sc(S ′ ) ≤ sc(S ′′ ) = O(c N +3 ) = O(c |S| ). We also require the notion of separable edges, as presented in [22]. Consider a point set S, a triangulation T ∈ T (S), and an interior point p ∈ S. We call an edge e incident to p in T a separable edge at p if it can be separated from the other edges incident to p by a line through p. An equivalent condition is that the two angles between e and its clockwise and counterclockwise neighboring edges (around p) sum up to more than π. We observe the easy following properties (see Figure 7 for an illustration).
(S0) No edge is separable at both vertices induced by its endpoints.
(S1) If p has degree 3 in T , every edge incident to it is separable (recall that p is an interior point).
(S2) If p has degree at least 4 in T , at most two incident edges can be separable at w.
(S3) If p has degree at least 4 in T and there are two edges separable at p, then they must be consecutive in the order around it.
We are now ready for our main theorem. Proof. By Lemma 5.4, we may assume that N is even and that S has a triangular convex hull. Recall that sc(S) = T ∈T (S) C∈C(T )
We sort the triangulations in the first sum according to the number of interior vertices of degree 3 that they contain, and get .
1 supp(C) . However, when v 3 (T ) is small, the improvement in Lemma 5.1 is not significant. In this case we will use instead the bound in Lemma 5.3 which, as we now proceed to show, becomes significant when v 3 (T ) is small.
Consider a triangulation T ∈ T (S). Since S has a triangular convex hull, T contains 3N − 9 interior edges. Notice that an interior edge e is flippable if and only if e is not separable at either of its endpoints (this property is equivalent to e being a diagonal of a convex quadrilateral). From the above properties of separable edges, we have