 # On the Stretch Factor of Polygonal Chains

Let P=(p_1, p_2, ..., p_n) be a polygonal chain. The stretch factor of P is the ratio between the total length of P and the distance of its endpoints, ∑_i = 1^n-1 |p_i p_i+1|/|p_1 p_n|. For a parameter c ≥ 1, we call P a c-chain if |p_ip_j|+|p_jp_k| ≤ c|p_ip_k|, for every triple (i,j,k), 1 ≤ i<j<k ≤ n. The stretch factor is a global property: it measures how close P is to a straight line, and it involves all the vertices of P; being a c-chain, on the other hand, is a fingerprint-property: it only depends on subsets of O(1) vertices of the chain. We investigate how the c-chain property influences the stretch factor in the plane: (i) we show that for every ε > 0, there is a noncrossing c-chain that has stretch factor Ω(n^1/2-ε), for sufficiently large constant c=c(ε); (ii) on the other hand, the stretch factor of a c-chain P is O(n^1/2), for every constant c≥ 1, regardless of whether P is crossing or noncrossing; and (iii) we give a randomized algorithm that can determine, for a polygonal chain P in R^2 with n vertices, the minimum c≥ 1 for which P is a c-chain in O(n^2.5 polylog n) expected time and O(nlog n) space.

## Authors

##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## 1 Introduction

Given a set of point sites in the plane, what is the best way to connect into a geometric network (graph)? This question has motivated researchers for a long time, going back as far as the 1940s, and beyond [19, 35]. Numerous possible criteria for a good geometric network have been proposed, perhaps the most basic being the length. In 1955, Few  showed that for any set of points in a unit square, there is a traveling salesman tour of length at most . This was improved to at most by Karloff . Similar bounds also hold for the shortest spanning tree and the shortest rectilinear spanning tree [13, 16, 21]. Besides length, two further key factors in the quality of a geometric network are the vertex dilation and the geometric dilation , both of which measure how closely shortest paths in a network approximate the Euclidean distances between their endpoints.

The dilation (also called stretch factor  or detour ) between two points and in a geometric graph is defined as the ratio between the length of a shortest path from to and the Euclidean distance . The dilation of the graph is the maximum dilation over all pairs of vertices in . A graph in which the dilation is bounded above by is also called a -spanner (or simply a spanner if is a constant). A complete graph in Euclidean space is clearly a -spanner. Therefore, researchers focused on the dilation of graphs with certain additional constraints, for example, noncrossing (i.e., plane) graphs. In 1989, Das and Joseph  identified a large class of plane spanners (characterized by two simple local properties). Bose et al. gave an algorithm that constructs for any set of planar sites a plane -spanner with bounded degree. On the other hand, Eppstein  analyzed a fractal construction showing that -skeletons, a natural class of geometric networks, can have arbitrarily large dilation.

The study of dilation also raises algorithmic questions. Agarwal et al.  described randomized algorithms for computing the dilation of a given path (on vertices) in in expected time. They also presented randomized algorithms for computing the dilation of a given tree, or cycle, in in expected time. Previously, Narasimhan and Smid  showed that an -approximation of the stretch factor of any path, cycle, or tree can be computed in time. Klein et al.  gave randomized algorithms for a path, tree, or cycle in to count the number of vertex pairs whose dilation is below a given threshold in expected time. Cheong et al.  showed that it is NP-hard to determine the existence of a spanning tree on a planar point set whose dilation is at most a given value. More results on plane spanners can be found in the monograph dedicated to this subject  or in several surveys [17, 8, 29].

We investigate a basic question about the dilation of polygonal chains. More precisely, we ask how the dilation between the endpoints of a polygonal chain (which we will call the stretch factor, to distinguish it from the more general notion of dilation) is influenced by fingerprint properties of the chain, i.e., by properties that are defined on -size subsets of the vertex set. Such fingerprint properties play an important role in geometry, where classic examples include the Carathéodory property111Given a finite set of points in dimensions, if every points in are in convex position, then is in convex position. [26, Theorem 1.2.3] or the Helly property222Given a finite collection of convex sets in dimensions, if every sets have nonempty intersection, then all sets have nonempty intersection. [26, Theorem 1.3.2]. In general, determining the effect of a fingerprint property may prove elusive: given points in the plane, consider the simple property that every points determine distinct distances. It is unknown [9, p. 203] whether this property implies that the total number of distinct distances grows superlinearly in .

