Covering Paths for Planar Point Sets
 156 Downloads
 1 Citations
Abstract
Given n points in the plane, a covering path is a polygonal path that visits all the points. If no three points are collinear, every covering path requires at least n/2 segments, and n−1 straight line segments obviously suffice even if the covering path is required to be noncrossing. We show that every set of n points in the plane admits a (possibly selfcrossing) covering path consisting of n/2+O(n/logn) straight line segments. If the path is required to be noncrossing, we prove that (1−ε)n straight line segments suffice for a small constant ε>0, and we exhibit nelement point sets that require at least 5n/9−O(1) segments in every such path. Further, the analogous question for noncrossing covering trees is considered and similar bounds are obtained. Finally, it is shown that computing a noncrossing covering path for n points in the plane requires Ω(nlogn) time in the worst case.
Keywords
Covering path Covering tree Noncrossing graph1 Introduction
In this paper, we study polygonal paths visiting a finite set of points in the plane. A spanning path is a directed Hamiltonian path drawn with straight line edges. Each edge in the path connects two of the points, so a spanning path can only turn at one of the given points. Every spanning path of a set of n points consists of n−1 segments. A covering path is a directed polygonal path in the plane that visits all the points. A covering path can make a turn at any point, i.e., either at one of the given points or at a (chosen) Steiner point. Obviously, a spanning path for a point set S is also a covering path for S. If no three points in S are collinear, every covering path consists of at least ⌈n/2⌉ segments. A minimumlink covering path for S is one with the smallest number of segments (links). A point set is said to be in general position if no three points are collinear.
 1.
What is the minimum number, f(n), such that every set of n points in the plane can be covered by a (possibly selfintersecting) polygonal path with f(n) segments?
 2.
