A Grid-Based Approximation Algorithm for the Minimum Weight Triangulation Problem
Sharath Raghvendra, Mari\"ette C. Wessels

TL;DR
This paper introduces a polynomial-time algorithm that approximates the minimum weight triangulation within a factor of 14, using a grid-based layered approach and combining heuristics with novel analysis techniques.
Contribution
The paper presents a new polynomial-time approximation algorithm for the NP-hard minimum weight triangulation problem with a significantly improved ratio of 14, utilizing grid partitioning and combined heuristics.
Findings
Achieves a 14-approximation ratio for MWTP.
Uses a novel combination of ring heuristic and greedy methods.
Employs an Euler characteristic based analysis to prove bounds.
Abstract
Given a set of points on a plane, in the Minimum Weight Triangulation problem, we wish to find a triangulation that minimizes the sum of Euclidean length of its edges. This incredibly challenging problem has been studied for more than four decades and has been only recently shown to be NP-Hard. In this paper we present a novel polynomial-time algorithm that computes a -approximation of the minimum weight triangulation -- a constant that is significantly smaller than what has been previously known. In our algorithm, we use grids to partition the edges into levels where shorter edges appear at smaller levels and edges with similar lengths appear at the same level. We then triangulate the point set incrementally by introducing edges in increasing order of their levels. We introduce the edges of any level in two steps. In the first step, we add edges using a variant of the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputational Geometry and Mesh Generation · Advanced Graph Theory Research · Complexity and Algorithms in Graphs
A Grid-Based Approximation Algorithm for the Minimum Weight Triangulation Problem††thanks: This work is supported in part by the National Science Foundation under grant NSF-CCF 1464276. Any opinions, findings, conclusions, or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.
Sharath Raghvendra , Mariëtte C. Wessels Department of Computer Science, Virginia Tech, [email protected] of Mathematics, Virginia Tech, [email protected]
Given a set of points on a plane, in the Minimum Weight Triangulation problem, we wish to find a triangulation that minimizes the sum of Euclidean length of its edges. This incredibly challenging problem has been studied for more than four decades and has been only recently shown to be NP-Hard. In this paper we present a novel polynomial-time algorithm that computes a -approximation of the minimum weight triangulation—a constant that is significantly smaller than what has been previously known.
In our algorithm, we use grids to partition the edges into levels where shorter edges appear at smaller levels and edges with similar lengths appear at the same level. We then triangulate the point set incrementally by introducing edges in increasing order of their levels. We introduce the edges of any level in two steps. In the first step, we add edges using a variant of the well-known ring heuristic to generate a partial triangulation . In the second step, we greedily add non-intersecting level edges to in increasing order of their length and obtain a partial triangulation . The ring heuristic is known to yield only an -approximation even for a convex polygon and the greedy heuristic achieves only a -approximation. Therefore, it is surprising that their combination leads to an improved approximation ratio of .
For the proof, we identify several useful properties of and combine it with a new Euler characteristic based technique to show that has more edges than ; here is the partial triangulation consisting of level edges of some minimum weight triangulation. We then use a simple greedy stays ahead proof strategy to bound the approximation ratio.
1 Introduction
Consider a planar point set with . A triangulation of is a subdivision of the interior of the convex hull of into triangles by non-intersecting straight-line segments. Alternatively, any triangulation can be viewed as a maximal planar straight-line graph () of the planar point set . For any pair of points , we define the weight of the edge as the Euclidean distance between and . We define the weight of any triangulation to be the sum of the weights of all the edges in . The Minimum Weight Triangulation (MWT) problem seeks to find a triangulation of with the smallest possible weight. Note that the MWT (also referred to as the optimal triangulation) for a given point set is not necessarily unique. For , we define an -approximate minimum weight triangulation to be any triangulation such that . In this paper, we describe a new algorithm that computes a -approximate MWT of .
1.1 Overview and Previous Work
The problem of computing a triangulation for a given point arises naturally in applications ranging from computer graphics and cartography to finite element meshes and spatial data analysis. Different applications call for different notions of optimality, many of which has been studied and were surveyed by Bern and Eppstein [2]. One such notion of optimality is expressed by the MWT problem. The origin of this problem dates back to 1970 in cartography where it was first considered by Düppe and Gottschalk [5] who originally proposed a greedy approach to produce a MWT. Shamos and Hoey [16] conjectured that the well-known Delaunay triangulation, the dual of the Voronoi diagram, which simultaneously optimizes several objective functions might be a MWT. However, Lloyd [10] provided examples in 1977 which show that neither the greedy nor the Delaunay triangulation is a MWT. At this point the hardness of this problem was unknown. This problem became notorious when Garey and Johnson [8] included the MWT problem in their famous list of twelve major problems with unknown complexity status in 1979. It was not until 2006 when Mulzer and Rote [13] proved that the MWT problem is -hard.
Despite the complexity of the MWT problem remaining unknown for nearly three decades, there were several efforts to design approximation algorithms. The greedy triangulation and Delaunay triangulation were shown to be a factor [11], and a factor [9, 11] approximation respectively. Plaisted and Hong [14] described how to approximate the MWT within a factor of in time by partitioning the point set into empty convex polygons and then repeatedly connecting all pairs of adjacent even numbered vertices. This procedure for the convex polygon is known as the ring heuristic. Clarkson [3] extended the ring heuristic to non-convex polygons to design an algorithm for the closely related Minimum Weight Steiner Triangulation (MWST) problem. Levcopoulos and Krznaric [9] showed that a variation of the greedy algorithm approximates the MWT within a very large constant. This constant was reduced by Yousefi and Young [17], who also discuss the relationship between the MWT and integer linear programs; a relationship first noted by Dantzig et al. [4].
About two decades ago, in a major breakthrough, Arora [1] introduced a shifted quadtree-based approach to compute a -approximation for the Euclidean TSP problem. Concurrent to this, but independently, Mitchell [12] also introduced a PTAS for the TSP problem. Arora’s technique extended to several other geometric optimization problems. However, as noted by him, the MWT problem resists this approach. The Minimum Weight Stiener Triangulation (MWST) problem seemed amenable to Arora’s technique, however, no such -approximation algorithm has yet been found for the MWST either. Finally, Remy and Steger [15] have discovered a quasi-polynomial approximation scheme where, for any fixed , it yields a -approximation of the MWT in time.
A natural variant of the MWT problem is the problem of computing a triangulation that minimizes the th norm of its edge costs, i.e., for an integer compute a triangulation that minimizes the cost . We refer to this as the -MWT problem. When , this problem reduces to the minimum weight triangulation and when , the problem reduces to the well-known minimax length triangulation problem [6].
1.2 Our Approach and Results
We present a novel polynomial time algorithm that computes a -approximate MWT. In comparison, for the minimum weight triangulation problem, the previous methods for computing a constant approximation [9, 17] achieve an approximation ratio estimated to be higher than . We utilize a grid-based approach [7, 15] combined with a variant of the ring heuristic [14, 3] and a greedy approach [9] to compute our approximate triangulation. More specifically, we maintain a sequence of nested grids (similar to a quad-tree) for some . Let be the finest grid and be a single square that contains all input points. Using these grids, we partition all the edges into levels—an edge appears in level if and only if is the smallest integer such that the two end points of this edge are in neighboring cells in (note that longer edges have a higher level).
We then triangulate the point set incrementally by introducing edges in increasing order of their levels. Our algorithm will maintain a maximal after processing the level edges. We introduce the level edges in two steps. In the first step, we add edges and triangulate the region between every consecutive pair of reflex chains that appear on the boundary of any non-triangulated face of . We do so by using a variant of the ring heuristic. Let be the maintained at the end of this step. In the second step, we will greedily add non-intersecting level edges to in increasing order of their length to obtain a maximal . Our algorithm returns as the approximate triangulation. The ring heuristic is known to yield only an -approximation even for a convex polygon and the greedy heuristic achieves only a -approximation. Therefore, it is surprising that by combining the two heuristics, we obtain a significantly improved -approximation for this problem.
For the proof, we identify several useful properties of and combine it with a new Euler characteristic based technique to show that has more edges than , where is the restricted optimal triangulation consisting only those edges of the minimum weight triangulation which have a level of at most . The approximation ratio can then be bounded by using a simple greedy stays ahead proof.
There are three major technical contributions that assist us in the proof:
- •
We identify several important properties of the maximal and the intermediate for each level . Using these properties, we show that the partial triangulation triangulates a larger region than the restricted optimal triangulation . However, this triangulated region for is not necessarily contained inside the triangulated region for and this makes it difficult to compare their cardinalities.
- •
Nevertheless, we develop a novel technique to show that there are more edges in than in . This technique involves adding edges (not necessarily straight-line) to in such a way that for every non-triangulated face of , there is a unique non-triangulated face with a greater number of edges in this augmented restricted optimal triangulation. Using Euler’s formula, we can then relate the cardinality of our candidate solution and the optimal to achieve a -approximation algorithm.
- •
We choose the side-length of the cells of the grid randomly and this helps to improve the expected approximation ratio to .
The analysis of ring heuristic [14] and the quasi-greedy algorithm [9] for the MWT problem rely on triangle inequality of Euclidean costs. Consequently, we cannot extend the analysis of these heuristics to the -MWT problem where edge costs are th powers of the Euclidean costs. Our analysis, however, does not depend on the triangle inequality and therefore easily extends to any -MWT. We show that the triangulation produced by our algorithm is a -approximate -MWT for every value of including the minimum weight triangulation ( and the minimax length triangulation ().
In the rest of the paper, we present our algorithm for the MWT problem and provide a weaker analysis of - (worst-case) and - (expected) approximation ratio. In Section 2 we present the preliminary definitions that are necessary to present our algorithm. The algorithm is described in Section 3. We use our algorithmic invariants to bound the approximation ratio by a factor of (worst-case) and (expected) in Section 4. We prove the invariants in Section 5 and 6. In Section 7, we will describe an improvement of the approximation factor to (worst-case) and (expected) and also describe the extension of our analysis to the -MWT problem. We conclude in Section 8.
2 Preliminaries
Let be the set of input points. For simplicity of presentation, we will assume that has a spread of , i.e., the ratio of the diameter of and closest pair of points in is bounded by , where is a power of three. We also scale and translate so that the closest pair of points in are at a distance , the diameter of is bounded by , and all points of are enclosed inside an axis parallel square with and being the diagonally opposite corners of . Note that the translation and scaling does not affect the optimal triangulation. We also assume that the points in are in general position and therefore no three points in are co-linear. Our algorithm extends to any arbitrary point set that is not in general position and that does not have a bounded spread. However, making these assumptions simplifies the presentation of our algorithm significantly. In Section 3, we will show that the running time of our algorithm is polynomial in and not dependent on the actual value of .
For any pair of points, , let be the open straight-line segment in connecting the points and (so the endpoints and are not included in ). Consider an arbitrary graph with the set as its vertex set. We denote an edge between two vertices in , , as . Unless otherwise noted, let denote the set of edges of the graph , so that denotes the number of edges in . The edges and intersect if . The graph is a planar straight-line graph () if, for any two edges and in , and do not intersect. For any graph (not necessarily planar), a subgraph is a maximal , if is a and for every , there exists such that intersects . It is well-known that any maximal of the complete graph on is a triangulation of with edges, where is the number of points of that appear on its convex hull. A maximum is a maximal with the largest number of edges out of all possible maximal s of . Note that in general, neither the maximum nor the maximal is unique.
2.1 Grids and Adjacency Graphs
Our algorithm is described on graphs that are induced by a sequence of nested grids constructed as follows. First, choose a uniformly at random from the open interval . All points in lie inside the square with diagonal corners and . Next, define a sequence of grids , where is the square . Given a grid , we obtain grid by simply splitting every cell (square) of the grid into equal cells. By this construction, grid will have cells each having a side-length of . We refer to as the level of . Without loss of generality, we may assume that, for each , every point is contained in exactly one cell of . If this is not the case, then one can translate the input point set such that no input point lies on a grid line. Clearly this does not affect the minimum weight triangulation. It is always possible to do so since consists of finitely many points. The finest grid consists of cells with side length .
For every cell , we will define the neighboring cells of to be the set of cells in that share their boundary with . Our convention is to include in since shares a boundary with itself (thus contains at most nine cells). Let represent the geometric region formed by taking the union of all cells in the neighborhood of , i.e., . For notational convenience, for any point contained in the cell , define and . We refer to two cells and of a grid as diagonal neighbors if their boundaries share exactly one vertex but do not share any edge. If and share exactly one edge, they are referred to as orthogonal neighbors. Any cell can have at most four diagonal neighbors, and four orthogonal neighbors.
For each grid , the adjacency graph connects every pair of distinct points that are in neighboring cells with an edge. Therefore, the vertex set of the adjacency graph is itself, and for any two points , such that , is an edge in if and only if . It is not difficult to see that , is the complete graph on vertices, and for all . As we go from level to level in the adjacency graph, several new edges may be added. We refer to these edges as level edges, denoted . Note that for any edge , it follows from the definition of a neighborhood that .
2.2 Non-triangulated faces
A straight-line embedding of a planar graph , defined on the point set , subdivides the plane into regions. Each region is referred to as a face of . More formally, each face is a maximal connected region in . Since a face is a subset of , the boundary of the face can be defined in the standard way (a point is on the boundary of a face if, for every , the Euclidean ball centered at with radius contains both a point in and a point not in ). Therefore, faces are open subsets of and their boundaries consist of points in and line segments (which corresponds to edges) of the graph . We refer to a bounded face as a triangulated face if its boundary is a single connected component with exactly three edges and three vertices of . Any other face (bounded or unbounded) is non-triangulated. The boundary of a non-triangulated face may consist of one or more isolated vertices, connected cycles, or trees. For example, in Figure 1(b) the unbounded face consists of two polygons and an edge on its boundary.
Let be a non-triangulated face of . Our algorithm applies a grid-based modified ring heuristic on a clockwise ordering of the vertices for each connected component of the boundary of . We generate this clockwise ordering as a sequence of the vertices that appear on the boundary of by walking along the boundary so that the face appears on the right. Let denote walking along any edge from to . During this construction, any edge has been explored if we have already walked from to along the edge . If has the same face on both its sides, then we will explore and as we generate the sequence for that face, which will result in a single vertex appearing multiple times in the boundary vertex sequence as part of distinct directed “explorations”. Otherwise, the edge is explored only once for this sequence (with an orientation so that appears on the right). We construct the vertex sequence as follows: start the sequence with an arbitrary vertex on the boundary. If the connected component is an isolated vertex, then is the vertex sequence. Otherwise, let be any vertex adjacent to that also appears on the boundary of . If appears on the right as we walk along any edge , set , the second vertex in the sequence. To determine the rest of the sequence, suppose we have generated the first vertices of the sequence. To generate the vertex in the sequence, we choose the potential next vertex as follows:
- •
if is a degree vertex in , let be the only adjacent vertex;
- •
if had degree greater than , consider the ray passing through and . Let be the first vertex adjacent to that intersects when is rotated about in the anti-clockwise direction.
If has not been explored, we walk along from to , set , and add to . We repeat the same process to find the next vertex in the sequence. Otherwise, if has already been explored, we return as the clockwise ordering of the vertices. By repeating this process for every connected component of the boundary, we generate a separate clockwise ordering of vertices for each connected component of the boundary of (for instance, two boundary vertex sequences are generated for in Figure 1(a)). Note that any vertex may appear multiple times in . In Figure 1(b), appears multiple times in but labeled as , , and depending on where in the sequence the vertex was encountered. In each of these instances, appears between two different vertices in the clockwise ordering of the boundary, and therefore generates a distinct element in . For , and for any two integers , let denote the vertex where . Note that one can also define a boundary vertex sequence consisting of exactly three vertices for any triangulated face of .
Suppose is a vertex sequence for a non-triangulated face of , and let be any vertex in the sequence. We say that is a convex vertex if, as you walk from through to , we make a right turn at . Otherwise, if we make a left turn, we refer to as a reflex vertex (since we assume no three points are co-linear, every vertex is either reflex or convex). For any , we refer to the contiguous subsequence as a chain from to and denote it by with denoting the number of vertices in the chain. The interior of the chain is the set of all vertices in the chain except the first and last vertices and . We refer to and as the boundary of the chain. A reflex chain is a chain consisting only of reflex vertices. We refer to the reflex chain from to as a maximal reflex chain if and are not reflex.
Let be a , and be a non-triangulated face of with the boundary vertex sequence . The vertex is visible to a vertex in if and adding the edge to creates two faces and with and . Note that the definition of visibility is symmetric, i.e., for , is visible to if and only if is visible to . We say that and are -visible if is visible to and the length of is at most . We extend this definition and define the visibility between a vertex and any point on a line segment. For any , we say that a point is visible to a vertex if is visible to in the vertex sequence . We say that a vertex is visible to the edge if there exists a point with the property that is visible to . In addition, if the length of is at most , we say that is -visible to .
Let be the boundary vertex sequence for some non-triangulated face in a . For any vertex , let be the smallest integer such that and is convex. We define to be the forward convex vertex of . Also, define to be the forward support vertex of denoted by . For any reflex vertex in , let be the largest integer such that and is convex. We define to be the backward convex vertex of . Then we define to be the backward support vertex of denoted by . Note that the backward convex vertex and backward support vertex is defined only for reflex vertices of .
Non-triangulated face and the grid.
We will show that in the first part of the algorithm, while executing the modified ring heuristic on any non-triangulated face of a maximal , the algorithm generates two particular types of chains. We refer to these as type -chains and type -chains. Let be the boundary vertex sequence of that is being processed. A chain from to is a type -chain, provided (i) it has exactly one convex vertex in its interior, i.e., , (ii) every vertex participating in the chain is contained in , (iii) every vertex from to is visible to and symmetrically, every vertex from to is visible to in . A chain from to is a type -chain provided (i) it has exactly two consecutive convex vertices, and such that , and (ii) the chain from to is a type -chain and the chain from to is a type -chain (see Figure 2). For brevity, we refer to these as - and -chains.
Let be a -chain or a -chain. Define to be the interior of the region bounded by and the segment in (Figure 2). By this definition, the chain and the edge form the boundary of , however, this boundary is not included in the region . The effectiveness of the algorithm partially rests on the fact that can be triangulated in a straight-forward fashion, provided it does not have any other input points in its interior. In Figure 2(a), is a -chain with the only convex vertex in the chain, and the region can easily be triangulated. In Figure 2(b), is a -chain with and the two consecutive convex vertices, and the region can also be triangulated as shown.
In the following section, we present our algorithm to compute an approximate Minimum Weight triangulation.
3 Algorithm
The algorithm iteratively constructs a candidate maximal which is a subgraph of for each level . Each can be seen as a partial triangulation of . Initialize . We construct from in two phases. In the first phase, we process every face of in the clockwise order, compute certain -chains and -chains, and triangulate their regions by adding some of the edges of which results in an intermediate . A chain generated by the algorithm starting at the vertex is denoted by , omitting the last vertex in the chain. In the second phase, we process all the edges of in a greedy fashion and construct a maximal . Next, we describe the details of the construction from .
Phase 1:
Initialize . We describe our algorithm for each non-triangulated face of . If the boundary of contains more than one connected component, we repeat the algorithm for the vertex sequence of each connected component of . Let be any such vertex sequence. We begin by choosing a start vertex, and then proceed to describe how each vertex is processed.
Choosing a start vertex. Choose the starting vertex to be any backward support vertex in , i.e., for some . If there is no such vertex then let .
Processing . Starting from , we will visit all the vertices as they appear in . If an edge incident on vertex is added, then is processed. Initially and . As we visit the vertices, we add new edges, each of which splits into a triangle and a smaller non-triangulated face . We will dynamically maintain the vertex sequence .
We process by repeating (1) and (2) until .
For let be its forward convex vertex and let be its forward support vertex in . Mark as visited. If is visible to with respect to the face and then set the chain (Figure 3(a)). Else set (the chain with only two vertices).
If is not visited and , then
- (a)
If is reflex, let be its backward convex vertex and be its backward support vertex. If and is visible to with respect to the face , then
- •
Let be the maximal reflex chain that starts at . Scan along this chain and identify the last vertex for which and is visible to in . Set (Figure 3(b)). 2. (b)
Now add an edge from to every vertex in . If , then we add edges from to every vertex in . Let be the set of edges added. Set . Mark every vertex in the chain as visited and update by removing all vertices in the interior of from (see Figure 3).
Otherwise if is visited and , then
- (c)
Let be the vertex appearing immediately after in . Set the chain (Figure 3(c)). Add an edge from to every vertex in . Mark every vertex in the chain as visited and update by removing all the vertices in the interior of from . Set . 2. 2.
If no edges are added in step (1), then set .
Phase 2:
Initialize . For each edge in , process them in increasing order of their Euclidean lengths. If has not yet been added to and if is still a , add to . Once all edges of are processed, the resulting graph is a maximal of .
These two phases are repeated for each level , until , a maximal on the complete graph of the input set (and hence a triangulation), is computed, which yields our approximate solution. Note that the number of non-empty levels for the edges can not exceed and for each level, the processing time is polynomial. Therefore, the execution time of our algorithm is a polynomial independent of .
While processing a vertex , suppose the algorithm executes step 1(c). Note that this case only arises when the forward convex vertex of ( for that step) is either the start vertex or the following vertex . At the end of step 1(c), we set and the algorithm completes executing Phase 1 for the face . Alternatively, if the forward support vertex of is the start vertex , then Phase 1 for the face will terminate without executing 1(c). Call , the last vertex to be processed in this sequence, the end vertex. The following observations follow from the description of the algorithm:
(O1)
For any pair of vertices processed by the algorithm, the chains and are interior disjoint except for the pair corresponding to the start vertex and the end vertex . For and , either is contained inside (if step 1(c) was executed) or and are interior disjoint ( was the forward support of ).
(O2)
The last vertex on any maximal reflex chain will have an edge to its forward support provided the forward convex vertex and the vertex is visible to with respect to the face
4 Approximation Ratio
In this section, we begin by showing that the algorithm presented in Section 3 produces, in the worst case, a -approximation of the MWT. We will also show that the expected approximation ratio of our algorithm is . Our algorithm maintains two invariants. To state the invariants, for every level , we first introduce the disc graph , defined as follows. Let be the vertex set of , and given two vertices , if and only if . In other words, the point is contained in a disc that is centered at with a radius of . Clearly for all . Furthermore, let be the optimal triangulation of , and let be the edges of the optimal triangulation that are in the disc graph , i.e., .
With these definitions, we can state the invariants maintained by the algorithm for every level .
Invariant 1**.**
* is a and every edge has length .*
Invariant 2**.**
.
Note that the length bound in Invariant 1 for edges added in Phase 1 of the algorithm implies that all of the edges added are in . Assuming both invariants hold, we will bound the approximation ratio of our algorithm.
Theorem 1** (Approximation Ratio).**
Suppose Invariants 1 and 2 hold. Then the candidate solution produced by the algorithm in Section 3, , is an -approximate MWT, where . Furthermore, the expected value of is at most .
Proof.
Suppose that both the invariants hold. Let be the triangulation computed by our algorithm. Any triangulation for a given point set has edges, where is the number of points on the convex hull of . Therefore, . Let be the ordering of edges of based on when they were added by the algorithm, i.e., edge appears before edge in if was added before by the algorithm. Note that in the sequence , the edges of level appear before all level edges. Let . We also order the edges of the optimal triangulation into another sequence . In this sequence, for any , the edges of appear before the edges of . Let be the edge in , and be the edge of . To prove this theorem, we will show that and . Given this, we obtain the bound on as follows:
[TABLE]
where . Since and , is a weighted average of all values. Therefore, we can bound and by providing an upper bound for and .
From here on, we will bound by and by to prove the theorem. Let be an integer such that . Therefore, the cost of , . By Invariant 2, it follows that , so . By Invariant 1, . Therefore,
[TABLE]
Thus, is an -approximation of .
Recollect that is chosen uniformly at random from the interval . may be expressed as a function of as follows. Let be the largest integer such that . Let be the edge in . By the choice of , . Since , either or . Hence there are two possible cases:
- •
If , then . From Invariant 2, ) will be at most . Therefore is .
- •
If then . From Invariant 2, ) will be at most . Therefore is
Let . The expected value of can be expressed as:
[TABLE]
The last inequality holds for any such that , and hence for every being considered. ∎
5 Algorithmic Invariants
To complete the proof of Theorem 1, we prove Invariant 1 in Section 5.2 and Invariant 2 in Section 6, which were assumed in the proof of the approximation ratio. It will be useful to first consider properties of a maximal with respect to which arise due to the underlying grid structure. These properties can be used to prove Invariant 1.
5.1 Properties of a Maximal in
In order to state the properties satisfied by any maximal of , we introduce the following definitions. For any two points and , let and be the cells of that contain and . Let and let . We say that and are cells apart if . It is not difficult to see that if and are cells apart, then and the worst case is achieved when and are diagonally opposite corners of the square of side length containing cells of .
Next, we state the properties. The proofs of each of these properties are deferred until Section 6.3. Let be a maximal with respect to . Let be a non-triangulated face of with a boundary vertex sequence .
(P1)
Suppose is convex. Then , , and are in three distinct cells , , and of , respectively, and .
(P2)
Suppose and is any edge on the boundary of such that (resp. ) and is visible to in . Then,
- (i)
the chain from to (resp. chain from to ) in is a -chain, and,
- (ii)
is a forward (resp. is a backward) support vertex for every vertex from to (resp. from to ).
(P3)
For any chain from to in ,
- (i)
if is a -chain with as the only convex vertex in its interior, then the region is contained in , i.e., , and contains no input points of .
- (ii)
if the chain is a -chain with and as the two convex vertices, then the region is such that contains no points of . In two cases, (See Figure 4) and may contain points of . In all other cases, contains no points of .
(P4)
For any vertex , if an edge on the boundary of is -visible for , then exactly one of and are in and the other is not.
5.2 Proof of Invariant 1
Using (P1)–(P4), we now establish Invariant 1. To assist with the presentation, we re-use the notation from the description of the algorithm. Recollect that is the start vertex, is the end vertex and while processing a vertex , and are its forward convex vertex and forward support vertex, respectively. If is reflex, then and are the backward convex vertex and the backward support vertex, respectively. For every edge added in Phase 1, let in be the chain from to . We refer to this kind of chain as a triangulated chain. If appears on the boundary of a non-triangulated face of after Phase 1 has been executed, then is a maximal triangulated chain. If the chain was generated when processing , we may omit the the other endpoint of the chain, and simply denote the chain by .
Invariant 1 asserts two claims, (i) any edge has length , and (ii) that the intermediate graph produced by Phase is a . Note that to prove the first claim (i), it is sufficient to show that the endpoint of any edge that was added by the algorithm is at most cells apart. We first show that any two vertices in a -chain are at most cells apart and any two vertices in a -chain are at most four cells apart (Lemma 2). We then show that any triangulated chain generated by the algorithm is either a -chain or a -chain (Lemma 4). This proves (i). We show (ii) that planarity is never violated by edges added in Phase 1 in Lemma 5 and 6. It follows that the algorithm triangulates the region of each triangulated chain and therefore that the algorithm maintains Invariant 1.
Lemma 2**.**
If are vertices in a -chain, then and are at most cells apart. If are vertices in a -chain, then and are at most cells apart.
Proof.
Suppose and are two vertices of a -chain . Let and be the cells of containing and respectively. Let be the only convex vertex in the interior of . By definition of -chain, , therefore and . So , therefore, by definition and are at most cells apart.
Suppose and are vertices in a -chain with and as the two convex vertices. It follows from the definition of a -chain that and . Therefore, any two cells of are at most -cells apart and therefore and are at most cells apart. ∎
The following lemma establishes a useful property of - and -chains.
Lemma 3**.**
For any - or -chain , consider a line segment that enters and exits the region . Then, also intersects a vertex or an edge in the chain .
Proof.
Note that the region represents the interior of the connected region that is bounded by the chain on one side and the edge from to on the other. The segment cannot enter and exit the region through the same boundary edge of . Therefore, either the entry or exit point lies on the edge of and the other point lies on a vertex or an edge of the chain . ∎
During Phase 1, a vertex is processed and we add edges if and only if Step 1 of the algorithm is executed. Otherwise, if Step 2 is executed, we do not add any edge and generate a trivial chain . Next we show that when Step 1 of the algorithm is executed, the chain generated by the algorithm is either a - or a -chain.
Lemma 4**.**
For every vertex processed by the algorithm, the chain generated is either a -chain or a -chain. Furthermore, the triangulated chain for the start vertex is a -chain.
Proof.
Note that for any vertex to be processed, Step 1 of the algorithm must be executed. First, we show that the chain for the start vertex is a -chain. The start vertex is chosen to be a backward support vertex, unless none exists. Suppose is a backward support vertex for some vertex , so . By definition, the vertex that appears after , , is a convex vertex (the backward convex vertex of ) and is a reflex vertex. However, it also follows from the definition that is the forward convex vertex of and is the forward support vertex of . From the precondition of step 1, and is visible to therefore . The point visible to and therefore the edge is also visible so by (P2), the chain is a -chain. If step 1(a) is not executed, then we are done. Suppose step 1(a) is executed, so , where is the last reflex vertex on the reflex chain in which appears, such that is visible to and . Since all vertices from to are reflex and from (P2), it follows that is a -chain. Therefore, in either case , the chain generated for the start vertex, must be a -chain. Now suppose there are no reflex vertices in , then there is no backward support vertex and we choose . In this case, is the forward convex vertex and is the forward support that is also a convex vertex. It follows that is visible to , has only one convex vertex in its interior, and . Thus is a -chain.
Next, we prove that the lemma holds for the end vertex , the last vertex that is processed in . Either step 1(c) is executed when processing or it is not. Suppose step 1(c) is executed when processing and the chain is generated; since this is a special case we prove this separately. If step 1(c) is being executed, the forward convex vertex has already been visited when is processed. From precondition of Step 1, and is visible to . In this case, the maximal triangulated chain is (where is the vertex adjacent to in ). Note that is convex (due to the choice of starting vertex), therefore, the forward convex vertex (which we know from the precondition of step 1(c) is already visited) is either or . If , then and are both convex. It follows from (P2) that is a -chain, and by the above argument is also a -chain. Therefore, by definition is a -chain. If , then is reflex. We have already shown that must be a -chain, therefore contains only one convex vertex in its interior, and thus the chain also contains only one convex vertex, namely , in its interior. Since it follows that is a -chain. The remaining case for , when step 1(c) is not executed, uses the same argument as for any other ; the argument for this case is provided next.
Finally, we prove that for any other vertex , which is neither the start vertex nor any other vertex for which step 1(c) is executed, the chain is either a -chain or -chain. Step 1(c) is not executed. Therefore, step 1(a)-(b) must be executed. From the precondition to execute step 1, and is visible to . This implies that the edge is visible to and from (P2) we can conclude that the chain generated by the algorithm with as the only convex vertex is a -chain. Suppose the precondition for step 1(a) is met, then and is visible to . Therefore, we can use the same argument to show that is a -chain. Since all vertices from to are reflex, such that and is visible, by extension it follows that is also a -chain. Now there are only two possibilities for the backward convex vertex of the vertex : either (i) or (ii) . In case (i), the chain has only one convex vertex, and by construction every vertex of this chain is inside , so that is a -chain. Otherwise, in case (ii), and are adjacent convex vertices; it then follows that is a -chain. This completes the proof. ∎
Lemma 4 implies that the algorithm only generates -chains and -chains in Phase 1, therefore by applying Lemma 2 it follows that any edge added by the algorithm in Phase 1 has length at most . Note that a useful observation in light of this proof is that the algorithm only generates -chains if it executes step 1(a) or 1(c) of the algorithm. Furthermore, for a triangulated chain , since is either a -chain or a -chain, it follows that the edges added for this chain will not intersect with each other. In order to establish that is planar, we show that edges added for two distinct chains do not intersect, nor do they intersect with any edges in .
Lemma 5**.**
Let be a triangulated -chain generated by the algorithm while processing the vertex and let and as the two convex vertices in its interior. Then, the region bounded by and the line segment contains no points of .
Proof.
For the sake of contradiction, let us assume that there is a vertex such that when is processed, the algorithm generates a maximal triangulated -chain and the region contains at least one input point . The chain appears on the boundary of and so cannot be a vertex of . By Lemma 4, is a -chain, therefore cannot be the start vertex . Since is a -chain, it follows by Property (P3) that does not contain and only if is in one of the two possible configurations. Figure 4 depicts these two possible configurations through four representative examples (clockwise and counter-clockwise cases for each of the two configurations).
For cases (a) and (b), we choose to be the first vertex that appears after in the sequence and that is contained in the region . We will first show that is a reflex vertex. Suppose is convex, from (P1) the neighbors of in are not in the same cell as and from (P3) they are also not in . Since the cell of together with together cover , the neighbors of will lie outside and both these edges to the neighbors intersect the edge which would make a reflex vertex. Therefore, we can assume to be a reflex vertex. Since is a reflex vertex and by our choice of to be the first vertex that appears after in the sequence , the edge is visible to and by construction . From (P2), the chain is a -chain with as the only convex vertex in its interior. Only step 1(a) and step 1(c) of the algorithm generate a -chain. The last vertex of any -chain generated by step 1(a) or step 1(c) of the algorithm will be a reflex vertex. Since is a convex vertex, while processing the algorithm will never generate a -chain of the two configurations depicted by cases (a) and (b).
For cases (c) and (d), let be the last vertex that appears before in the sequence . We can use an argument similar to cases (a) and (b) and show that is a reflex vertex, and the chain is a -chain with as the only convex vertex in its interior. Let be the vertex that appears before in this chain. Clearly, is the last reflex vertex in this chain. From (O2), the algorithm would have added an edge from to and would not have processed . Hence, the algorithm will never generate a -chain of the two configuration as depicted by cases (c) and (d). Therefore cannot be either of the two configurations.
∎
Lemma 6**.**
For any , is a , after Phase of the algorithm has been completed.
Proof.
We will show that while processing a non-triangulated face , the edges added do not intersect with each other or intersect with any edge of . Given any two maximal triangulated chains and from (O1), we know that these chains are interior disjoint. If (resp. ) is a -chain, then by (P3), the region (resp. ) does not contain any points of . If (resp. ) is a -chain, then from Lemma 5, the region (resp. ) does not contain any points. Therefore, the regions and are disjoint regions and no edges of can intersect these regions. Since the edges in triangulate the region they cannot intersect with the edges in or with edges already in . It follows that is planar. ∎
This completes the proof of Invariant 1. In the remainder of this section we show that after Phase 1, the intermediate has a particular property that plays a critical role in proving Invariant 2.
5.3 -Visibility in
In the following Lemma we prove a critical property used in the proof of Invariant 2, together with some consequences of this property.
Lemma 7**.**
Let be a non-triangulated face in with vertex sequence . Let be the resulting vertex sequence after Phase of the algorithm, and let .
Suppose , and let be an edge that is -visible to . Then,
if is in the interior of the chain , then it follows that either , or , 2. 2.
if is on the boundary of the chain and without loss of generality let . Then it follows that or
Proof.
Suppose and is an edge on the boundary of , so and are consecutive vertices in . This lemma claims that and either belong to the same maximal triangulated chain, or adjacent maximal triangulated chains (here adjacent means the chains share exactly one endpoint). While processing a vertex the chain generated by the algorithm is contained inside a unique maximal triangulated chain. Therefore, it suffices if we show that and either lie in the same chain or are in two chains and where and are vertices that are processed consecutively by the algorithm.
Note that and must belong to the same triangulated chain. This follows from the fact that and are adjacent in so there are only three possibilities: (i) also appears on the boundary of , (ii) and are both in the interior of the same triangulated chain, or (iii) is an endpoint and is in the interior of the same chain (or vice verca). It is clear that and still belong to the same chain in all three cases. Without loss of generality, assume one of the following two cases. (a) as one walks from in , one encounters before or (b) as one walks along , we encounter followed by and then . In both these cases since is -visible from , from (P4), .
In case (a), the edge is visible to and . From (P2), the chain is a -chain with as the only convex vertex in its interior. The algorithm may or may not execute step 1 for the vertex .
Now, suppose step 1 is executed for , since is a -chain, the precondition of step 1 for is met and is processed. By construction, the chain will contain its forward convex vertex and its forward support vertex Therefore and will belong to the same maximal triangulated chain as (This corresponds to case (2) in the lemma statement).
Suppose Step 1 is not executed for (corresponds to case (1) of the lemma statement) , then there is some vertex that is processed by the algorithm where the chain contains in its interior. We can assume that does not contain both and , since otherwise, this lemma holds trivially. So, is in the interior of the chain , and both and are not in the chain . By construction, the last vertex of , , will be an interior vertex of the -chain . The chain is either an edge (when ) or a -chain (when is a reflex interior vertex of ). If , then will trivially contain and the lemma holds. If is a reflex vertex of the chain , then is also a -chain and the precondition of Step 1 is met for . The vertex is processed and the chain will contain all vertices of the chain including and . As a result, and are contained in the chains and where and are processed consecutively by the algorithm as desired.
In case (b), since the edge is visible to and , from (P2), the chain is a -chain with as the only convex vertex in its interior. Let be a vertex processed by the algorithm such that the chain contains and . We assume that the vertex is not in the chain since otherwise the lemma is trivially true.
Note that is processed and step 1 is executed for the vertex . and are inside the chain and the last vertex of this chain lies strictly between and . Using the notations from the algorithm’s description, . is a convex vertex and is included in the chain . Therefore, either has to be the vertex or the vertex . Since every vertex between and are reflex vertices and is a -chain, the precondition of step 1 and step 1(a) is satisfied and the chain will also contain all reflex vertices on the chain . By our assumption, is not included in . Therefore must be a convex vertex.
Let be the vertex that appears before and let be the vertex after in . We will claim that is the last vertex in the chain . This is because the chain is also a -chain with as the only convex vertex in its interior. Since is reflex, step 1(a) would have added to the chain . As is not included in , the vertex will be the last vertex of .
Next, the algorithm will execute step 1 for the vertex . Since and the segment is visible to (as is a convex vertex), from (P2), the chain is a -chain, i.e., is visible to and . The precondition of Step 1 is met for and therefore will contain the chain implying that in its interior of (This shows that when and are in different chains, will be in the interior of the adjacent chain (case (1) of lemma statement); otherwise and will be in the same chain (case (2) of lemma statement)). Therefore, and will be contained in chains and where and are two consecutive vertices processed by the algorithm. Hence the maximal triangulated chain containing is either the same chain that contains and , or is adjacent to the maximal triangulated chain containing and , as claimed. ∎
The next lemma applies Lemma 7 to , establishing a crucial property that helps us relate the cardinality of to the cardinality of in the following section. This lemma shows that for a non-triangulated face in , if an edge in intersects the face , then as you walk along , every time you will enter and leave on boundary edges that are adjacent to each other. As a corollary, it follows that distinct connected components of cannot be arbitrarily close to each other.
Lemma 8**.**
Fix a non-triangulated face of . For any edge of , let be the maximal pairwise-disjoint open line segments resulting from taking , where each . Then, for each , there are three consecutive vertices and in with and , and is convex in .
Proof.
Let be that non-triangulated face in which after the execution of Phase 1 of the algorithm on , produces the face . Let be any edge in . Let . If , the statement holds trivially. So assume and is a set of line segments of that we encounter as we walk from to . Any line segment can enter and exit the face through a vertex or an edge of the boundary of . First, we will show that every such entry point and exit point is not an input point of but an intersection point of with an edge of the boundary of . and are points in and no three points of are collinear. So, the points in and . Next, to show that and are not points in , it suffices if we show that and . We claim that . For the sake of contradiction, suppose , then since the segment intersects , has to lie on an edge where neither nor is . Therefore, the edge enters the region . Since the region does not contain any points of (as shown in the proof of Lemma 6), the vertex lies outside . The edge enters and exits the region and from Lemma 3, the edge also intersects the chain . Since , by definition, and therefore is -visible to some edge of belonging to the chain . By Lemma 7, it follows that must either be or leading to a contradiction. A symmetric argument can be used to show that . Therefore, every entry point and every exit point is an intersection point of with an edge of the boundary of .
Next, we will show that every entry point and exit point are points on adjacent segments of the boundary of . Consider one such segment . Then intersects two boundary edges of , say and . For the sake of contradiction, assume that these segments are not adjacent and so the end points of these segments, , , and are distinct points. The regions and do not contain any points of (as shown in the proof of Lemma 6). Therefore, the edge has to enter and exit the regions and . From Lemma 3, the segment also intersects the chains and . Either intersects with edges or vertices that appear in the two chains. We provide a proof for the case where intersects with edges of both the chains; the same argument can also be applied if the intersection point is a vertex. Let the edges (resp. ) of the chains (resp. be the segments that intersect with . By definition, any edge of has a length less than or equal to . In particular, . Without loss of generality, assume is oriented vertically, then one can imagine sliding horizontally to the left or to the right. The vertical distance between and can increase, at most, in one direction (since we are considering straight-line edges). Assume the vertical distance increases or stays the same to the right, then slide to the left (so that the vertical distance stays the same or reduces) until intersects an input point . Such a point exists, because if no other point is encountered, sliding in this manner would encounter one of the endpoints of or . The point has one of three possibilities: a) is a point in , or b) is a vertex in one of the two chains and or c) is in the interior of some chain that is not or . In case (c), this sliding vertical line segment through has to enter and exit the region . Since, is a - or a -chain, from Lemma 3, this sliding line segment must also intersect then also intersect the chain which is a contradiction. Therefore, cannot be in the configuration given by case (c).
For (a) , there is an edge in the chain and chain of that is -visible from . As , by Lemma 7, it follows that would be part of both the chains and in implying that they are the same or adjacent chains. For case (b), without loss of generality, let be a point in the chain . Since is -visible to and since and is an edge in the chain , by Lemma 7, the two chains share a common endpoint. So, in , and must either be the same edge, or adjacent on the boundary of implying that they share at least one end point, say as claimed.
Next, we show that is a convex vertex. The segment is inside and therefore, it appears on the right as we walk from to . Since intersects , we need to make a right turn at implying that the vertex must be a convex vertex.
∎
Corollary 9**.**
Let be a non-triangulated face in , and any edge in . If intersects any two boundary edges and of , then and belong to the same connected component of .
Proof.
Suppose is a non-triangulated face of , , but intersects the boundary of . Let be a set of line segments resulting from , where each . Consider one such segment . By Lemma 8, and for three consecutive vertices , , and in , and therefore and belong to the same component in . Since this is the case for each , the result follows. ∎
Consider a subset such that vertices in belong to a single maximal connected component of . It follows from Corollary 9, that the input points in correspond to one or more maximal connected components in . Thus if a vertex , then cannot belong to the same connected component of as any vertex . Note that vertices in may, however, form more than one maximal connected component in . We can prove Invariant 2 by simply proving it for each connected component containing the vertex set in and the corresponding connected components of containing the vertices of . In Section 6, we present our argument for one such connected component, and for simplicity, we will use to denote this component.
6 Invariant 2
Invariant 2 compares the cardinality of the to the cardinality of the . If the region triangulated by contains the region triangulated by , then it is easy to show that has a greater number of edges than . However, as shown in Lemma 8, edges of can intersect non-triangulated faces of and therefore, these two s triangulate different regions. Nevertheless, Lemma 8 implies that edges of which intersect a non-triangulated face of , will intersect two edges of that are adjacent on the boundary of . In order to establish Invariant 2, we will show that the regions triangulated by and are “close” (cf. Figure 5) to each other. In Section 6.1 we provide conditions under which we can compare the cardinalities of any two s. After that, in Section 6.2, we show these conditions are satisfied for and , which allows us to prove Invariant 2.
6.1 Comparing Cardinality
Let be any planar graph. Let denote the set of faces of this planar embedding of . When the graph being considered is not clear, we denote the set of faces by . For any face and its vertex sequence , we define its signature, , to be the length of the vertex sequence , i.e., . Let be a connected planar graph and be any planar graph. For any two faces and , we say that dominates if and only if . Suppose, for every non-triangulated face in , there is a unique dominating face in , then we will show that (Corollary 11). In Section 6.2, we will use this to prove Invariant 2.
Lemma 10**.**
Consider a connected planar graph and let be all the faces in the planar embedding of . The total number of edges in the graph can be written as
[TABLE]
Proof.
For any face , its signature is the length of the vertex sequence. Recollect that we construct the vertex sequence by exploring the edges of the boundary of the face in the clockwise direction. Every edge has at most two faces, one on each side. We refer to these faces as the co-faces of .
By the construction of the vertex sequence, every edge contributes to the signature of each of its co-faces. If the edge has only co-face , it contributes two to . Therefore, . From Euler’s formula, we know and therefore, . It follows that,
[TABLE]
∎
In Lemma 10, if the graph is disconnected, then we can extend the proof to show that the number of edges is strictly smaller than . In addition, note that for any triangular face , . Hence, the total number of edges in any connected planar graph can be calculated using only the size of the vertex sequences of the non-triangulated faces. Using this observation, we obtain the following:
Corollary 11**.**
Let be a connected planar graph and be any planar graph. For every non-triangulated face , suppose there is a unique non-triangulated face such that . Then, .
Proof.
Let be the set of non-triangulated faces of , and be the set of non-triangulated faces of . Applying Lemma 10 and the observation that for every triangular face of , , we can express the number of edges in as
[TABLE]
Since, for every face there is a unique face such that and since , we have . Since is not necessarily connected, using an almost identical argument to Lemma 10, we can express the number of edges in by the following inequality,
[TABLE]
∎
It follows from Corollary 11, that in order to determine whether one can apply Lemma 10, one need only be concerned with the non-triangulated faces of a particular planar graph. Thus, from this point on, we let denote only the non-triangulated faces of a planar graph .
6.2 Proving Invariant 2
Our strategy.
To prove Invariant 2, we will add edges to in such a way that dominates and then apply Corollary 11. Fix any non-triangulated face . When we overlay on the straight line embedding of , we will use Lemma 8 to show that has only one connected “non-trivial” intersection with some non-triangulated face of . We define the region of interest as the trace of . Next, we augment the graph by embedding new edges (planar but not necessarily straight-line) and carefully create a new face around the trace of . We show that dominates and refer to as the dominating face of . After this procedure is repeated for every non-triangulated face in , the augmented graph now dominates . However, adding edges to may create multiple (duplicate) edges between the same pair of points and therefore, Corollary 11 does not apply. However, we show that duplicate edges cannot participate in two distinct dominating faces. Removing one of the duplicate edges will merge two faces and and create a new face that has a signature greater than or equal to the signature of or . Since either or (and not both) can be a dominating face of some face ), will be the unique dominating face of . After deleting the duplicate edges, we now have an augmented that is a planar graph that dominates . One may apply Corollary 11, and Invariant 2 follows. We begin by introducing the definitions that is required to formalize this argument.
Suppose is a non-triangulated face of with the boundary vertex sequence . Let be an edge in . We say that an edge is a crossing edge for any convex vertex if the edge intersects the edges and . We direct the crossing edge from to if we first encounter the edge as we move from to . In this case, we refer to as the head and as the tail of this directed edge . Note that any such edge can be a crossing edge for many convex vertices in , and any convex vertex in can have zero, one, or many crossing edges. However, from Lemma 8, we know that any edge that intersects a non-triangulated face has to be a crossing edge for some convex vertex . For any convex vertex , let be the set of crossing edges of . We set to be empty if is a reflex vertex. If is not empty, we define the furthest crossing edge of as the first edge of that we encounter as we walk from to . We can equivalently define the furthest crossing edge to be the last edge of that we encounter as we walk from to . This follows from the fact that is a planar graph, hence crossing edges cannot intersect. We make the following straight-forward observations for crossing edges which follows form Lemma 8 and the fact that is a planar graph.
- (i)
For any face , let and be two consecutive vertices in . Let be the set of all edges of that intersects , then . 2. (ii)
As we move from to , first, we encounter all edges in and only then will we encounter the edges of . Therefore, as we move from to , the furthest crossing edge of will appear immediately before the furthest crossing edge of .
Next, consider any vertex . We define two points and as follows. If does not have any crossing edges, we set . Otherwise, if has a crossing edge, then let be the furthest crossing edge. We set to be the point of intersection of with and set to be the point of intersection of with . For any , the following property is true for the segment
- •
Suppose has a crossing edge. By construction, is contained in the furthest crossing edge of and the segment is contained inside the face .
In addition, the following property is true for .
- •
By construction, and are points that lie on the edge . Furthermore, from property (ii), does not intersect with any other edge of .
In the following lemma, we formally define the trace of a non-triangulated face and non-triangulated face .
Lemma 12**.**
For any face , as we walk along the cycle , there is a unique non-triangulated face that appears on the right with respect to the embedding of . The face also appears on the right as we walk along with respect to the embedding of . We define the region enclosed by the cycle as the trace of , and denote it by (Figure 5).
Proof.
We prove this claim by induction.
Base Case: There are two possibilities. Either (i) or, (ii) and are intersection points of the furthest crossing edge of with edges and . In case (i), by construction is on the boundary of . We set the face to be the face of that lies to the right as we start to walk from towards along the edge . In case (ii), since is a crossing edge of , is convex and lies completely inside the face . Therefore, will also appear on the right as we walk along this edge. Also, since is contained inside , as we walk from to there is a unique face that is to the right of .
Induction Step: Suppose that the faces and appear to the right of all edges starting from vertex to . We will now show that the claim is also true if we extend the path to and then to . There are two possibilities: (i) , or (ii) and are points of intersection of the furthest crossing edge of .
In case (i), , so the claim is trivially true for the path until . will be along the edge . Note that, as we walk along the path from through to , there is no other edge of incident on that appears to the right of this path. Otherwise, such an edge will contradict Lemma 8. Therefore, the next line segment will continue to have and on its right.
In case (ii), and are points of intersection of the furthest crossing edge of . Since is a convex vertex, the entire segment is embedded to the right as we walk along from to . Since is an intersection point of with , and is an intersection point of with , we will make a right turn at and . When we make a right turn at intersection points, the faces on the right will continue to be on the right side. Therefore, the claim is true for the path until . ∎
The following result also follows from the construction of the trace.
Corollary 13**.**
For any two distinct faces , and are disjoint.
Proof.
and are disjoint since is a , therefore, their intersection with any face of will continue to be mutually disjoint. ∎
Lemma 12 together with Corollary 13) implies that the trace is a well-defined function mapping a non-triangulated face in to a single, unique, connected region. Therefore, we can augment to form a new graph, , such that the trace corresponds to a face in , and that is the dominating face for .
Adding edges to
Next, we describe a procedure to embed a set of new edges to the straight-line embedding of to obtain a new graph such that remains a planar graph. Additionally, for any face of , the trace is contained uniquely inside a face of . Furthermore, dominates , so the signature . Note that the embedding of edges in that we construct is planar but not necessarily straight-line edges.
together with a planar embedding of is constructed as follows. Let have the vertex sequence . Let the trace of be given by and let be the furthest crossing edge of the convex vertex for each . Also, let be the face of such that . Note that the edge exists only if . Recollect that each edge is an edge of a face in . We direct the edge so that as we walk along the face appears on its right. We define a function , which maps each index to a vertex on the boundary of or as follows: if does not exist, then ; otherwise, is the vertex that is the head of the directed edge .
Given this map , we now describe a method for adding edges in that is added to . For every , we add an edge and embed this edge to construct a planar embedding of as follows: Starting at , we draw the edge parallel and very close to until it reaches . At this point, we will draw the edge parallel and very close to the line segment until we reach the edge . Finally, we will continue to draw the edge parallel and very close to the edge to . Note that does not intersect any edge of . Note that edges and are edges of , therefore, the newly added edge will not have any intersections with edges of . If there are many vertices that have a single edge as a furthest crossing edge, there will be multiple edges that are drawn parallel to the edge . We will draw all of them parallel and close to the edge (carefully stacked, one on top of the other, to avoid intersections). See Figure 5 for an example construction of the trace with the newly added edges, and Figure 6 for an example where a single edge of is the furthest crossing edges for more than one vertex. This construction ensures that no two edges of intersect with each other and is planar. By construction, there is a unique edge added for every . Therefore, there is a unique face that contains the trace of any face with . From the discussion above, the following lemma follows.
Lemma 14**.**
The augmented graph can be embedded without intersections. Furthermore, the face has the same signature as the face that contains the trace of .
However, we may create multiple copies of the same edges in (see Figure 6). To overcome this difficulty, we remove duplicate copies of the same edge. Removal of an edge from a planar graph will merge two faces and into a single face where has a larger signature than either or . In Lemma 15, we show that no edge with multiple copies participates in more than one dominating face. Therefore, removal of an edge only increases the signature of the dominating face it participates in, therefore, the face remains a dominating face.
Lemma 15**.**
For any edge that has two or more copies in between and , no copy of can participate in two distinct dominating faces.
Proof.
Let there be two copies of the edge embedded in . We assume both these copies were in the set . The case where only one edge was added in has an identical argument. We assume that the two copies were added to due to two edges and of and that these edges support the trace of faces . Let be the edge that was added to for both and . Note that and appear on the boundary of and . Since the edge was added for both and , from our construction, the edges and will intersect two edges and that are on the boundary of some face . See Figure 7 for the construction. Without loss of generality, assume is an edge parallel to the -axis. To prove this lemma, it suffices if we show that there is no trace of any other face in inside the region enclosed by on the left, on the right, from the top and from the bottom. Suppose, we can prove this claim, then deleting one copy of (say the one corresponding to the trace of ) will only merge the dominating face of in with a face that does not contain any trace. Hence, despite this deletion, we will continue to have a unique mapping of any face to a dominating face of .
For the sake of contradiction, let there be another non-triangulated face whose trace is in the region . In this case, there must be at least two vertices of that lie inside (otherwise either will be a triangle and is not defined or will not intersect ). Consider any such point that is not the topmost or the bottommost vertex of . Draw a horizontal line passing through . Let this line intersect and at and respectively. Since both and has a length at most and since is horizontal, it follows that . Without loss of generality, suppose we are inside the face as we begin to walk from towards . Let be the first edge of that we encounter as we walk from towards and let be the intersection point of with . Clearly, and . By construction, the edge is -visible to with respect to the face . Let be the face of which, after the execution of Phase 1 of the algorithm, created the face . If we continue to walk from towards , we will encounter an edge of the chain in . This follows from the fact that the chain does not intersect with and the region contains no points of . Therefore is -visible to . From Lemma 7, it follows that the end points of should belong to a triangulated chain of that has as one of its end points, implying that either or , leading to a contradiction. A similar argument extends to all other cases. ∎
It follows that is a planar graph that dominates . Thus, by Corollary 11, Invariant 2 follows. Since both Invariant 1 (after proving properties (P1)–(P4) in Section 6.3) and Invariant 2 holds, this completes the proof of Theorem 1.
6.3 Proving Properties of a Maximal in
In the following section we prove (P1)–(P4) presented in Section 5.1, which were used in the proof of the invariants. First recall that by Lemma 2, we know that vertices in -chains are at most cells apart, and vertices participating in a -chain are at most cells apart. This restricts the number of possible configurations of cells in which vertices participating in either type of chain can appear. We can deduce certain properties that arise due to the possible configurations, expressed in Lemma 16 and Lemma 17, which will be used in the proof of the properties.
Lemma 16**.**
Let , , and be three cells in such that and (note and are cells apart). Let be the region enclosed by the convex hull of , and . Then,
- (a)
if , then ,
- (b)
otherwise .
In particular, in either case .
Proof.
For both (a) and (b) it is not difficult to establish the result by considering all possible configurations of three cells which satisfy the necessary conditions. Let , , and be as above.
Suppose (a) , so these three cells are mutually adjacent. Not counting symmetry, there are only three possible cell configurations that allow three cells to be mutually adjacent: either the three cells are equal (Figure 8(a)), or exactly two of the cells are equal, and the third is adjacent (Figure 8(b)), or all three cells are distinct (Figure 8(c)). In all three cases, the convex hull of the three cells is contained in the neighborhood of each cell, i.e. .
Now suppose (b) . Then there are exactly four possible configurations (not counting symmetry) to arrange the cells, each of which are depicted in Figure 9. In each of these cases it is not difficult to see that any point in must be contained in the neighborhood of at least two cells: . Both (a) and (b) immediately implies .
∎
Lemma 17**.**
Let , , , and be four cells in such that , , (so and are cells apart). Let be the region enclosed by the convex hull of , , , and . Then in all but two cases.
Proof.
We establish this claim by considering all possible cell configurations. If the four cells are not distinct, this claim is reduced to Lemma 16. Therefore, consider only the twelve possible configurations (not counting symmetry) of four distinct cells satisfying these conditions depicted in Figure 10. Except for the two depicted in Figure 10(j) and Figure 10(k), the claim holds for all other cases.
∎
We now describe a “sweeping” procedure which will be re-used in subsequent proofs of the properties in order to show that a particular region is void of input points of other than those on the boundary of the region. Fix a vertex , and an edge . We sweep , starting at , along towards if we define for and we consider the line segment for ranging from [math] to . We call the sweep line. Therefore, one can imagine the line starting at for sweeping across a face by sliding along , and reaching at time . The starting and ending points need not be endpoints of an edge. If is the starting and ending point, respectively, then one simply defines to be the appropriate parameterization of . In this case, we say that, starting at , we sweep along towards .
We now proceed to prove (P1) through (P4). Let be a maximal with respect to . Let be a non-triangulated face in with the boundary vertex sequence .
(P1)
Suppose is convex. Then , , and are in three distinct cells , , and of , respectively, and .
Proof.
The fact that , , and appear consecutively in implies that the edges and are in , hence and . Suppose, for the sake of contradiction, that , then , , and are in mutually neighboring cells which satisfy the conditions of Lemma 16(a). So , the region enclosed by the convex hull of , , and , is contained in . Since any point in the triangle formed by , , and must be contained in , it follows that such a point is also contained in . Sweep the line segment along towards . Let be the smallest such that the sweep line intersects a vertex . Then is visible to both and , otherwise could not have been the first vertex intersects. Additionally, since , must be in and . Since is maximal, it follows that both the edges and will be present in , hence and do not appear directly after one another in , contrary to assumption, so this case is impossible. If no such is encountered, then it implies that is visible to , hence the edge is present in , and , , and forms a triangulated face, contradicting the assumption that , , and appears in this order in . Therefore, one may conclude that , and hence , , and appears in three distinct cells, as claimed. ∎
(P2)
Suppose and is any edge on the boundary of such that (resp. ) and is visible to in . Then,
- (i)
the chain from to (resp. chain from to ) in is a -chain, and,
- (ii)
is a forward (resp. is backward) support vertex for every vertex from to (resp. from to ).
Proof.
We begin by showing (i), and (ii) follows. Suppose . Let be the triangle enclosed by the convex hull of the three points , , and , which is contained in the convex hull of the three cells containing , , and . Note that these three vertices satisfy the conditions of Lemma 16, therefore, . Since is visible to , there exists a point such that is visible to , and the line segment does not intersect any edges of and divides the triangle into two triangles, and . Let be the triangle formed by , , and , and let be the triangle formed by , , and . We show that all input points in must be boundary vertices of which appear in .
First we show that the triangle does not contain any input points in its interior. Starting at , sweep the line along towards . Let the smallest such that the sweep line intersects an input point ; is contained in . Then either is visible to , or there is an edge blocking from but an endpoint of such an edge must be contained in (otherwise the sweep line would have encountered it), and . Then either edge or since is maximal, however, such an edge would intersect , a contradiction. Therefore, the sweep line reaches without intersecting points, which implies that does not contain any input points in its interior, and therefore is visible to in . It follows that if all vertices from to is reflex, all these vertices would be visible to , which would allow one to conclude is a -chain.
Now we show that the vertices between and must be reflex and also, is the only convex vertex between and in . Starting at sweep along towards . Let be the smallest such that the sweep line intersects a vertex . If , then is visible to and the edge must exist in . This will mean that the vertex is convex and therefore the chain is a -chain. If , it follows that is visible to . By Lemma 16, . We will show that , since otherwise is visible to (by an identical sweeping argument as before) and the edge , a contradiction since intersects . Thus, . Since is maximal, and so is the first vertex after in , i.e., . By construction, the edge is also visible to . Therefore, the vertex that appears after in must lie to the left of the edge implying is a reflex vertex. Since all the conditions satisfied by is also satisfied by , we can apply the same sweeping arguments to show that is visible to , either the next vertex of in is which is a convex vertex or the next vertex is a reflex vertex with and has the edge visible to it. In this way, all the vertices between and can be shown to be reflex, contained in and is shown to be a convex vertex. Furthermore, every vertex between and is also visible to . So, the chain is a -chain, which shows (i). It now follows immediately that is the forward convex vertex for every vertex from to , and therefore by definition, is the forward support vertex of these vertices. A symmetric argument holds for the other case, i.e., (in which case will be the backwards support vertex of all vertices between and in ). ∎
(P3)
For any chain from to in ,
- (i)
if is a -chain with as its only convex vertex, then the region is contained in , i.e., , and contains no input points of .
- (ii)
if the chain is a -chain with and as the two convex vertices, then the region is such that contains no points of . In only two cases, (see Figure 4 and Figures 10(j) and 10(k)) and may contain points of . In all other cases, contains no points of .
Proof.
We first show (i). Suppose is a -chain with as its only convex vertex. Let and be the vertex that appears before and after in . By (P1), we know that . Let . Since is a -chain, it follows that is visible to . Let be the region enclosed by the convex hull of the three cells containing , , and . By definition of a -chain, these three cells satisfy the conditions for Lemma 16, and hence . Since , it follows that . We partition into three regions and as follows (See Figure 11(i)). Consider a ray that starts from in the direction going towards and another ray from going towards . Let the and intersect at and respectively. Then, we set the region to be the triangle formed by and . We set to be a region bounded by segments and on the two sides and the reflex chain on the third side. Similarly, we set to be the region bounded by segments and and the chain on the third side. If (resp. ), then the region (resp. ) will be an empty region. We claim that none of the three regions will contain any points of .
Note that is a triangle. If contains a point then will be visible to and also in the neighborhood of (since ). Since does not participating in the chain , there is no edge from between and . Therefore, we can add the edge from to contradicting the fact that is a maximal .
The arguments for regions and are symmetric. We will present the proof for . is a region bounded by the reflex chain on one side and the segments and on the other two sides. By construction, . Since , and is convex, it follows that the entire segment lies outside . Since and , it follows that also lies outside . Note that for any point on an edge of the reflex chain , intersects . Since and from convexity of it follows that the reflex chain also does not intersect . Consequently the region does not intersect . From Lemma 16(b), therefore, . It is easy to see that any four points such that . Then, and will have an edge in the adjacency graph. Any point of inside will be visible to some vertex in the reflex chain . Since every point of including is in and is also inside , there is an edge between and in the adjacency graph. Therefore, the edge can be added to leading to a contradiction that is a maximal .
To show (ii), suppose is a -chain such that and are its two convex vertices. Let be the region enclosed by the convex hull of the four cells containing , , , and . Then these four cells satisfy the conditions for Lemma 17, so for all but two cases, . Then , except for two cases. Let be the vertex that appears before and be the vertex that appears after in . We can partition into three regions, namely , and as follows (See Figure 11(ii)). Draw a ray from going towards . Let be the intersection point of this ray with . Draw another ray from going towards and let be the intersection point of this ray with . is the quadrilateral formed by the segments , , and . is the region bounded by the chain and segments and whereas is formed by the chain and edges , . Since is a -chain, we can use an identical argument to the case of -chain to show that is empty. Similarly, since is a -chain, we can use an identical argument to the case of -chain to show that is empty. For , other than those two exceptions, is contained inside and therefore any point inside will also have an edge to or leading to a contradiction. Hence, except for the two cases, will not have any points of inside it. ∎
(P4)
For any vertex , if an edge on the boundary of is -visible for , then exactly one of and are in and the other is not.
Proof.
Let be the cell in grid that contains . Then let (see the red region in Figure 12) be the Minkowski sum of cell with a ball of radius . Since is -visible to , there exists a point , such that is visible to , and . Suppose, for the sake of contradiction, that (a) or (b) . We consider the cases separately.
(a) . Without loss of generality, assume , , and appear in this order in (a symmetric argument holds if the order is , , ). Since is visible to in , the line segment does not intersect any edges of . Starting at , sweep along towards . Let be the smallest such that the sweep line intersects an input point ; if the sweep line intersects no input point, let . Then is visible to so that . Similarly, sweep towards , starting at and moving from along towards . Let be the smallest such that this sweep line intersects a vertex , or if the sweep line intersects no vertex, set . Then and are visible to each other, hence . In addition, and are in each other’s neighborhoods so that . However, this implies , , and forms a triangulated face and is not contained in , contradicting the fact that is visible to . Therefore, this case is impossible.
(b) . Note that since , and must be in neighboring cells. Furthermore, the cells containing and must be adjacent to (the grey region in Figure 12). It is not difficult to see that an edge between in in two neighboring grey cells in Figure 12 cannot intersect . The result follows. ∎
7 Extensions
In this section, we extend the analysis of our algorithm to the -MWT problem for . After that, we will also show that by making a small modification to our algorithm, we can improve the worst-case bound on the approximation ratio to and the bound on the expected approximation ratio to .
Extending to the -MWT problem.
For the -MWT problem, let be the optimal triangulation. We will show that the triangulation produced by our algorithm is also a worst-case -approximation and a expected -approximation of the optimal -MWT. As already shown, Invariant 1 holds for our algorithm. We can also show that a slightly modified Invariant 2 also holds.
Modified Invariant 2: , where is a restricted optimal triangulation containing only edges of whose length is less than .
The proof of second invariant is based on the crucial properties established by Lemma 7, Lemma 8 and Corollary 9. All these Lemmas hold for any where the Euclidean distance between the end-points of its edges is no more than . This includes the and hence Lemma 7, 8 and Corollary 9 is true for . Therefore, we can use the arguments identical to those in Section 6 and prove the modified version of Invariant 2.
The proof of approximation ratio is very similar to the proof of Theorem 1. For the bottleneck triangulation problem, i.e., , we can use arguments identical to proof of Theorem 1, and bound the ratio of the edge of and by and . We can invoke this bound for the last edge of and and bound the approximation ratio for the bottleneck triangulation.
For any finite integer , we can define the approximation ratio to be
[TABLE]
here, for any edge , and for any triangulation , . Let and . Similar to Equation 1, we get
[TABLE]
where . Since and , is a weighted average of all values. Using the invariants as in the proof of Theorem 1, we can bound
[TABLE]
Applying this bound to (2), we can bound by , i.e., . Since the approximation ratio , we can bound the approximation ratio by in the worst case. Similar to the proof of Theorem 1, we can bound the expected value of by and using linearity of expectation, we can bound the expected value of , . Since is a concave function, from Jensen’s inequality, we get . Therefore, .
Improving approximation ratio.
The approximation ratio can be improved to (and the expected approximation ratio to ) by making the following simple modification to our algorithm (cf. Section 3) based on the following observation. For any triangulated chain generated by the algorithm, is a -chain only if the algorithm executes step 1(a) or 1(c). Using the same notation as in the presentation of the algorithm, consider the case where is generated in 1(a) (so ). We have shown in Lemma 4 that edges in that triangulate are bounded by . However, by construction and are both -chains, so if both chains could connect to their support vertices, edges in would be bounded by . Since edges added for one chain hides the support of the other, both sets of edges cannot be added without violating planarity, so there is a conflict. The algorithm resolves this conflict by always connecting edges for to its forward support and adding longer edges (with endpoints cells apart) by adding edges from to . Equivalently, one can add the longer edges from to and add edges from to its backward support . By adding a check in the algorithm to make the choice which results in the smaller weight for edges in , we can make the argument that the upper bound on the average length of an edge added to is . This helps improve the ratio to (or expected ).
8 Conclusion
We introduced a polynomial time approximation algorithm that computes a triangulation for approximating -MWT for every including the case of minimum weight triangulation and the minimax length triangulation with a worst-case approximation ratio of , and an expected approximation ratio of . This is achieved by partitioning edges into levels using grids, and applying a combination of the ring heuristic and the greedy heuristic at each level to obtain a partial candidate solution.
It is an open question whether the techniques developed here can be adapted in order to design a Polynomial Time Approximation Scheme (PTAS) for the MWT. Any such construction will maintain finer grids, multiple candidate solutions at each grid level, and use dynamic programming to mimic the restricted optimal solution for each grid.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] S. Arora. Polynomial time approximation schemes for euclidean traveling salesman and other geometric problems. J. ACM , 45(5):753–782, 1998.
- 2[2] M. W. Bern and D. Eppstein. Mesh generation and optimal triangulation. In Ding-Zhu Du and Frank Kwang-Ming Hwang, editors, Computing in Euclidean Geometry , number 1 in Lecture Notes Series on Computing, pages 23–90. World Scientific, 1992.
- 3[3] K. L. Clarkson. Approximation algorithms for planar traveling salesman tours and minimum-length triangulations. In Proceedings of the Second Annual ACM-SIAM Symposium on Discrete Algorithms , SODA ’91, pages 17–23, Philadelphia, PA, USA, 1991. Society for Industrial and Applied Mathematics.
- 4[4] G. B. Dantzig, A. J. Hoffman, and T. C. Hu. Triangulations (tilings) and certain block triangular matrices. Mathematical Programming , 31(1):1–14, 1985.
- 5[5] R. D. Düppe and H. J. Gottschalk. Automatische interpolation von isolinien bei willkürlich verteilten stützpunkten. Allgemeine Vermessungs-Nachrichten , 77:423–426, 1970.
- 6[6] Herbert Edelsbrunner and Tiow Seng Tan. A quadratic time algorithm for the minmax length triangulation. SIAM Journal on Computing , 22(3):527–551, 1993.
- 7[7] D. Eppstein. Approximating the minimum weight steiner triangulation. Discrete Comput. Geom. , 11(2):163–191, 1994.
- 8[8] M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP–Completeness . W. H. Freeman & Co., New York, NY, USA, 1979.