Furthermore, fingerprint properties appear in the general study of local versus global properties of metric spaces that is highly relevant to combinatorial approximation algorithms that are based on mathematical programming relaxations . In the study of dilation, interesting fingerprint properties have also been found. For example, a (continuous) curve is said to have the increasing chord property [14, 25] if for any points , , , that appear on in this order, we have . The increasing chord property implies that has (geometric) dilation at most  . A weaker property is the self-approaching property: a (continuous) curve is self-approaching if for any points , , that appear on in this order, we have . Self-approaching curves have dilation at most   (see also ), and they have found interesting applications in the field of graph drawing [4, 7, 32].

We introduce a new natural fingerprint property and see that it can constrain the stretch factor of a polygonal chain, but only in a weaker sense than one may expect; we also provide algorithmic results on this property. Before providing details, we give a few basic definitions.

### Definitions.

A polygonal chain in the Euclidean plane is specified by a sequence of points , called its vertices. The chain consists of line segments between consecutive vertices. We say is simple if only consecutive line segments intersect and they only intersect at their endpoints. Given a polygonal chain in the plane with vertices and a parameter , we call a -chain if for all , we have

 |pipj|+|pjpk|≤c|pipk|. (1)

Observe that the -chain condition is a fingerprint condition that is not really a local dilation condition—it is more a combination between the local chain substructure and the distribution of the points in the subchains.

The stretch factor of is defined as the dilation between the two end points and of the chain:

 δP=∑n−1i=1|pipi+1||p1pn|.

Note that this definition is different from the more general notion of dilation (also called stretch factor ) of a graph which is the maximum dilation over all pairs of vertices. Since there is no ambiguity in this paper, we will just call the stretch factor of .

For example, the polygonal chain is a -chain with stretch factor ; and is a -chain with stretch factor .

Without affecting the results, the floor and ceiling functions are omitted in our calculations. For a positive integer , let . For a point set , let denote the convex hull of . All logarithms are in base 2, unless stated otherwise.

### Our results.

We deduce three upper bounds on the stretch factor of a -chain with vertices (Section 2). In particular, we have (i) , (ii) , and (iii) .

From the other direction, we obtain the following lower bound (Section 3): For every , there is a family of simple -chains, so that has vertices and stretch factor , where the exponent converges to as tends to infinity. The lower bound construction does not extend to the case of , which remains open.

Finally, we present two algorithmic results (Section 4): (i) A randomized algorithm that decides, given a polygonal chain in with vertices and a threshold , whether is a -chain in expected time and space. (ii) As a corollary, there is a randomized algorithm that finds, for a polygonal chain with vertices, the minimum for which is a -chain in expected time and space.

## 2 Upper Bounds

At first glance, one might expect the stretch factor of a -chain, for , to be bounded by some function of . For example, the stretch factor of a -chain is necessarily . We derive three upper bounds on the stretch factor of a -chain with vertices in terms of and (cf. Theorems 22); see Fig. 1 for a visual comparison between the bounds. For large , the bound in Theorem 2 is the best for , while the bound in Theorem 2 is the best for . In particular, the bound in Theorem 2 is tight for . The bound in Theorem 2 is the best for and . Figure 1: The values of n and c for which (i) Theorem 2, (ii) Theorem 2, and (iii) Theorem 2 give the current best upper bound.

Our first upper bound is obtained by a recursive application of the -chain property. It holds for any positive distance function that may not even satisfy the triangle inequality. For a -chain with vertices, we have .

###### Proof.

We prove, by induction on , that

 δP≤c⌈log(n−1)⌉, (2)

for every -chain with vertices. In the base case, , we have and . Now let , and assume that (2) holds for every -chain with fewer than vertices. Let be a -chain with vertices. Then, applying (2) to the first and second half of , followed by the -chain property for the first, middle, and last vertex of , we get

 n−1∑i=1|pipi+1| ≤⌈n/2⌉−1∑i=1|pipi+1|+n−1∑i=⌈n/2⌉|pipi+1| ≤c⌈log(⌈n/2⌉−1)⌉(|p1p⌈n/2⌉|+|p⌈n/2⌉pn|) ≤c⌈log(⌈n/2⌉−1)⌉⋅c|p1pn| ≤c⌈log(n−1)⌉|p1pn|,

so (2) holds also for . Consequently,

 δP≤c⌈log(n−1)⌉≤clog(n−1)+1=c⋅clog(n−1)=c(n−1)logc,

as required. ∎

Our second bound interprets the -chain property geometrically and makes use of the fact that resides in the Euclidean plane. For a -chain with vertices, we have .

###### Proof.