What is the minimum number, g(n), such that every set of n points in the plane can be covered by a noncrossing polygonal path with g(n) segments?
If no three points are collinear, then each segment of a covering path contains at most two points, thus ⌈n/2⌉ is a trivial lower bound for both f(n) and g(n). Morić [20] conjectured that the answer to the first problem is n(1/2+o(1)) while the answer to the second is n(1−o(1)). We confirm the first conjecture (Theorem 1) but refute the second (Theorem 2).^{1} A consideration of these questions in retrospect appears in [9].
Theorem 1
Every set of n points in the plane admits a (possibly selfcrossing) covering path consisting of n/2+O(n/logn) line segments. Consequently, ⌈n/2⌉≤f(n)≤n/2+O(n/logn). A covering path with n/2+O(n/(εlogn)) segments can be computed in O(n ^{1+ε }) time, for every constant ε∈(0,1).
As expected, the noncrossing property is much harder to deal with. Every set of n points in the plane trivially admits a noncrossing path consisting of n−1 straight line segments that visits all the points, e.g., by sorting the points along some direction, and then connecting them in this order. On the other hand, again trivially, any such covering path requires at least ⌈n/2⌉ segments, if no three points are collinear. We provide the first nontrivial upper and lower bounds for g(n), in particular disproving the conjectured relation g(n)=n(1−o(1)).
Theorem 2
Every set of n points in the plane admits a noncrossing covering path with at most ⌈(1−1/601080391)n⌉−1 segments. Consequently, g(n)≤⌈(1−1/601080391)n⌉−1. A noncrossing covering path with at most this many segments can be computed in O(nlogn) time.
Theorem 3
There exist nelement point sets that require at least (5n−4)/9 segments in any noncrossing covering path. Consequently, g(n)≥(5n−4)/9.
In the proof of Theorem 2, we construct a noncrossing covering path that can easily be extended to a noncrossing covering cycle by adding one Steiner point and two connecting segments.
Corollary 1
Every set of n≥2 points in the plane admits a noncrossing covering cycle with at most ⌈(1−1/601080391)n⌉+1 segments. A noncrossing covering cycle of at most this many segments can be computed in O(nlogn) time.
Covering Trees
For covering a finite point set in the plane, certain types of geometric graphs other than paths may also be practical. A noncrossing path or tree, for example, are equally useful for separating a red and blue set of points [13], which is one of the motivating problems. A covering tree for a planar point set S is a tree drawn in the plane with straightline edges such that every point in S lies at a vertex or on an edge of the tree. The lower and upper bounds ⌈n/2⌉≤f(n)≤n/2+O(n/logn) of Theorem 1 trivially carry over for the number of edges of covering trees (with possible edge crossings).
Let t(n) be the minimum integer such that every set of n points in the plane admits a noncrossing covering tree with t(n) straightline edges. Since every path is a tree, we have t(n)≤g(n)≤⌈(1−1/601080391)⌉ from Theorem 2. However, a noncrossing covering tree is significantly easier to obtain than a noncrossing covering path and the resulting upper bound on the number of edges is much better.
Theorem 4
Every set of n points in the plane admits a noncrossing covering tree with at most ⌊5n/6⌋ edges. Consequently, t(n)≤⌊5n/6⌋. A covering tree with at most ⌊5n/6⌋ edges can be computed in O(nlogn) time.
By modifying the lower bound analysis in the proof of Theorem 3, we show that the same point set used there yields a slightly weaker lower bound for noncrossing covering trees.
Theorem 5
There exist nelement point sets in the plane that require at least (9n−4)/17 edges in any noncrossing covering tree. Consequently, t(n)≥(9n−4)/17.
Instead of minimizing the number of edges in a covering tree, one can try to minimize the number of line segments, where each segment is either a single edge or a chain of several collinear edges of the tree. Let s(n) be the minimum integer such that every set of n points in the plane admits a noncrossing covering tree with s(n) line segments. By definition, we trivially have s(n)≤t(n). In addition, we determine an exact formula for s(n):
Proposition 1
Bicolored Variants
Let S be a bicolored set of n points, with S=B∪R, where B and R are the set of blue and red points, respectively.
Two covering paths, π _{ R } and π _{ B }, one for the red and one for the blue points, are mutually noncrossing if each of π _{ R } and π _{ B } is noncrossing, and moreover, π _{ R } and π _{ B } do not cross (intersect) each other. A natural extension of the monochromatic noncrossing covering path problem is: What is the minimum number j(n) such that every bicolored set of n points in the plane can be covered by two monochromatic mutually noncrossing polygonal paths with j(n) segments in total? An easy upper bound and the monochromatic lower bound construction in the proof of Theorem 3 yield the following statement.
Corollary 2
Given a bicolored set of n points, there are two mutually noncrossing covering paths with a total of at most 3n/2+O(1) segments. Such a pair of paths can be computed in O(nlogn) time. On the other hand, there exist bicolored sets that require at least 5n/9−O(1) segments in any pair of mutually noncrossing covering paths. Consequently, 5n/9−O(1)≤j(n)≤3n/2+O(1).
Similarly, two covering trees τ _{ R } and τ _{ B }, one for the red and one for the blue points, are mutually noncrossing if each is noncrossing and τ _{ R } and τ _{ B } do not cross each other. The analogous question in this case is: What is the minimum number k(n) such that every bicolored set of n points in the plane can be covered by two monochromatic mutually noncrossing polygonal trees with k(n) edges in total? An easy upper bound and the monochromatic lower bound construction in the proof of Theorem 5 yield the following statement.
Corollary 3
Given a bicolored set of n points, there are two mutually noncrossing covering trees with a total of at most n edges. Such a pair of trees can be computed in O(nlogn) time. On the other hand, there exist bicolored sets that require at least 9n/17−O(1) edges in any pair of mutually noncrossing covering trees. Consequently, 9n/17−O(1)≤k(n)≤n.
Computational Complexity
We establish an Ω(nlogn) lower bound for computing a noncrossing covering path for a set of n points in the plane.
Theorem 6
The sorting problem for n numbers is lineartime reducible to the problem of computing a noncrossing covering path for n points in the plane. Therefore, computing a noncrossing covering path for a set of n points in the plane requires Ω(nlogn) time in the worst case in the algebraic decision tree model of computation.
On the other hand, a noncrossing covering tree for n points can be easily computed in O(n) time; see also Sect. 8.
Related Previous Results
Given a set of n points in the plane, the minimumlink covering path problem asks for a covering path with the smallest number of segments (links). Arkin et al. [2] proved that (the decision version of) this problem is NPcomplete. Stein and Wagner [23] gave a O(logz)approximation where z is the maximum number of collinear points.
Various upper and lower bounds on the minimum number of links needed in an axisaligned path traversing an nelement point set in \(\mathbb{R}^{d}\) have been obtained in [3, 7, 8, 15]. Approximation algorithms with constant ratio (depending on the dimension d) for this problem are developed in [3], while some NPhardness results have been claimed in [12], and further revised in [14]. Other variants of Euclidean TSP can be found in a survey article by Mitchell [19].
2 Covering Paths with Possible SelfCrossings
A set X of k points in general position in the plane, no two on a vertical line, is a kcap (kcup, respectively) if X is in (strictly) convex position and all points of X lie above (below, respectively) the line connecting the leftmost and the rightmost point of X. Similarly, caps and cups can be defined for arbitrary points (with allowed collinearities), with X being in weakly convex position. By slightly abusing notation, we use the same terminology when referring to them, and distinguish them based on the underlying point sets.
According to a classical result of Erdős and Szekeres [10], every set of at least \({2k4 \choose k2}+1\) points in general position in the plane, no two on a vertical line, contains a kcap or a kcup. In particular, every such set contains k points in convex position; see also [11, 17]. They also showed that this bound is the best possible, i.e., there exist sets of \({2k4 \choose k2}\) points containing no kcup or kcap. More generally, there exist sets of \({k+l4 \choose k2}\) points containing neither kcups nor lcaps. While Erdős and Szekeres originally proved the above results for points in general position, their arguments go though verbatim for arbitrary point sets (with allowed collinearities), and the same quantitative bounds hold for the resulting caps or cups (now in weakly convex position).
Following the terminology coined by Welzl [24], a set S of n points in the plane is called perfect if it can be covered by a (possibly selfcrossing) polygonal path consisting of at most ⌈n/2⌉ segments. It is easy to see that a cup or a cap is perfect: indeed, a suitable covering path can be obtained by extending the odd numbered edges of the xmonotone polygonal chain connecting the points (since no two points lie on a vertical line, any consecutive pair of these edges properly intersect).
Proof of Theorem 1
Let S be a set of n points in the plane, no three of which are collinear. Choose an orthogonal coordinate system such that no two points have the same xcoordinate. By the result of Erdős and Szekeres [10], every melement subset of S contains a kcup or a kcap, where \(k=\frac{\log{m}}{2}\). Since every such subset is perfect, it can be covered by a path of ⌈k/2⌉ segments.
To construct a covering path, we partition S into caps and cups of size Ω(logn) each, and a set of less than n/logn “leftover” points. We proceed as follows. Set T=S. While T≥n/logn, repeatedly find a maximumsize cup or cap in T and delete those elements from T. Note that log(n/logn)=Ω(logn), and we have found a kcup or kcap for some k=Ω(logn) in each step. Therefore, we have found O(n/logn) pairwise disjoint caps and cups in S, and we are left with a set T of less than n/logn points.
For each kcup (or kcap), construct a covering subpath with ⌈k/2⌉ segments. Link these paths arbitrarily into one path, that is, append them one after another in any order. Finally append to this path an arbitrary spanning path of the remaining less than n/logn points in T, with one point per turn.
A covering path for S is obtained in this way. The total number of segments in this path is n/2+O(n/logn), as required. Chvátal and Klincsek [6] showed that a maximumsize cap (and cup) in a set of n points in the plane, no 3 of which are collinear, can be found in O(n ^{3}) time. With O(n/logn) calls to their algorithm, a covering path with n/2+O(n/logn) segments can be constructed in O(n ^{4}/logn) time in the RAM model of computation.
Now if the problem can be solved in time O(n ^{4}/logn), it can also be solved in time O(n ^{1+ε }) for every constant ε>0: Set T=S. While T≥n ^{ ε/3}, arbitrarily choose a subset T′⊆T of ⌈n ^{ ε/3}⌉ points, find a maximumsize cup or cap in T′ and delete those elements from T. The maximumsize cup or cap in T′ has Ω(εlogn) points and it can be found in O(n ^{ ε }) time. All these paths are then linked together with one extra segment per path. Finally, append to this path an arbitrary spanning path of the remaining less than n ^{ ε/3} points in T, with one point per turn. The total number of segments in the resulting path is n/2+O(n/(εlogn))+O(n ^{ ε/3})=n/2+O(n/(εlogn)). The total running time is O(n ^{ ε }⋅n/(εlogn))=O(n ^{1+ε }), as required. □
3 Noncrossing Covering Paths: Upper Bound
Clearly, for every set of n points in the plane, there is a noncrossing covering path with at most n−1 segments. For example, an xmonotone spanning path for n points has n−1 segments, no two crossing edges, and no Steiner points either. In this section, we prove Theorem 2 and show that (1−ε)n segments suffice for some small constant ε>0. In the proof of Theorem 2, however, we still use the trivial upper bound n−1 for several subsets of points with the additional constraint that the two endpoints of the path are two given points on the boundary of a convex region containing the points in its interior (Lemma 1).
Lemma 1
Let X be a set of n points in the interior of a convex region C, and let a, b be two points on the boundary ∂C of C. Then X∪{a,b} admits a noncrossing covering path with X+1 segments such that its two endpoints are a and b, and its relative interior lies in the interior of C. Such a covering path can be constructed in O(nlogn) time.
We include the easy proof for completeness; we remark that a similar lemma was used in [13].
Proof
Let ℓ _{ a } and ℓ _{ b } be tangent lines at C incident to a and b, respectively. If ℓ _{ a }=ℓ _{ b }, let O be the midpoint of ab; if ℓ _{ a } and ℓ _{ b } are not parallel, then let O=ℓ _{ a }∩ℓ _{ b }. Orient ℓ _{ a } from O to a and ℓ _{ b } from O to b. If ℓ _{ a } and ℓ _{ b } are parallel, let O be a point at infinity corresponding to the direction of the two parallel lines ℓ _{ a } and ℓ _{ b }. Sort the points in X in the order in which they are encountered by a sweep line rotating from ℓ _{ a } to ℓ _{ b } around O (with ties broken arbitrarily). Let γ be the polygonal path that starts at a, visits the points in X in the above sweep order, and ends at b. The edges of γ are pairwise noncrossing, since they lie in interiordisjoint wedges centered at O. By construction, γ lies in the convex hull of X∪{a,b}⊆int(C)∪{a,b}, hence the relative interior of γ, i.e., γ∖{a,b}, lies in the interior of C, as required. □
Before proving Theorem 2, we show how to reduce the trivial bound n−1 on the size of noncrossing covering paths by an arbitrarily large constant, provided that the number of points n is sufficiently large.
Lemma 2
Let S be a set of n points in the plane that contains a cap or cup of even size k. Then S admits a noncrossing covering path γ with at most n+1−⌊k/6⌋ segments. Furthermore, if S lies in the interior of a vertical strip H bounded by two vertical lines, h _{1} and h _{2}, then we may require that the two endpoints of γ lie on h _{1} and h _{2}, respectively, and that the relative interior of γ lies in the interior of H.
Proof
Let H, S⊂H, be a vertical strip bounded by two vertical lines, h _{1} and h _{2}, from the left and right, respectively. Assume that S contains a cap of size k (the case of a cup is analogous). We construct a noncrossing covering path γ with at most n+1−⌊k/6⌋ segments. We may assume that k is a multiple of 6 (by decreasing k, if necessary, without changing the value of ⌊k/6⌋).
Let P={p _{1},p _{2},…,p _{ k }}⊂S be a cap of size of k, labeled in increasing order of xcoordinates. Note that P admits a covering path γ _{0}=(q _{1},q _{2},…,q _{ k/2+1}) of k/2 segments, where each segment of γ _{0} contains two consecutive points of the cap. We may assume (by extending or shortening γ _{0} if necessary) that the endpoints of γ _{0} are on the boundary of the vertical strip H, that is, q _{1}∈h _{1} and q _{ k/2+1}∈h _{2}. Let q _{0}∈h _{1} and q _{ k/2+2}∈h _{2} be arbitrary points vertically below the endpoints of γ _{0}. With this notation, the polygonal path (q _{0} q _{1})∪γ _{0}∪(q _{ k/2+1} q _{ k/2+2}) is a convex arc. Let s _{ k/2+1}∈h _{2} be an arbitrary Steiner point above the right endpoint of γ _{0}. The two endpoints of our final covering path for S will be q _{0}∈h _{1} and s _{ k/2+1}∈h _{2}.
In the remainder of the proof, we first construct a noncrossing covering path for S with n+1 segments from q _{0} to s _{ k/2+1} and then modify this construction to “save” ⌊k/6⌋ segments.
Preliminary Approach The path γ _{0} decomposes the vertical strip H into two regions: a convex region below and a nonconvex region above, with k/2−1 reflex vertices at q _{2},…,q _{ k/2}. Decompose the nonconvex region above γ _{0} into k/2 convex regions by upward vertical rays r _{ i } emitted by q _{ i }, for i=2,…,q _{ k/2}; and place an arbitrary Steiner point s _{ i } on the ray r _{ i }.
The resulting path visits all points of S, since the second part visits all points along γ _{0}, and the convex regions jointly contain all points below or above γ _{0}. The k/2+2 parts of the covering path are pairwise noncrossing, since they lie either on γ _{0} or in pairwise interiordisjoint regions whose interiors are also disjoint from γ _{0}. The second part of the covering path (the part along γ _{0}) covers k points with k/2 segments, and the remaining k/2+1 parts each require one more segment than the number of points covered. Hence, the total number of segments is n+1−(k/2)+(k/2+1)=n+1.
 1.
