On the Stretch Factor of Polygonal Chains

Abstract

Let P=(p1, p2, …, pn) be a polygonal chain in Rd. The stretch factor of P is the ratio between the total length of P and the distance of its endpoints, Σi = 1n-1 |pi pi+1|/|p1 pn|. For a parameter c ≥ 1, we call P a c-chain if |pipj|+|pjpk| ≤ c|pipk|, 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 (n1/2-), for sufficiently large constant c=c(); (ii) on the other hand, the stretch factor of a c-chain P is O(n1/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 R2 with n vertices, the minimum c≥ 1 for which P is a c-chain in O(n2.5\ polylog\ n) expected time and O(n n) space. These results generalize to Rd. For every dimension d≥ 2 and every >0, we construct a noncrossing c-chain that has stretch factor (n(1-)(d-1)/d); on the other hand, the stretch factor of any c-chain is O((n-1)(d-1)/d); for every c>1, we can test whether an n-vertex chain in Rd is a c-chain in O(n3-1/d\ polylog\ n) expected time and O(n n) space.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…