Without loss of generality, assume that . Since is a -chain, for every , we have . If we fix the points and , then every lies in an ellipse with foci and , for , see Figure 2. The diameter of is its major axis, whose length is . Since contains all vertices of the chain , we have and for all . Therefore the stretch factor of is bounded above by

 δP =∑n−1j=1|pjpj+1||p1pn|=|p1p2|+|pn−1pn|+n−2∑j=2|pjpj+1| ≤c+12+c+12+c(n−3)=c(n−2)+1,

as required. ∎

Our third upper bound uses a volume argument to bound the number of long edges in . Let be a -chain, for some constant , and let be its length. Then , hence .

###### Proof.

We may assume that is a horizontal segment of unit length. By the argument in the proof of Theorem 2, all points () are contained in an ellipse with foci and , where the major axis of has length . Let be the minimal axis-aligned square containing ; its side is of length .

We set ; and let and be the sum of lengths of all edges in of length at most and more than , respectively. By definition, we have and

 L0≤(n−1)x=(n−1)⋅8c2/√n−1=8c2√n−1. (3)

We shall prove that , implying

. For this, we further classify the edges in

according to their lengths: For , let

 Pℓ={pi:2ℓx<|pipi+1|≤2ℓ+1x}. (4)

Since all points lie in an ellipse of diameter , we have , for all . Consequently, when , or equivalently .

We use a volume argument to derive an upper bound on the cardinality of , for . Assume that , and w.l.o.g., . If , then by (4), . Otherwise,

 2ℓx<|pipi+1|<|pipi+1|+|pi+1pk|≤c|pipk|,%or2ℓxc<|pipk|.

 R=2ℓx2c=4⋅2ℓc√n−1 (5)

centered at the points in are interior-disjoint. The area of each disk is . Since , these disks are contained in the -neighborhood of the square , i.e., the Minkowski sum . For , we have , hence . Then we can bound the area of from above as follows:

 area(UR)<(c+2R)2≤(2c)2=4c2. (6)

Since contains interior-disjoint disks of radius , we obtain

 |Pℓ|≤area(UR)πR2<4c2πR2=16c4π22ℓx2. (7)

For every segment with length more than , we have that , for some . The total length of these segments is

 L1 ≤⌊log(c/x)⌋∑ℓ=0|Pℓ|⋅2ℓ+1x<⌊log(x/c)⌋∑ℓ=016c4π22ℓx2⋅2ℓ+1x=⌊log(x/c)⌋∑ℓ=032c4π2ℓx <32c4πx∞∑ℓ=012ℓ=64c4πx=8c2π⋅√n−1,

as required. Together with (3), this yields . ∎

## 3 Lower Bounds

We now present our lower bound construction, showing that the dependence on for the stretch factor of a -chain cannot be avoided.

For every constant , there is a set of simple -chains, so that has vertices and stretch factor .

By Theorem 2, the stretch factor of a -chain in the plane is for every constant . Since

 limc→∞1+log(c−2)−logc2=12,

our lower bound construction shows that the limit of the exponent cannot be improved. Indeed, for every , we can set , and then the chains above have stretch factor .

We first construct a family of polygonal chains. Then we show, in Lemmata 3 and 3, that every chain in is simple and indeed a -chain. The theorem follows since the claimed stretch factor is a consequence of the construction.

### Construction of Pc.

The construction here is a generalization of the iterative construction of the Koch curve; when , the result is the original Cesàro fractal (which is a variant of the Koch curve) . We start with a unit line segment , and for , we construct by replacing each segment in by four segments such that the middle three points achieve a stretch factor of (this choice will be justified in the proof of Lemma 3). Note that , since .

We continue with the details. Let be the unit line segment from to ; see Figure 3 (left). Given the polygonal chain ), we construct by replacing each segment of by four segments as follows. Consider a segment of , and denote its length by . Subdivide this segment into three segments of lengths , , and , respectively, where is a parameter to be determined later. Replace the middle segment with the top part of an isosceles triangle of side length . The chains , , , and are depicted in Figures 3 and 4.

Note that each segment of length in is replaced by four segments of total length . After iterations, the chain consists of line segments of total length .

By construction, the chain (for ) consists of four scaled copies of . For , let the th subchain of be the subchain of consisting of segments starting from the th segment. By construction, the th subchain of is similar to the chain , for .333Two geometric shapes are similar if one can be obtained from the other by translation, rotation, and scaling; and are congruent if one can be obtained from the other by translation and rotation. The following functions allow us to refer to these subchains formally. For , define a function as the identity on the th subchain of that sends the remaining part(s) of to the closest endpoint(s) along this subchain. So is similar to . Let be a piecewise defined function such that if is similar to , where is a similarity transformation. Applying the function on a chain can be thought of as “cutting out” its th subchain.