It is not necessary to decompose the entire region above γ _{0} into convex pieces. If a region above γ _{0} contains all points in S above γ _{0}, and has fewer than k/2 reflex vertices, then we can decompose this region into fewer than k/2 convex pieces, using fewer than k/2 Steiner points and thus reducing the size of the resulting covering path.
 2.
If a ray emitted by a reflex vertex passes through a point of S and decomposes the reflex angle into two convex angles, then a Steiner point can be replaced by a point of S, which saves one segment in the resulting covering path.
We show that one of the two ideas is always applicable locally. Specifically, we modify γ _{0} by replacing some of the arcs (q _{ i−1},q _{ i },q _{ i+1})⊂γ _{0}, where i is a multiple of 3, by different arcs and obtain a new convex polygonal arc γ _{1}. The path γ _{1} retains the property that every segment contains two points from S, however it may consist of fewer segments than γ _{0}. We keep the modifications “local” in the sense that a modification in the neighborhood of a vertex q _{ i } is carried out independently of modifications at all other vertices q _{ j }, where i,j>0 are multiples of 3. Even though γ _{0} may be modified in the neighborhoods of vertices q _{ i } and q _{ i+3}, the intermediate edge q _{ i+1} q _{ i+2} of γ _{0} will be preserved: it will be either an edge of γ _{1} or contained in a longer edge of γ _{1}.
Case 1: S∩Q _{ i }≠∅ In this case, the polygonal arc (q _{ i−1},q _{ i },q _{ i+1}) of γ _{0} is not modified but the ray r _{ i } is defined differently. In addition, the Steiner points s _{ i−1}∈r _{ i−1} and s _{ i+1}∈r _{ i+1} are defined differently. Pick an arbitrary point s _{ i }∈S∩Q _{ i }, and let r _{ i } be the ray emitted by q _{ i } and passing through s _{ i }. Let r _{ i−1} and r _{ i+1} be vertical rays emitted by q _{ i−1} and q _{ i+1}, respectively, like before. Decompose the region above (q _{ i−1},q _{ i },q _{ i+1}) by the two vertical rays r _{ i−1} and r _{ i+1}, and then by the (possibly nonvertical) ray r _{ i }. Choose Steiner points s _{ i−1}∈r _{ i−1} and s _{ i+1}∈r _{ i+1}, such that they each lie on the common boundary of two consecutive regions of the decomposition (e.g., s _{8} and s _{10} in Fig. 2).
Case 2: S∩Q _{ i }=∅ In this case, we modify the polygonal arc (q _{ i−1},q _{ i },q _{ i+1}) of γ _{0}. Let c _{ i } be the intersection point of lines q _{ i−2} q _{ i−1} and q _{ i+1} q _{ i+2} (possibly q _{ i−2}=q _{0} or q _{ i+2}=q _{ k/2+2}). Let S _{ i } denote the set of points of S in the interior of the triangle Δ(q _{ i−1} c _{ i } q _{ i+1}); and let X _{ i }=S _{ i }∪{q _{ i−1},q _{ i+1}}. Since Q _{ i } is empty and each of the segments q _{ i−1} q _{ i } and q _{ i } q _{ i+1} contains two points of S, the convex hull of X _{ i } has at least four vertices, i.e., \(\operatorname{conv}(X_{i})\) is not a triangle. Let a _{ i } b _{ i } be an arbitrary edge of \(\operatorname{conv}(X_{i})\), that is incident to neither q _{ i−1} nor q _{ i+1}. The line a _{ i } b _{ i } intersects the sides q _{ i−1} c _{ i } and q _{ i+1} c _{ i } of the triangle Δ(q _{ i−1} c _{ i } q _{ i+1}). Denote the intersection points by \(q_{i1}'\in q_{i1}c_{i}\) and \(q_{i+1}'\in q_{i+1}c_{i}\). Replace (q _{ i−1},q _{ i },q _{ i+1}) by \((q_{i1},q_{i1}',q_{i+1}',q_{i+1})\) to obtain γ _{1}.
The segment \(q_{i1}'q_{i+1}'\) contains points a _{ i },b _{ i }∈S. Notice that \(q_{i1}q_{i1}'\) is collinear with q _{ i−2} q _{ i−1}; and similarly \(q_{i+1}'q_{i+1}\) is collinear with q _{ i+1} q _{ i+2}. Therefore, q _{ i−1} and q _{ i+1} are not vertices of γ _{1}. Let r _{ i } be a vertical ray emitted by c _{ i }, and pick an arbitrary Steiner point s _{ i }∈r _{ i }. Decompose the region above \((q_{i1},q_{i1}',q_{i+1}',q_{i+1})\subset \gamma_{1}\) by the polygonal arc (q _{ i−1},c _{ i },q _{ i+1}) and the vertical ray r _{ i }. Since the triangle \(\Delta(c_{i},q_{i1}',q_{i+1}')\) contains no point from S, the two convex regions adjacent to r _{ i } (only one region in the extremal case i=k/2) contain all the points of S lying above \((q_{i1},q_{i1}',q_{i+1}',q_{i+1})\).
The resulting path visits all points of S lying below, on, and above γ _{1} (in this order). We use ⌊k/6⌋ fewer segments than in our initial construction, since each local modification saves one segment: In Case 1, we use a point s _{ i }∈S instead of a Steiner point. In Case 2, we decrease the number of segments along γ _{1} by one, and decrease the number of relevant convex regions above γ _{1} by two. This concludes the proof of Lemma 2. □
Proof of Theorem 2
Let S be a set of n points in the plane, no three of which are collinear. Assume, by rotating the point set if necessary, that no two points have the same xcoordinate. Lay out a raster of vertical lines in the plane such that there are exactly \(m={32\choose16}+1=601,080,391\) points between consecutive lines, with no points on the lines or to the left of the leftmost line and less than m points to the right of the rightmost line. By the result of Erdős and Szekeres [10], there is a cap or cup of 18 points between any two raster lines. By Lemma 2 (for n=m and k=18), the m points between consecutive raster lines admit a noncrossing covering path with m+1−3=m−2 segments such that the two endpoints of the path are Steiner points on the two raster lines, and the relative interior of the path lies strictly between the raster lines. The n _{0}<m points to the right of the rightmost raster line can be covered by an xmonotone path with n _{0} segments starting at the (unique) Steiner point on that line assigned by the previous group of points.
Proof of Corollary 1
In the proof of Theorem 2, we constructed a noncrossing covering path γ for S such that the two endpoints of γ are the leftmost and the rightmost vertices of γ. Hence, γ can be augmented to a noncrossing covering cycle by adding a new vertex of sufficiently large ycoordinate and two connecting segments to the endpoints of γ. □
4 Noncrossing Covering Paths: Lower Bound
Proof Outline for Theorem 3
For every \(k\in\mathbb{N}\), we construct a set S of n=2k points in the plane in general position, where all points are very close to the parabola x→x ^{2}. We then show that every noncrossing covering path γ (of S) consists of at least (5n−4)/9 segments. The lower bound is based on a charging scheme: we distinguish perfect and imperfect segments in γ, containing 2 and fewer than 2 points of S, respectively. We charge every perfect segment to a “nearby” endpoint of an imperfect segment or an endpoint of γ, such that each of these endpoints is charged at most twice. This implies that at most about 4/5 of the segments are perfect, and the lower bound of (5n−4)/9 follows. We continue with the details.
We start with a simple technical lemma exhibiting certain conditions under which two segments in a noncrossing covering path are almost parallel. We say that a line segment s traverses a circular disk D if s intersects the boundary of D twice.
Lemma 3
For any angle \(\varphi\in(0,\frac{\pi}{2})\), and for every ε>0, there exists δ∈(0,ε) such that if two nonparallel noncrossing line segments ab and cd both traverse two concentric disks of radii ε and δ, then the supporting lines of ab and cd meet at an angle at most φ.
Proof
Construction
For every r>0, let D _{ i }(r) denote the disk of radius r centered at a _{ i }∈A. Since the k points in A are in strictly convex position, they determine \({k\choose2}\) distinct lines. Let \((2\varphi)\in(0,\frac{\pi}{2})\) be the minimum angle between two lines determined by A (recall that no two such lines are parallel). Let ε>0 be sufficiently small so that if a line intersects two disks in {D _{1}(ε),…,D _{ k }(ε)}, then it makes an angle less than φ/2 with the line passing through the centers of the two disks. It follows that any line intersects at most two disks in {D _{1}(ε),…,D _{ k }(ε)}, i.e., the εneighborhoods of at most two points in A. By Lemma 3, there exists δ _{0}∈(0,ε) such that if two noncrossing segments traverse both D _{ i }(ε) and D _{ i }(δ _{0}), then their supporting lines make an angle less than φ. For i=1,…,k−1, let δ _{ i }>0 be the maximum distance between the supporting line of a _{ i } a _{ i+1} and a point on the arc of the parabola α between a _{ i } and a _{ i+1}. We are ready to define δ>0; let \(\delta=\frac{1}{2} \min\{\delta_{i}:i=0,1,\ldots , k1\}\).

