A Quantitative Steinitz Theorem for Plane Triangulations
We give a new proof of Steinitz’s classical theorem in the case of plane triangulations, which allows us to obtain a new general bound on the grid size of the simplicial polytope realizing a given triangulation, subexponential in a number of special cases.
Formally, we prove that every plane triangulation with vertices can be embedded in in such a way that it is the vertical projection of a convex polyhedral surface. We show that the vertices of this surface may be placed in a integer grid, where and denotes the shedding diameter of , a quantity defined in the paper.
The celebrated Steinitz’s theorem states every -connected plane graph is the graph of a -dimensional convex polytope. An important corollary of the original proof is that the vertices of the polytope can be made integers. The Quantitative Steinitz Problem [R] asks for the smallest size of such integers as they depend on a graph. The best current bounds are exponential in the number of vertices in all three dimensions, even when restricted to triangulations, see [RRS]. In this paper we improve these bounds in two directions. While the main result of this paper is rather technical (Theorem 4.2), the following corollary requires no background.
Let be a plane triangulation with vertices. Then is a graph of a convex polyhedron with vertices lying in a integer grid.
This result improves known bounds in two directions at the expense of a somewhat weaker bound in the third direction. However, for large families of graphs we make sharp improvements in the third direction as well. Below we give our our main application.
A grid triangulation of is a triangulation with all grid points as the set of vertices. These triangulations have a curious structure, and have been studied and enumerated in a number of papers (see [A, KZ, We] and references therein).
Let be a grid triangulation of , such that every triangle fits in an subgrid. Then is a graph of a convex polyhedron with vertices lying in a integer grid.
Setting as , for the grid triangulations as in the corollary, we have a subexponential grid size in the number of vertices: .
The basic idea behind the best known bounds in the quantitative Steinitz problem, is as follows (see [R, RRS, Ro]). Start with the Tutte spring embedding of with unit weights [T], and lift it up to a convex surface according to the Maxwell–Cremona theorem (see [L, R]). Since Tutte’s embedding and the lifting are given by rational equations, this embedding can be expanded to an integer embedding. However, there is only so much room for this method to work, and since the determinants are given by the number of spanning trees in , the bounds cannot be made subexponential in the case of triangulations.
Although there are several interesting proofs of the Steinitz theorem [Z1, Z2], neither seem to simplify in the case of triangulations. The proof we present follows a similar idea, but in place of the Tutte spring embedding we present an inductive construction. In essence, we construct a strongly convex embedding of plane triangulations, based on a standard inductive proof of Fáry’s theorem [F]. We make our construction quantitative, by doing this on a grid, thus reproving a weak version of the main result in [BR].
We then lift the resulting triangulation directly to a convex surface. The inductive argument allows us to obtain a new type of quantitative bound on the height of the lifting. The parameter here may be linear in in the worst case. It is bounded from below by both the diameter of and the diameter of the dual graph of . However, this parameter is sublinear in a number of special cases, such as the grid triangulations mentioned above (see 6.4).
The rest of this paper is structured as follows. In the next section we recall some definitions and basic results on graph drawing. In Section 3.3 we prove Theorem 3.3, the crucial technical result on graph embedding. Then, in Section 4, we define the shedding diameter and prove Theorem 4.2, the main result of this paper. We discuss grid triangulations in Section 5, and conclude with final remarks in Section 6.
2. Definitions and basic results
Let denote a plane graph. By abuse of notation we will identify with the subset of consisting of its vertices and edges. We write for the vertices of and for the edges of . When is -connected we let denote the set of (closed) bounded faces of . We define , the region of determined by . For a subgraph of , we write .
When is -connected, a vertex is called a boundary vertex if is in the boundary of , and an interior vertex otherwise. Similarly, an edge is called a boundary edge if is completely contained in the boundary of , and an interior edge otherwise. A diagonal of is an interior edge whose endpoints are boundary vertices of . For a plane graph with vertex , let denote the plane graph obtained by removing and all edges adjacent to . Let denote the diameter of .
We say that two plane graphs are face isomorphic, written , if there is a graph isomorphism that also induces a bijection of the bounded faces of and . This last property means that are the vertices of a face if and only if are the vertices of a face . By definition, implies that and are isomorphic as abstract graphs, but the converse in not always true. When and is a vertex of , we will write for the corresponding vertex of , indicating that a face isomorphism is defined by .
A geometric plane graph is a plane graph for which each edge is a straight line segment. A geometric embedding of a plane graph in the set is a geometric plane graph such that and every vertex of is a point of . For a point , we will write and for the standard projections.
For a plane graph with vertices and an ordering of the vertices , we define a sequence of plane graphs recursively by and . We will write for when a is understood. If is a vertex of then we let denote the degree of in the graph .
A plane triangulation is a -connected plane graph such that each bounded face of has exactly vertices. Note in particular that if is a plane triangulation then is homeomorphic to a -ball. A boundary vertex of a plane triangulation is a shedding vertex of if is a plane triangulation. Let be a plane triangulation with vertices. A vertex sequence is called a shedding sequence for if is a shedding vertex of for all . We have the following technical lemma given in [FPP, 2], where it was used for an effective embedding of graphs.
Lemma 2.1 ([Fpp])
Let be a plane triangulation. Then, for every boundary edge of , there is a shedding sequence for , such that and .
We say that a strictly convex polygon with edge is projectively convex with respect to if is contained in a triangle having as an edge. A shedding sequence for a plane triangulation is a convex shedding sequence if the region is a projectively convex polygon with respect to the edge for all . A geometric embedding of is sequentially convex if has a convex shedding sequence.
3. Drawing the triangulation on a grid
3.1. A Rational Embedding
First we address a much easier question: How does one obtain a sequentially convex embedding of in (that is, with vertex coordinates rational)? We describe a simple construction that produces such an embedding. The method used to accomplish this easier task will provide part of the motivation and intuition behind the more involved method we will use to obtain a polynomially sized embedding in .
Let be a plane triangulation with vertices and boundary edge , and let be a shedding sequence for with , . Then has a geometric embedding in , such that the corresponding sequence is a convex shedding sequence for .
To simplify the proof, we make the stronger claim that the edge lies along the -axis, with to the left of , and lies in the upper half-plane. We proceed by induction on . If then we may take the triangle with coordinates , , as a sequentially convex embedding of in .
If , then by the inductive hypothesis there is an embedding of in such that is a convex shedding sequence for , and furthermore , , and lies in the upper half-plane. Let denote the neighbors of in , and let denote the corresponding vertices of , ordered from left to right. If , then let denote the left boundary neighbor of . Similarly, if , let denote the right boundary neighbor of .
For adjacent vertices and , we will denote the slope of the edge by . Similarly, we will denote the slope of a line by . Consider the lines spanned by the edges , , , and , respectively. If , we may take to be any non-vertical line passing through , with slope satisfying . Similarly, if , we may take to be any non-vertical line passing through , with slope satisfying .
Let denote the open half-planes below the lines and , respectively, and let and denote the open half-planes above the lines and , respectively. Since is projectively convex with respect to , the slopes of the lines must satisfy . Thus the region is non-empty (see Figure 2). Since each set is open, the set is open, so we may choose a rational point in , call it . For each add a straight line segment between and the vertex . Since lies in the region above the lines and , each line segment will intersect only in the vertex .
Let denote the plane graph obtained from by adding the vertex and the edges . Then is clearly a geometric embedding of , such that each vertex corresponds to , for . Furthermore, since lies in the region below the lines and , the region is projectively convex with respect to . From this, together with the fact that is a convex shedding sequence for , we have that is a convex shedding sequence for . ∎
3.2. The Shedding Tree of a Plane Triangulation
Now we address the problem of embedding the triangulation on an integer grid. The idea behind our construction is roughly as follows. We start with a triangular base whose the horizontal width is very large. We then show that, because this horizontal width is large enough, we may add each vertex in a manner similar to that used in the proof of Theorem 3.1, and we will always have enough room to find an acceptable integer coordinate. The crucial part of the construction is the careful method in which we add each new vertex. In particular, there are two distinct methods for adding the new vertex , depending on whether or . To facilitate the proper placement of the vertices with , we will appeal to a certain tree structure determined by the shedding sequence a. We introduce the following definitions.
Let be a plane triangulation with shedding sequence a. We may assume that is embedded geometrically as in Theorem 3.1. Proceeding recursively, we define a binary tree , such that the nodes of are edges of , and the edges of correspond to faces of .
Let denote the edge of containing vertices , and let be the tree consisting of the single node . Now let , and let denote the boundary edges of immediately to the left and right of , respectively (this is well defined because is embedded as in Theorem 3.1). Assume that we have already constructed , and that all boundary edges of are nodes of . Let be the boundary edges of such that shares a face with , and shares a face with .
Define to be the tree obtained from by adding and as nodes, and adding the edges and , designated left and right, respectively. Then clearly all boundary edges of are vertices of . Thus we have a recursively defined sequence of trees , and nodes , such that has nodes . We call the trees the shedding trees of , and we write (see Figure 3). Note that for all , we have .
Let , and define a set of edges
Let be the tree obtained from by contracting all edges in (shown in blue in Figure 3). Note that each is a full binary tree. We call the trees the reduced trees of , and we write . If for all , then .
A fundamental idea behind our integer grid embedding is that the reduced tree contains all of the critical information needed for carrying out the embedding of . For example, for each , the vertex corresponds to an internal node of (shown as large dots in Figure 3). Thus the structure of tells us how to horizontally space the vertices with , and how to choose the slopes of the boundary edges adjacent to them. On the other hand, when adding vertices with , our construction will have the property that the boundary slopes will be perturbed only slightly, and the horizontal distances between vertices will only increase. Furthermore, throughout our entire construction the total horizontal width of the embedding will remain fixed.
Given a subsequence of consisting of the distinct reduced trees of , there is a natural construction which produces a triangulation and shedding sequence , such that the distinct reduced trees of are exactly the shedding trees of . This construction is the content of the next lemma. That is, we will use Lemma 3.2 to define precisely in Section 3.3. This lemma can also be thought of as a special instance of Theorem 3.3, in the case that for all .
Let , and let be a sequence of full binary trees, such that is a subtree of , and has nodes, for all . Then there is a sequentially convex plane triangulation with vertices, embedded in a integer grid, and a convex shedding sequence a for , such that is isomorphic to for all .
Let and denote the number of internal nodes of to the left and right of the root node, respectively. Note that . Without loss of generality we may assume . For , we define
Additionally, we define
Note that the points all lie on the (piecewise) parabola defined by
These points will serve as the vertices of the triangulation (compare with the vertices of in Figure 3).
For all , since is full and contains two more nodes than , it follows that contains exactly one more internal node than . Let denote the sequence of internal nodes so obtained. Note that is the root node of all the trees , and consists of the single node . The nodes of may be linearly ordered by a depth-first search on , such that left nodes are visited before right nodes. Call this order . This restricts to a linear order on the internal nodes of , which induces a permutation . That is, node has position in the order . Then we define a sequence of points by
For , let denote the permutation induced by restricting the order to the internal nodes of . Note that . For each , we would like to determine the internal nodes of that immediately precede and succeed in the order . For this purpose, we define functions
We may now define a sequence of plane triangulations recursively. Let consist of the single vertex , and let consist of the vertices , and the line segment . Now let , and suppose we have constructed . We obtain by adding the vertex and the line segments and to . This completes the construction of the graphs . We write .
We now check that is a convex shedding sequence for . By construction, we have immediately that is a plane triangulation with for all , and furthermore for all . For , the slope of the edge between adjacent vertices and of is
Additionally, the slope of the edge between and is
Thus the boundary edge slopes of are strictly decreasing from left to right. Since for all , this implies that the boundary edge slopes of each are also strictly decreasing from left to right. It follows that is projectively convex, for all . Hence a is a convex shedding sequence for .
To see that is isomorphic to for all , we construct an explicit isomorphism. We define a map by , which is trivially an isomorphism. For , and , let and denote the left and right child, respectively, of the internal node of . We define a map by
From the definition of the order and the resulting functions and , it is straightforward to check that is well-defined and bijective. Since the triangle is a face of for all , the pairs and are edges of . Thus is clearly a tree isomorphism. We may think of as providing a correspondence between the internal node and the vertex (whose neighbors in are and ), for all (see Figure 3).
Finally, the width of the grid is
and the height of the grid is
Therefore is embedded in an integer grid of size . ∎
3.3. The Integer Grid Embedding
Given a plane triangulation with vertices and shedding sequence a, let denote the reduced trees of . Let denote the unique increasing bijection from to , where is the subset of defined above, and . Note that , so . Define a map by taking to be the unique index for which
(We require the inequality on the right to hold only when .) In particular, if then .
The sequence of distinct trees satisfies the hypotheses of Lemma 3.2. Therefore we let denote the sequentially convex triangulation constructed from this sequence of trees as in Lemma 3.2. That is, is the triangulation in the notation of the lemma, and has the exact vertex coordinates given in the lemma. We let denote the corresponding convex shedding sequence of produced by Lemma 3.2. We also define for all , so in particular . We call the the reduced triangulations of (see Figure 3). Note that each vertex has degree in . So we may think of as being obtained from by “throwing away” all vertices for which . It was this property that originally motivated our definition of .
As we will see, the triangulation will tell us exactly how to add vertices of degree , in our construction of a sequentially convex embedding of . A particular property of the reduced triangulations makes this possible. Namely, for any boundary edge of , there is a corresponding boundary edge of , which we define as follows. First note that from the definitions, the trees and are isomorphic. Thus we may think of an edge of (which is a node of ) as a node of . So for a boundary edge of , we denote by the unique boundary edge of (thought of as a node of ), that is identified with the node of upon contracting the edges in the set .
Let be a plane triangulation with vertices and boundary edge , and let be a shedding sequence for with , . Then has a geometric embedding in a integer grid, such that the corresponding sequence is a convex shedding sequence for .
We recursively construct a sequence of graphs , and a sequence of vertices , such that each is a geometric embedding of with convex shedding sequence , where is the vertex of corresponding to . Let denote the reduced triangulations of , and let denote the corresponding shedding sequence for . Let denote the number of vertices of lying between and , and the number of vertices lying between and . Then . Without loss of generality we may assume that .
For points and the line segment between them, we write
We first scale to obtain a much larger triangulation, which we will use to construct the triangulations . We choose the scaling factors large enough so that we will have “enough room” to carry out our constructions. Specifically, let and . We define to be the result of scaling by a factor of in the dimension and in the dimension. That is, for each , we define . Then is the shedding sequence for corresponding to . We write .
Since (as we verify below) the edges of and are in correspondence. Thus every boundary edge of has a corresponding boundary edge of , as defined above. We then write for the edge of corresponding to . Note that if has slope , then has slope . In particular, since is the largest magnitude of the slope of any edge of , we see that is the largest magnitude of the slope of any edge of . Let denote this slope, and note that . Note also that the absolute difference of two boundary edge slopes of is at least . It follows immediately that for each , the absolute difference of two boundary edge slopes of is at least .
Define and . Take to consist of the single vertex , and take to consist of the vertices , together with the line segment . Now let , and suppose we have constructed . To define , we consider two cases, namely whether or .
Construction of , in the case . If , then let denote the neighbors of in , and let denote the corresponding vertices of , ordered from left to right. Let denote the slope of the edge , and the slope of the edge . Let denote the line of slope containing the point , and the line of slope containing the point . We denote by the point of intersection of the lines and . Let and , and let . We now define (see Figure 4). We obtain from by adding the vertex , together with all line segments between and the vertices .
Construction of , in the case . If , then let be the triangle of containing . Let denote the boundary neighbors of in , and let denote the corresponding vertices of , so that lies to the left of . We are going to construct a triangle , such that is the image of under an affine map which is the composition of a uniform scaling and a translation. Furthermore, we will place in a specific position with respect to the triangulation . In particular, if denote the vertices of , we require that , , and (see Figure 5). It is easily verified that these conditions, together with the requirement that is a scaled, translated copy of , determine the vertices of uniquely.
To define the new vertex , we start by applying a vertical shearing to the triangle , namely the unique shearing that fixes and maps to . We will denote the image of under this shearing by . So in terms of the vertices of and