Clearly, the stretch factor of the chain monotonically increases with the parameter . However, if is too large, the chain is no longer simple. The following lemma gives a sufficient condition for the constructed chains to avoid self-crossings.

For every constant , if , then every chain in is simple.

###### Proof.

Let . Observe that is an isosceles triangle; see Figure 5 (left). We first show the following:

If , then for all .

We prove the claim by induction on . It holds for by definition. For the induction step, assume that and that the claim holds for . Consider the chain . Since it contains all the vertices of , . So we only need to show that .

By construction, ; see Figure 5 (right). By the inductive hypothesis, is an isosceles triangle similar to , for . Since the bases of and are collinear with the base of by construction, due to similarity, they are contained in . The base of is contained in . In order to show , by convexity, it suffices to ensure that its apex is also in . Note that the coordinates of the top point is , so the supporting line of the left side of is

 y =2a√c2∗−1c∗x, and p =(12−a2c∗−a2(c2∗−1)c2∗,(a2c∗+a2c2∗)√c2∗−1).

By the condition of in the lemma, lies on or below . Under the same condition, we have by symmetry. Then . Since is convex, . So , as claimed.

We can now finish the proof of Lemma 3 by induction. Clearly, and are simple. Assume that , and is simple. Consider the chain . For , is similar to , hence simple by the inductive hypothesis. Since , it is sufficient to show that for all , where , a segment in does not intersect any segments in , unless they are consecutive in and they intersect at a common endpoint. This follows from the above claim together with the observation that for , the intersection is either empty or contains a single vertex which is the common endpoint of two consecutive segments in . ∎

In the remainder of this section, we assume that

 a=c−22c=c∗2(c∗+1). (8)

Under this assumption, all segments in have the same length . Therefore, by construction, all segments in have the same length

 ak=(c∗2(c∗+1))k.

There are segments in , with vertices, and its stretch factor is

 δPk=4k(c∗2(c∗+1))k=(2c∗c∗+1)k.

Consequently, , and

as claimed. To finish the proof of Theorem 3, it remains to show the constructed polygonal chains are indeed -chains.

For every constant , is a family of -chains.

We first prove a couple of facts that will be useful in the proof of Lemma 3. We defer an intuitive explanation until after the formal statement of the lemma. Let and let , where . Then the following hold:

1. There exists a sequence of points in such that the chain is similar to .

2. For , define by

 g5(Pk)=(g3∘g2(Pk))∪(g4∘g2(Pk))∪(g1∘g3(Pk))∪(g2∘g3(Pk)).

Then is similar to .

Part (i) of Lemma 3 says that given , we can construct a chain similar to by inserting one point between every two consecutive points of the left half of , see Figure 6 (left). Part (ii) says that the “top” subchain of that consists of the right half of and the left half of , see Figure 6 (right), is similar to .

###### Proof of Lemma 3.

For (i), we review the construction of , and show that and can be constructed in a coupled manner. In Figure 7 (left), consider . Recall that all segments in are of the same length . The isosceles triangles and are similar. Let be the similarity transformation. Let and . By construction, the chain is similar to . In particular, all of its segments have the same length. So the isosceles triangle is similar to . Moreover, its base is the segment , so is precisely , see Figure 7 (right).

Write , then by the above argument and by symmetry. Now , , , and are four congruent isosceles triangles, all of which are similar to , since the angles are the same. Repeat the above procedure on each of them to obtain , which is similar to . Continue this construction inductively to get the desired chain for any .

For (ii), see Figure 7 (right). By definition, is the subchain . Observe that the segments and are collinear by symmetry. Moreover, they are parallel to since . So is similar to ; see Figure 7 (left). Then for , is the subchain of starting at vertex , ending at vertex . By the construction of , is similar to . ∎

###### Proof of Lemma 3.

We proceed by induction on again. The claim is vacuously true for . For , among all ten choices of , is the largest, and so is also a -chain. Assume that and is a -chain. We need to show that is also a -chain. Consider a triplet of vertices , where .

Recall that consists of four copies of the subchain , namely , , , and , see Figure 8 (left). If for any , then by the induction hypothesis,

 |pipj|+|pjpk||pipk|≤c.

So we may assume that and belong to two different ’s. There are four cases to consider up to symmetry:

1. and ;

2. and ;

3. and ;

4. and .

By Lemma 3 (i), the vertex set of is contained in the chain shown in Figure 8 (right). If we are in Case 1, i.e., and , then can be thought of as vertices of