let ℓ _{ i } be a line incident to a _{ i } such that its slope is larger than that of ℓ _{ i+1};

let b _{ i }∈ℓ _{ i }∩D _{ i }(δ) be above the parabola α; and

let b _{ i } be sufficiently close to a _{ i } so that for every j, i<j≤k, the supporting lines of segments a _{ i } a _{ j } and b _{ i } b _{ j } meet in the disk D _{ i }(ε).
We also ensure in each iteration that in the set S=A∪B, (1) no three points are collinear; (2) no two lines determined by the points are parallel; and (3) no three lines determined by disjoint pairs of points are concurrent.
Note that S is not in strong general position: for instance, all points in A lie on a parabola. In the last step of our construction, we slightly perturb the points in S. However, for the analysis of a covering path, we may ignore the perturbation.
Let γ be a noncrossing covering path for S. By perturbing the vertices of γ if necessary, we may assume that every point in S lies in the relative interior of a segment of γ. Denote by s _{0}, s _{1} and s _{2}, respectively, the number of segments in γ that contain 0, 1, and 2 points from S. We establish the following inequality.
Lemma 4
s _{2}≤4(s _{0}+s _{1}+1).
Before the proof of Lemma 4, we show that it immediately implies Theorem 3.
Proof of Theorem 3
For the proof of Lemma 4, we introduce a charging scheme: Each perfect segment is charged to either an endpoint of an imperfect segment, or one of the two endpoints of γ such that every endpoint is charged at most twice. The charges will be defined for maximal xmonotone chains of perfect segments. A subpath γ′⊆γ is called xmonotone, if the intersection of γ′ with a vertical line is connected (i.e., the empty set, a point, or a vertical segment).
Analysis of a Noncrossing Covering Path γ
Note that all points in S lie on or above the parabola α:x→x ^{2}, and on or below the parabola \(\overline{\alpha}: x\rightarrow x^{2}+\delta\), since b _{ i }∈D _{ i }(δ) for i=1,…,k. We show that every segment between two different twins contains some point above the parabola \(\overline {\alpha}\).
Lemma 5
A line segment connecting a point from the twin {a _{ i },b _{ i }} and a point from the twin {a _{ j },b _{ j }}, where i<j, contains some point lying strictly above the parabola \(\overline{\alpha}\).
Proof
Recall that δ _{ i }>0 is the maximum distance between the supporting line of a _{ i } a _{ i+1} and a point on the arc of the parabola α between a _{ i } and a _{ i+1}. It follows that the segment a _{ i } a _{ i+1} contains a point lying strictly above the parabola x→x ^{2}+δ _{ i }/2, and this point is also strictly above \(\overline{\alpha}: x\rightarrow x^{2}+\delta\) since δ≤δ _{ i }/2. Since both a _{ i } and a _{ i+1} are below \(\overline{\alpha}\), segment a _{ i } a _{ i+1} intersects the parabola \(\overline{\alpha}\) in two points. It follows that \(\overline{\alpha}\) subdivides the closed halfplane above line a _{ i } a _{ i+1} into three regions: left, middle, and right. The left region contains a _{ i } and b _{ i }, and the right region contains all points a _{ j },b _{ j }, for j>i. Thus, any line segment between a point from {a _{ i },b _{ i }} and a point from {a _{ j },b _{ j }}, where i<j, crosses the parabola \(\overline{\alpha}\) twice, and contains a point strictly above \(\overline{\alpha}\). □
Recall that all points in A={a _{1},…,a _{ k }} lie on the parabola α:x→x ^{2}. We next define a curve β incident to all points in B={b _{1},…,b _{ k }}. Let β be the boundary of the convex hull of \(B \cup\overline {\alpha}\). By Lemma 5, β consists of arcs of the parabola \(\overline{\alpha}\) and 2k common tangents between the points b _{1},…,b _{ k } and \(\overline{\alpha}\). Consequently, β is the graph of a convex function that lies between α and \(\overline{\alpha}\) and is incident to all points in B.
Next, we characterize the perfect segments in γ. Note that if pq is a perfect segment in γ, then pq contains either a twin, or one point from each of two twins. The following two lemmas concern perfect segments containing points from two twins.
Lemma 6
Let pq be a perfect segment in γ that contains one point from each of the twins {a _{ i },b _{ i }} and {a _{ j },b _{ j }}, where i<j. Then pq intersects both D _{ i }(δ) and D _{ j }(δ), and its endpoints, p and q, lie strictly below the curve β.
Proof
The distance between any two twin points is at most δ, so pq intersects the δneighborhood of a _{ i } and a _{ j } (even if pq contains b _{ i } or b _{ j }).
The two points in S∩pq are on or below the parabola \(\overline {\alpha}\). By Lemma 5, the segment pq contains a point strictly above \(\overline{\alpha}\) between the two points S∩pq; and this point is strictly above β, as well. By the convexity of β, the segment pq intersects β in exactly two points. The intersection points β∩pq cannot be the endpoints of pq, since we assumed that the two points in S∩pq lie in the relative interior of pq. Therefore, the endpoints p and q lie strictly below β. □
Lemma 7
 Case 1:

p is incident to an imperfect segment of γ, or p is an endpoint of γ;
 Case 2:

s is imperfect;
 Case 3:

s is perfect, one of its endpoints v lies in D _{ i }(ε), and v is either incident to some imperfect segment or it is an endpoint of γ;
 Case 4:

s is perfect and p is the common left endpoint of segments pq and s.
Proof
If p is incident to an imperfect segment of γ, or p is an endpoint of γ, then Case 1 occurs. Assume therefore that p is incident to two perfect segments of γ, pq and pr. If pr=s, then p is the common left endpoint of two perfect segments, pq and s, and Case 4 occurs. If s is imperfect, then Case 2 occurs.
Assume now that pr≠s and s is perfect. We shall show that Case 3 occurs. We claim that the segment pq traverses D _{ i }(ε). Since pq contains a point in D _{ i }(δ)⊂D _{ i }(ε), it is enough to show that p and q lie outside of D _{ i }(ε). Note that pr does not contain any point from the twin {a _{ i },b _{ i }} (these points are covered by segments pq and s). Since pr is a perfect segment, it contains two points from S∖{a _{ i },b _{ i }}. By construction, every line determined by S∖{a _{ i },b _{ i }} is disjoint from D _{ i }(ε); hence, pr (including p) is outside of D _{ i }(ε). Since pq contains a point from {a _{ j },b _{ j }}, i<j, point q is also outside of D _{ i }(ε). Hence, pq traverses D _{ i }(ε).
We also claim that s cannot traverse D _{ i }(ε). Suppose, to the contrary, that s traverses D _{ i }(ε). Then both pq and s traverse the concentric disks D _{ i }(ε) and D _{ i }(δ)⊆D _{ i }(δ _{0}). Recall that δ _{0}∈(0,ε) was chosen such that if two noncrossing segments traverse both D _{ i }(ε) and D _{ i }(δ _{0}), then their supporting lines make an angle less than φ. Therefore, the supporting lines of pq and s make an angle less than φ. This further implies, by the choice of ε, that the supporting line of s can intersect the εneighborhood of only two points in A, namely D _{ i }(ε) and D _{ j }(ε). However, by the definition of b _{ i }, if s contains one point from each of {a _{ i },b _{ i }} and {a _{ j },b _{ j }}, then the supporting lines of s and pq intersect in D _{ i }(ε). This contradicts the assumption that the segments of γ do not cross, and proves the claim.
Since s contains a point in D _{ i }(δ)⊂D _{ i }(ε) but it does not traverse D _{ i }(ε), it has an endpoint v in D _{ i }(ε). If v is the endpoint of γ, then Case 3 occurs. If v is incident to some other segment of γ, this segment cannot be perfect since every line intersects the εneighborhoods of at most two points in A. Hence v is incident to an imperfect segment, and Case 3 occurs. □
We continue with two simple observations about perfect segments containing twins.
Lemma 8
The supporting lines of any two twins intersect below α.
Proof
By construction, the supporting line of every twin has positive slope; and a _{ i } b _{ i } has larger slope than a _{ j } b _{ j } if 1≤i<j≤k. Furthermore, the line a _{ i } b _{ i } has larger slope than the tangent line of the parabola x→x ^{2} at a _{ i }; hence, a _{ i } lies above the supporting line of a _{ j } b _{ j } for 1≤i<j≤k. It follows that the supporting lines of segments a _{ i } b _{ i } and a _{ j } b _{ j } intersect below α. □
Lemma 9
Let pq be a perfect segment of γ that contains a twin {a _{ i },b _{ i }}, and let q be the upper (i.e., right) endpoint of pq. Then either q is incident to an imperfect segment of γ or q is an endpoint of γ.
Proof
Observe that q lies on or above β. If q is an endpoint of γ, then our proof is complete. Suppose that q is incident to segments pq and qr of γ. By Lemma 8, qr does not contain a twin. By Lemma 6, qr cannot contain one point from each of two twins either since then its endpoints (including q) would lie strictly below β. It follows that qr is an imperfect segment of γ, as required. □
Proof of Lemma 4
Let Γ′ be the set of maximal xmonotone chains of perfect segments in γ. Consider a chain γ′∈Γ′. By Lemma 9, only the rightmost segment of γ′ may contain a twin. It is possible that the leftmost segment of γ′ contains one point from each of two twins, and the left endpoint of γ′ is incident to another perfect segment, which is the leftmost segment of another xmonotone chain in Γ′.
Let pq be a perfect segment of γ, and part of an xmonotone chain γ′∈Γ′. We charge pq to a point σ(pq) that is either an endpoint of some imperfect segment or an endpoint of γ.
The point σ(pq) is defined as follows. If pq contains a twin, then charge pq to the top vertex of pq, which is the endpoint of an imperfect segment or an endpoint of γ by Lemma 9. Assume now that pq does not contain a twin, its left endpoint is p, and it contains a point from each of the twins {a _{ i },b _{ i }} and {a _{ j },b _{ j }}, with i<j. We consider the four cases presented in Lemma 7.
In Case 1, charge pq to p, which is the endpoint of an imperfect segment or an endpoint of γ. In Case 2, charge pq to the left endpoint of the imperfect segment s containing a point of the twin {a _{ i },b _{ i }}. In Case 3, charge pq to either an endpoint of an imperfect segment or an endpoint of γ located in D _{ i }(ε). So far, every endpoint of an imperfect segment and every endpoint of γ is charged at most once. Now, consider Case 4 of Lemma 7. In this case, pq is the leftmost segment of γ′. If γ′ contains exactly one perfect segment, namely pq, then charge pq to its right endpoint, which is the endpoint of some imperfect segment or the endpoint of γ. If γ′ contains at least two perfect segments, then pick an arbitrary perfect segment s, s≠pq, from γ′. Since s is not the leftmost segment of γ′, the point σ(s) is already defined, and we let σ(pq)=σ(s). This completes the definition of σ(pq).
Each endpoint of γ and each endpoint of every imperfect segment is now charged at most twice. Since γ and every imperfect segment has two endpoints, we have s _{2}≤4(s _{0}+s _{1})+4, as required. □
Remark
We do not know whether the lower bound (5n−4)/9 for the number of segments in a minimum noncrossing covering path is tight for the nelement point set S we have constructed. Certainly S admits a covering path with 5n/8+O(1) segments. Such a path is indicated in Fig. 6, where 5 consecutive segments (4 perfect and one imperfect) cover 4 consecutive twins.
5 Noncrossing Covering Trees
An upper bound t(n)≤⌈(1−1/601080391)n⌉ for noncrossing covering trees follows from Theorem 2 regarding paths. However, for trees, the argument can be greatly simplified while also improving the bound.
Proof of Theorem 4
Any set of 7 points with distinct xcoordinates contains a cap or a cup of 4 points, say, a,b,c,d, from left to right. The 4 points a,b,c,d, of a cap or cup admit a covering path with 2 segments, i.e., a 2edge star centered at the intersection point, say v, of the lines through ab and cd, respectively. Augment this 2edge star covering 4 points to a 5edge star centered at v and covering all 7 points. The star is contained in the vertical strip bounded by vertical lines incident to the leftmost and the rightmost point, respectively.
We may assume, by rotating the point set if necessary, that no two points have the same xcoordinate. Let p _{1},p _{2},…,p _{ n } be the points in S listed in left to right order. Decompose S into groups of 7 by drawing vertical lines incident to p _{7+6i }, for \(i=0,1,\ldots,\lfloor\frac{n7}{6} \rfloor\). Any two consecutive groups in this decomposition share a point (the last point in group i is also the first point in group i+1). It follows that the stars covering the groups (using 5 edges per group) are already connected in a tree covering all points, and this yields the claimed bound. □
We prove a lower bound for t(n) by analyzing noncrossing covering trees of the point set S={a _{1},…,a _{ k },b _{1},…,b _{ k }}, n=2k, defined in Sect. 4 above. Let τ be a noncrossing covering tree for S. By perturbing the vertices of τ if necessary, we may assume that every point in S lies in the relative interior of a segment of τ. Let s _{0}, s _{1} and s _{2}, respectively, denote the number of segments in τ that contain 0, 1, and 2 points from S; hence n=s _{1}+2s _{2}. We establish the following weaker version of Lemma 4.
Lemma 10
s _{2}≤8(s _{0}+s _{1})+4.
Before the proof of Lemma 10, we show that it directly implies Theorem 5.
Proof of Theorem 5
For the proof of Lemma 10, we set up a charging scheme, similar to the proof of Lemma 4. Lemma 9 continues to hold for τ in place of a noncrossing covering path γ if we replace the “endpoints of γ” by the “leaves of τ.” While the path γ had exactly two endpoints, the tree τ may have arbitrarily many leaves. Therefore, the charging scheme has to be modified so that no perfect segment is charged to the leaves of τ.
Proof of Lemma 10
Since S=A∪B is in general position and A lies on a parabola, no three perfect segments have a common endpoint. Therefore, the perfect segments of τ form disjoint paths. Let Γ be the set of maximal chains of perfect segments; and let Γ _{ x } denote the set of maximal xmonotone chains of perfect segments in τ.
Choose an arbitrary vertex r _{0} in τ as a root, and direct all edges of τ towards r _{0}. Every chain in Γ is incident to either vertex r _{0}, or to a unique outgoing imperfect edge. Since every chain in Γ has exactly two endpoints, at most two vertices of a chain can have degree 1 in the tree τ.
 (i)
If σ(pq) is an endpoint of an imperfect segment of τ, then charge pq to σ(pq).
 (ii)
Otherwise σ(pq) is an endpoint of a chain γ _{ pq }∈Γ. In this case, if γ _{ pq } is incident to r _{0}, then charge pq to r _{0}, else charge pq to the outgoing imperfect edge of τ incident to γ _{ pq }.
Similar to the proof of Lemma 4, each endpoint of an imperfect segment is charged at most twice. Since every imperfect segment has two endpoints, rule (i) is responsible for a total charge of at most 4(s _{0}+s _{1}). Each of the two endpoints of a chain γ∈Γ is charged at most twice by σ, and so the root r _{0} and every (directed) imperfect segment is charged at most four times. Thus rule (ii) is responsible for a total charge of at most 4(s _{0}+s _{1}+1). Altogether the total charge assigned by rules (i) and (ii) is s _{2}≤8(s _{0}+s _{1})+4, as required. □
Proof of Proposition 1
The case of small n (n≤4) is easy to handle, so assume that n≥5. Given S, compute \(\operatorname{conv}(S)\) and let s _{1} be a segment extension of an arbitrary edge of \(\operatorname{conv}(S)\); s _{1} is long enough so that it intersects all nonparallel lines induced by pairs of points in S′:=S∖(S∩s _{1}). For simplicity of exposition, assume that s _{1} is a vertical segment with all other points in S′ lying left of s _{1}. If \(\operatorname{conv}(S')\) is a vertical segment, since S≥5, it is easy to find a 3segment covering tree for S. If \(\operatorname {conv}(S')\) is not a vertical segment, select a nonvertical hull edge of \(\operatorname{conv}(S')\) and extend it to the right until it hits s _{1} and to the left until it hits all other nonparallel lines induced by pairs of points. Let s _{2} be this segment extension.
Continue in a similar way on the set of remaining points, S″:=S′∖(S′∩s _{2}), by choosing an arbitrary edge of \(\operatorname{conv}(S'')\) and extending it until it hits s _{1} or s _{2}. If a single point is left at the end, pick a segment incident to it and extend it until it hits the tree made from the previously chosen segments. Otherwise continue by extending an arbitrary hull edge of the remaining points until it hits the tree made from the previously chosen segments. Clearly, the resulting tree covers all points and has at most ⌈n/2⌉ segments.
For the lower bound, it is clear that n points in general position require at least ⌈n/2⌉ segments in any covering tree. □
6 Bicolored Variants
Proof of Corollary 2
For the upper bound, we proceed as follows. Assume without loss of generality that no two points have the same xcoordinate (after a suitable rotation of the point set, if needed). We have B+R=n, and assume w.l.o.g. that B≤n/2≤R. Cover the red points by an xmonotone spanning path π _{ R }, which is clearly noncrossing. Let B=B _{1}∪B _{2} be the partition of the blue points induced by π _{ R } into points above and below the red path (remaining points are partitioned arbitrarily). Cover the points in B _{1} (above π _{ R }) by an xmonotone covering path: For each consecutive pair of points in the xorder, extend two almost vertical rays that meet far above π _{ R } without crossing π _{ R }. Proceed similarly for covering the points in B _{2} (below π _{ R }). Connect the two resulting blue covering paths for B _{1} and B _{2} by using at most O(1) additional segments.
The number of segments in the red path is R−1. The number of segments in the blue path is 2B+O(1). Consequently, since B≤n/2, the two covering paths comprise at most 3n/2+O(1) segments. After sorting the red and blue points along a suitable direction, a pair of mutually noncrossing covering paths as above can be obtained in O(n) time. So the entire procedure takes O(nlogn) time.
For the lower bound, use a red and a blue copy of the point set constructed in the proof of Theorem 3, each with n/2 points, so that no three points are collinear. Since covering each copy requires at least (5n/9−O(1))/2 segments in any noncrossing covering path, the resulting nelement point set requires at least 5n/9−O(1) segments in any pair of mutually noncrossing covering paths. □
Proof of Corollary 3
For the lower bound we use two copies, red and blue, of the pointset from the proof of Theorem 5 (which is the same as the pointset from the proof of Theorem 3). It remains to show the upper bound. Assume without loss of generality that no two points have the same xcoordinate. Cover the blue points by a blue star with a center high above, and the red points by a red star with a center way below. Obviously, each star is noncrossing, and the distinct xcoordinates of the points suffice to guarantee that the two stars are mutually noncrossing for suitable center positions. The two centers can be easily computed after sorting the points in the above order. □
7 Computational Complexity
Proof of Theorem 6
Given a noncrossing covering path γ of S with m vertices, the points in S can be sorted in left to right order in O(m) time.
The boundary of the convex hull of γ is a closed polygonal curve, denoted \(\partial\operatorname{conv}(\gamma)\). Melkman’s algorithm [18] computes \(\partial\operatorname{conv}(\gamma)\) in O(m) time. (See [1] for a review of convex hull algorithms for simple polygons, and [4] for spaceefficient variants). Triangulate all faces of the plane graph \(\gamma\cup\partial\operatorname{conv}(\gamma)\) within O(m) time [5], and let T denote the triangulation. The parabola y=x ^{2} intersects the boundary of each triangle at most 6 times (at most twice per edge). The intersection points can be sorted in each triangle in O(1) time. So we can trace the parabola y=x ^{2} from triangle to triangle through the entire triangulation, in O(1) time per triangle, thus in O(m) time overall. Since all points of S are on the parabola, one can report the sorted order of the points within the same time. □
8 Conclusion
 1.
It seems unlikely that every point set with no three collinear points admits a covering path with n/2+O(1) segments. Can a lower bound of the form f(n)=n/2+ω(1) be established?
 2.
It remains an open problem to close or narrow the gap between the lower and upper bounds for g(n), (5n−4)/9≤g(n)≤⌈(1−1/601080391)n⌉−1; and for t(n), (9n−4)/17≤t(n)≤⌊5n/6⌋.
 3.
Let p(n) denote the maximum integer such that every set of n points in the plane has a perfect subset of size p(n). As noticed by Welzl [9, 24], p(n)=Ω(logn) immediately follows from the theorem of Erdős and Szekeres [10]. Any improvement in this lower bound would lead to a better upper bound on f(n) in Theorem 1, and thus to a smaller gap relative to the trivial lower bound f(n)≥n/2. It is a challenging question whether Welzl’s lower bound p(n)=Ω(logn) can be improved; see also [9].
 4.
It is known that the minimumlink covering path problem is NPcomplete for planar paths whose segments are unrestricted in orientation [2, 15]. It is also NPcomplete for axisparallel paths in \(\mathbb{R}^{10}\), as shown in [14]. Is the minimumlink covering path problem still NPcomplete for axisaligned paths in \(\mathbb{R}^{d}\) for 2≤d≤9? It is known [3] that a minimumlink axisaligned covering path in the plane can be approximated with ratio 2. Can the approximation ratio of 2 be reduced?
 5.
Is the minimumlink covering path problem still NPcomplete for points in general position and arbitrary oriented paths?
 6.
Is the minimumlink covering path problem still NPcomplete for points in general position and arbitrary oriented noncrossing paths?
 7.
Given n points (n even), is it possible to compute a noncrossing perfect matching in O(n) time? Observe that such a matching can be computed in O(nlogn) time by sorting the points along some direction. The same upper bound O(nlogn) holds for noncrossing covering paths and noncrossing spanning paths, and this is asymptotically optimal by Theorem 6. Finally, observe that a noncrossing spanning tree can be computed in O(n) time: Indeed, just take a star rooted at an arbitrary point in the set.
Footnotes
Notes
Acknowledgement
The authors are grateful to an anonymous reviewer for the running time improvement in Theorem 1, and to the members of the MITTufts Computational Geometry Research Group for stimulating discussions.
Research of A. Dumitrescu was supported by the NSF grant DMS1001667. Research of D. Gerbner and B. Keszegh was supported by OTKA, grant NK 78439 and by OTKA under EUROGIGA project GraDR 10EuroGIGAOP003. Research of C.D. Tóth was supported by the NSERC grant RGPIN 35586, the NSF grant CCF0830734, and the Fields Institute for Research in Mathematical Sciences, Toronto, Canada.
References
 1.Aloupis, G.: A history of lineartime convex hull algorithms for simple polygons. http://cgm.cs.mcgill.ca/~athens/cs601/
 2.Arkin, E.M., Mitchell, J.S.B., Piatko, C.D.: Minimumlink watchman tours. Inf. Process. Lett. 86, 203–207 (2003) CrossRefMATHMathSciNetGoogle Scholar
 3.Bereg, S., Bose, P., Dumitrescu, A., Hurtado, F., Valtr, P.: Traversing a set of points with a minimum number of turns. Discrete Comput. Geom. 41(4), 513–532 (2009) CrossRefMATHMathSciNetGoogle Scholar
 4.Brönnimann, H., Chan, T.M.: Spaceefficient algorithms for computing the convex hull of a simple polygonal line in linear time. Comput. Geom. 34, 75–82 (2006) CrossRefMATHMathSciNetGoogle Scholar
 5.Chazelle, B.: Triangulating a simple polygon in linear time. Discrete Comput. Geom. 6, 485–524 (1991) CrossRefMATHMathSciNetGoogle Scholar
 6.Chvátal, V., Klincsek, G.: Finding largest convex subsets. Congr. Numer. 29, 453–460 (1980) MathSciNetGoogle Scholar
 7.Collins, M.J., Moret, M.E.: Improved lower bounds for the link length of rectilinear spanning paths in grids. Inf. Process. Lett. 68, 317–319 (1998) CrossRefMathSciNetGoogle Scholar
 8.Collins, M.J.: Covering a set of points with a minimum number of turns. Int. J. Comput. Geom. Appl. 14(1–2), 105–114 (2004) CrossRefMATHGoogle Scholar
 9.Demaine, E.D., O’Rourke, J.: Open problems from CCCG 2010. In: Proc. 23rd Canadian Conf. Comput. Geom., Toronto, ON, pp. 153–156 (2011) Google Scholar
 10.Erdős, P., Szekeres, G.: A combinatorial problem in geometry. Compos. Math. 2, 463–470 (1935) Google Scholar
 11.Erdős, P., Szekeres, G.: On some extremum problems in elementary geometry. Ann. Univ. Sci. Bp. 3–4, 53–62 (1960–1961) Google Scholar
 12.EstivillCastro, V., Heednacram, A., Suraweera, F.: NPcompleteness and FPT results for rectilinear covering problems. J. Univers. Comput. Sci. 15, 622–652 (2010) MathSciNetGoogle Scholar
 13.Fulek, R., Keszegh, B., Morić, F., Uljarević, I.: On polygons excluding point sets. Graphs Comb. 29(6), 1741–1753 (2013) CrossRefGoogle Scholar
 14.Jiang, M.: On covering points with minimum turns. In: Frontiers in Algorithmics and Algorithmic Aspects in Information and Management—Joint International Conference (FAWAAIM). LNCS, vol. 7285, pp. 58–69. Springer, Berlin (2012) CrossRefGoogle Scholar
 15.Kranakis, E., Krizanc, D., Meertens, L.: Link length of rectilinear Hamiltonian tours in grids. Ars Comb. 38, 177–192 (1994) MATHMathSciNetGoogle Scholar
 16.Loyd, S.: Cyclopedia of Puzzles. The Lamb, Lincoln (1914) Google Scholar
 17.Matoušek, J.: Lectures on Discrete Geometry. Springer, New York (2002) CrossRefMATHGoogle Scholar
 18.Melkman, A.: Online construction of the convex hull of a simple polygon. Inf. Process. Lett. 25(1), 11–12 (1987) CrossRefMATHMathSciNetGoogle Scholar
 19.Mitchell, J.S.B.: Geometric shortest paths and network optimization. In: Sack, J.R., Urrutia, J. (eds.) Handbook of Computational Geometry, pp. 633–701. Elsevier, Amsterdam (2000). Chap. 15 CrossRefGoogle Scholar
 20.Morić, F.: In: Separating and Covering Points in the Plane, Communication at the Open Problem Session, 22nd Canadian Conf. Comput. Geom., Winnipeg, MB (2010) Google Scholar
 21.Morić, F.: Covering points by a polygonal line. In: Gremo’s Workshop on Open Problems, Problem Booklet, Wergenstein, Switzerland (2011) Google Scholar
 22.Preparata, F.P., Shamos, M.I.: Computational Geometry: an Introduction. Springer, New York (1985) CrossRefGoogle Scholar
 23.Stein, C., Wagner, D.P.: Approximation algorithms for the minimum bends traveling salesman problem. In: ICALP. LNCS, vol. 2081, pp. 406–421 (2001) Google Scholar
 24.Welzl, E.: In: Communication at the 9th Gremo’s Workshop on Open Problems, Wergenstein, Switzerland (2011) Google Scholar