Long non-crossing configurations in the plane

Similar documents
Divide-and-Conquer. Reading: CLRS Sections 2.3, 4.1, 4.2, 4.3, 28.2, CSE 6331 Algorithms Steve Lai

Lecture 6 January 15, 2014

Bichain graphs: geometric model and universal graphs

THE BALANCED DECOMPOSITION NUMBER AND VERTEX CONNECTIVITY

Discrete Geometry. Problem 1. Austin Mohr. April 26, 2012

On stars and Steiner stars. II

SVETLANA KATOK AND ILIE UGARCOVICI (Communicated by Jens Marklof)

Faster Algorithms for some Optimization Problems on Collinear Points

On stars and Steiner stars

12-neighbour packings of unit balls in E 3

Covering the Convex Quadrilaterals of Point Sets

Anchored Rectangle and Square Packings

Computing a Minimum-Dilation Spanning Tree is NP-hard

A Decomposition Theorem on Euclidean Steiner Minimal Trees

Genetic Algorithms applied to Problems of Forbidden Configurations

IN this paper we study a discrete optimization problem. Constrained Shortest Link-Disjoint Paths Selection: A Network Programming Based Approach

A Randomized Rounding Approach to the Traveling Salesman Problem

Improved Approximation Bounds for Planar Point Pattern Matching

MAT 3271: Selected solutions to problem set 7

Partial cubes: structures, characterizations, and constructions

International Mathematics TOURNAMENT OF THE TOWNS

arxiv: v1 [cs.cg] 16 May 2011

Efficient Reassembling of Graphs, Part 1: The Linear Case

(x 1, y 1 ) = (x 2, y 2 ) if and only if x 1 = x 2 and y 1 = y 2.

On stars and Steiner stars. II

Sydney University Mathematical Society Problems Competition Solutions.

Computing a Minimum-Dilation Spanning Tree is NP-hard

The variance for partial match retrievals in k-dimensional bucket digital trees

#A50 INTEGERS 14 (2014) ON RATS SEQUENCES IN GENERAL BASES

Stable periodic billiard paths in obtuse isosceles triangles

The Chromatic Number of Ordered Graphs With Constrained Conflict Graphs

2016 EF Exam Texas A&M High School Students Contest Solutions October 22, 2016

2015 Canadian Team Mathematics Contest

Decompositions of graphs into cycles with chords

Integrated Math II. IM2.1.2 Interpret given situations as functions in graphs, formulas, and words.

9th Bay Area Mathematical Olympiad

Perfect matchings in highly cyclically connected regular graphs

Bringing Order to Special Cases of Klee s Measure Problem

Graph Classes and Ramsey Numbers

On covering problems of Rado

Claw-free Graphs. III. Sparse decomposition

Approximation Algorithms for Asymmetric TSP by Decomposing Directed Regular Multigraphs

Out-colourings of Digraphs

A Pair in a Crowd of Unit Balls

1 Caveats of Parallel Algorithms

Foundations of Neutral Geometry

Shortest paths with negative lengths

34 th United States of America Mathematical Olympiad

Generating p-extremal graphs

ON COST MATRICES WITH TWO AND THREE DISTINCT VALUES OF HAMILTONIAN PATHS AND CYCLES

A Decidable Class of Planar Linear Hybrid Systems

Depth versus Breadth in Convolutional Polar Codes

Solutions to Exercises Chapter 10: Ramsey s Theorem

EVALUATIONS OF EXPECTED GENERALIZED ORDER STATISTICS IN VARIOUS SCALE UNITS

arxiv: v1 [cs.fl] 24 Nov 2017

Theorem (Special Case of Ramsey s Theorem) R(k, l) is finite. Furthermore, it satisfies,

Minimizing a convex separable exponential function subject to linear equality constraint and bounded variables

Exercises for Unit I I I (Basic Euclidean concepts and theorems)

Graph Theorizing Peg Solitaire. D. Paul Hoilman East Tennessee State University

Boundary of the Set of Separable States

< k 2n. 2 1 (n 2). + (1 p) s) N (n < 1

40th International Mathematical Olympiad

Optimal Routing in Chord

The Minimum Rank, Inverse Inertia, and Inverse Eigenvalue Problems for Graphs. Mark C. Kempton

37th United States of America Mathematical Olympiad

HAMILTONIAN PROPERTIES OF TRIANGULAR GRID GRAPHS. 1. Introduction

The three-dimensional matching problem in Kalmanson matrices

THE CLASSIFICATION OF TOROIDAL DEHN SURGERIES ON MONTESINOS KNOTS. Ying-Qing Wu 1

Notes on Complex Analysis

Packing Congruent Bricks into a Cube

Chordality and 2-Factors in Tough Graphs

Topic 2 [312 marks] The rectangle ABCD is inscribed in a circle. Sides [AD] and [AB] have lengths

arxiv: v1 [cs.dm] 26 Apr 2010

16 circles. what goes around...

Drawing Hamiltonian cycles with no large angles

Upper Bounds for Stern s Diatomic Sequence and Related Sequences

(D) (A) Q.3 To which of the following circles, the line y x + 3 = 0 is normal at the point ? 2 (A) 2

45. The Parallelogram Law states that. product of a and b is the vector a b a 2 b 3 a 3 b 2, a 3 b 1 a 1 b 3, a 1 b 2 a 2 b 1. a c. a 1. b 1.

1. Vectors and Matrices

arxiv: v1 [math.co] 24 Oct 2017

Voronoi Diagrams for Oriented Spheres

Properties and Recent Applications in Spectral Graph Theory

A Geometric Approach to Carlitz-Dedekind Sums

On improving matchings in trees, via bounded-length augmentations 1

SOLUTIONS FOR ADMISSIONS TEST IN MATHEMATICS, COMPUTER SCIENCE AND JOINT SCHOOLS WEDNESDAY 31 OCTOBER 2018

Partial characterizations of clique-perfect graphs II: diamond-free and Helly circular-arc graphs

15.1 Matching, Components, and Edge cover (Collaborate with Xin Yu)

Determinants of generalized binary band matrices

The CENTRE for EDUCATION in MATHEMATICS and COMPUTING cemc.uwaterloo.ca Euclid Contest. Wednesday, April 15, 2015

Existence Postulate: The collection of all points forms a nonempty set. There is more than one point in that set.

The Incomplete Perfect Phylogeny Haplotype Problem

Dispersing Points on Intervals

MA 323 Geometric Modelling Course Notes: Day 11 Barycentric Coordinates and de Casteljau s algorithm

TWO TO ONE IMAGES AND PFA

Claw-Free Graphs With Strongly Perfect Complements. Fractional and Integral Version.

CS/COE

Classical Complexity and Fixed-Parameter Tractability of Simultaneous Consecutive Ones Submatrix & Editing Problems

On Empty Convex Polygons in a Planar Point Set

ANSWERS STUDY GUIDE FOR THE FINAL EXAM CHAPTER 1

Definitions, Axioms, Postulates, Propositions, and Theorems from Euclidean and Non-Euclidean Geometries by Marvin Jay Greenberg

Transcription:

Long non-crossing configurations in the plane Adrian Dumitrescu Csaa D. Tóth July 4, 00 Astract We revisit some maximization prolems for geometric networks design under the non-crossing constraint, first studied y Alon, Rajagopalan and Suri (ACM Symposium on Computational Geometry, 993). Given a set of n points in the plane in general position (no three points collinear), compute a longest non-crossing configuration composed of straight line segments that is: (a) a matching, () a Hamiltonian path, and (c) a spanning tree. We otain some new results for () and (c), as well as for the Hamiltonian cycle prolem: (i) For the longest non-crossing Hamiltonian path prolem, we give an approximation algorithm with ratio π+ 0.489. The previous est ratio, due to Alon et al., was π 0.383. The ratio of our algorithm is close to π 0.6366 on a relatively road class of instances: for point sets whose perimeter (or diameter) is much shorter than the maximum length matching. For instance random point sets meet the condition with high proaility. The algorithm runs in O(n 7/3 log n) time. (ii) For the longest non-crossing spanning tree prolem, we give an approximation algorithm with ratio 0.50 which runs in O(n log n) time. The previous ratio, /, due to Alon et al., was achieved y a quadratic time algorithm. Along the way, we first re-derive the result of Alon et al. with a faster algorithm and a very simple analysis. (iii) For the longest non-crossing Hamiltonian cycle prolem, we give an approximation algorithm whose ratio is close to /π on a relatively road class of instances: for point sets where the product diameter convex hull size is much smaller than the maximum length matching. Again random point sets meet the condition with high proaility. However, this algorithm does not come with a constant approximation guarantee for all instances. The algorithm runs in O(n 7/3 log n) time. No previous approximation results were known for this prolem. Introduction Crossing edges in geometric graphs are undesirale in most cases. Many structures studied in computational geometry, in particular those of minimum Euclidean length, are automatically crossing-free. Such examples include minimum spanning trees, minimum length matchings, minimum traveling salesman tours, Voronoi diagrams, and others. The non-crossing property usually follows from the triangle inequality. A preliminary version of this paper appeared in the Proceedings of the 7th International Symposium on Theoretical Aspects of Computer Science (STACS 00), Nancy, France, March 00, pp. 99 30. Department of Computer Science, University of Wisconsin Milwaukee, USA. Email: dumitres@uwm.edu. Supported in part y NSF CAREER grant CCF-044488. Part of the research y this author was done at Ecole Polytechnique Fédérale de Lausanne. Department of Mathematics and Statistics, University of Calgary, AB, Canada. Email: cdtoth@ucalgary.ca. Supported in part y NSERC grant RGPIN 35586. Part of the research y this author was done at Tufts University.

Alon et al. [3] have considered the prolems of computing (i) the longest non-crossing matching, (ii) the longest non-crossing Hamiltonian path and (iii) the longest non-crossing spanning tree, given n points in the plane. Although they were unale to prove it, they suspected that all these prolems are NP-hard. The survey articles y Eppstein [0, pp. 439] and Mitchell [7, pp. 680] list these as open prolems in the area of geometric network optimization. The prolem of approximating the maximum non-crossing Hamiltonian cycle is also of interest and wide open [5, pp. 338]. Without the non-crossing condition explicitly enforced, the prolems of minimizing or maximizing the length of a spanning tree, Hamiltonian cycle or path, perfect matching, triangulation, etc. has a rich history. For minimization prolems, the non-crossing property comes usually for free via the triangle inequality. For maximization prolems, however, the non-crossing property conflicts directly with the length maximizing ojective. Not surprisingly, much less is known aout the crossing-free maximization prolems. Related work. The existence of non-crossing Hamiltonian paths and cycles in geometric graphs has een studied in [, 6]. Various Ramsey-type results for non-crossing spanning trees, paths and cycles have een otained in [4] and [5]. The Euclidean MAX TSP, the prolem of computing a longest straight-line tour of a set of points, has een proven NP-hard in dimensions three or higher [], while its complexity in the Euclidean plane remains open [7]. In contrast, the shortest non-crossing matching and the shortest non-crossing spanning tree are oth computale in polynomial time [0, 7], as they coincide with the shortest matching and the shortest spanning tree respectively. Given a set of n points in general position in the plane, the results of Alon et al. are as follows: (i) A non-crossing matching whose total length is at least /π of the longest (possily crossing) matching can e computed in O(n 7/3 log n) time. (ii) A non-crossing Hamiltonian path whose total length is at least /π of the longest (possily crossing) Hamiltonian path can e computed in O(n 7/3 log n) time. (iii) A non-crossing spanning tree whose total length is at least n/(n ) / of the longest (possily crossing) spanning tree can e computed in O(n ) time. Their original results mention somewhat higher running times for (i) and (ii), which were ased on the est upper ound at that time on the numer of halving lines of a set of n points. The running times have een adjusted to reflect the current est upper ound of O(n 4/3 ) on the numer of halving lines as estalished y Dey [7]. Alon et. al. mention that their techniques can e applied to achieve constant factor approximations for the longest triangulation, and the longest ounded-degree spanning tree on n points in the plane, although they do not provide explicit ounds. Definitions and notations. A geometric graph G is a pair (V,E) where V is a finite set of points in general position in the plane, and E is a set set of segments (edges) connecting points in V. The length of G, denoted L(G), is the sum of the Euclidean lengths of all edges in G. The graph G is said to e non-crossing if its edges have pairwise disjoint interiors (collinear triples of points are foridden in order to avoid overlapping collinear edges). For a point set S, let conv(s) e the convex hull of S, and let P = P(S) denote the perimeter of conv(s). Denote y D = D(S) the diameter of S and write n = S. Let M OPT e a maximum (possily crossing) matching of S, and let MOPT e a longest non-crossing matching of S; oserve that for odd n, M OPT is a nearly perfect matching, with (n )/ edges. Let H OPT e a maximum (possily crossing) Hamiltonian path of S, and let HOPT e a longest non-crossing Hamiltonian path of S. Let T OPT e a maximum (possily crossing) spanning tree of S, and let TOPT e a longest Throughout this paper, a set S of points in the plane is said to e in general position if no three points are collinear.

non-crossing spanning tree of S. Finally, let Q OPT e a maximum (possily crossing) Hamiltonian cycle of S, and let Q OPT e a longest non-crossing Hamiltonian cycle of S. The following inequalities are ovious: L(M OPT ) L(H OPT ) L(T OPT ). Let S e a set of n points in general position in the plane. We represent the direction of a line with the angle α [0,π) it makes with the x-axis. A supporting line l of two points of S is called a halving line if there are (n )/ and (n )/ points, respectively, in the two open halfplanes ounded y l [6]. A isecting line l of S is any line that partitions the point set evenly, i.e., neither of the two open halfplanes defined y l contains more than n/ points of S [8]. Oserve that any halving line of S is also a isecting line of S. Any isecting line of S yields (perhaps non-uniquely) a ipartition S = R B, with R B =, R B, with R contained in one of the closed halfplanes determined y l, and B contained in the other. We call S = R B a linearly separale ipartition, or alanced partition of S. Oserve that for any direction α [0,π), there is a isecting line of direction α (c.f. [8, Lemma 4.4]). Two isecting lines are called equivalent if they can yield the same alanced partition of S. It is well known that the numer of non-equivalent isecting lines of a set is of the same order as the numer of halving lines of the set, and any alanced ipartition can e otained from a halving line [8, pp. 67]. For a polygon P, let V (P) denote the set of vertices of P. For a geometric graph G = (V,E) and a point q / V such that V {q} is in general position, we say that q sees a vertex v V if the segment qv does not intersect any edge of G. We also say that q sees an edge e E, if the triangle formed y v and e does not intersect any other edge of G. Our results. In this paper we further refine the results of Alon et al. regarding non-crossing Hamiltonian paths and spanning trees, and otain a new result for Hamiltonian cycles. Our results are summarized in the following three theorems. Theorem. For a set S of n points in general position in the plane: (i) One can compute a non-crossing Hamiltonian path H of length L(H) π+ L(H OPT) in O(n 7/3 log n) time if n 3. In particular, this yields an approximation algorithm with ratio π+ 0.489 for the longest non-crossing Hamiltonian path prolem. (ii) One can compute a non-crossing Hamiltonian path H of length L(H) π L(H OPT) P π in O(n 7/3 log n) time. In particular, if the point set satisfies the condition P π δl(h OPT) for some small δ > 0, then L(H) ( π δ)l(h OPT). (iii) Alternatively, one can compute a non-crossing Hamiltonian path H of length L(H) ( ε) π L(H OPT) P π in O(n log n/ ε) time. Theorem. For a set S of n points in general position in the plane: One can compute a noncrossing spanning tree T of length L(T) 0.50 L(T OPT ) in O(n log n) time. In particular, this yields an approximation algorithm with ratio 0.50 for the longest non-crossing spanning tree prolem. Although our improvement in the approximation ratio for spanning trees is very small, it shows that the arrier of / can e roken. Also, while from a practical standpoint the improvement in the running time is the most significant aspect, from a theoretical perspective the improvement in the approximation ratio is the most challenging part of our result. Theorem 3. For a set S of n points in general position in the plane, with conv(s) = h: (i) One can compute a non-crossing Hamiltonian cycle Q of length L(Q) π L(Q OPT) (h ) P π in O(n7/3 log n) time. In particular, if the point set satisfies the condition (h ) P π δl(q OPT ) for some small δ > 0, then L(Q) ( π δ) L(Q OPT ). 3

(ii) Alternatively, one can compute a non-crossing Hamiltonian cycle Q of length L(Q) π L(Q OPT) (h + ) P π in O(n3 log n) time. (iii) Alternatively, one can compute a non-crossing Hamiltonian cycle Q of length L(Q) ( ε) π L(Q OPT) (h ) P π in O(n log n/ ε) time. In the formulation of Theorem, it may e convenient to replace the condition P π δl(h OPT) y the condition P π δl(m OPT), as the latter can e tested in polynomial time. Similarly, in the formulation of Theorem 3, it may e convenient to replace the condition (h ) P π δl(q OPT) y the condition (h ) P π δl(m OPT). The Hamiltonian path In this section we prove Theorem. Let S = {p,...,p n }. We follow an approach similar to that of Alon et al. using projections and an averaging argument, in conjunction with a result on ipartite emeddings of spanning paths in the plane. Aellanas et al. [, Theorem 3.] showed that every linearly separale alanced ipartition S = R B with R B, admits an alternating noncrossing spanning path such that the edges cross a separating line l at points ordered monotonically along l, as in Fig.. Such a Hamiltonian path can e computed in O(n log n) time. The alternating path depends only on the ipartition rather than the separating line. We now recall the algorithm of Aellanas et al. []; see Fig. for an example. Let S = R B with R B e the red-lue ipartition given y a vertical line l: R on the left, B on the right. Their algorithm constructs an alternating path A in the following way: Let r e the top red-lue edge of the convex hull conv(s), called the top ridge. If R > B, set A := {r}, if R < B, set A := {}, else set A to {r} or {} aritrarily. At every step, recompute the top ridge r of S \ A, and add r to A if the last point in A was lue, or add to A if the last point in A was red. As pointed out y the authors, the resulting path A is non-crossing ecause A is disjoint from the convex hull of S \ A at each step. Note that the constructed path A is not necessarily the longest non-crossing alternating path across l. r R B l Figure : A non-crossing alternating spanning path. We improve the lower ound of Alon et al. y computing two long paths, and returning the longest of the two. More technical details on this algorithm, A, will e provided later.. Compute a Hamiltonian path, say H, of length at least the perimeter of conv(s).. For each linearly separale ipartition of S (given y a line l), compute a non-crossing alternating Hamiltonian path using []. Let H e the longest Hamiltonian path found in this way. 3. Return the longest of the two paths, H and H. 4

Step uses the algorithm of Aellanas et al. [], ut ut any algorithm that generates a noncrossing alternating path (across the separating line) could e used. The following lemma justifies the first step in our algorithm. Lemma. Given a point set S with S = n 3, a non-crossing Hamiltonian path H of length at least P(S) can e computed in O(n log n) time. The ound on the length is est possile. Proof. We distinguish two cases ased on the numer of points in the interior of conv(s). Case : There is at most one point in the interior of conv(s). We first construct a Hamiltonian path on the convex hull vertices, and if there is one point in the interior of conv(s), then we later expand it to a Hamiltonian path of S. For the hull vertices, we construct a Hamiltonian path from the convex hull (which is a Hamiltonian cycle) y deleting two edges and adding a diagonal (Fig., left). a c d a c d e e s Figure : Constructing a Hamiltonian path of length at least P(S), Case. Left: we otain a Hamiltonian path from conv(s) y deleting a and de, and adding e. Right: replacing e with the path (s, se). Since S contains at least 3 points, there are at least 30 points on the convex hull conv(s). The sum of (interior) angles of conv(s) is at least (30 )π, hence y averaging, there exist five consecutive hull vertices, whose interior angles sum to at least (5 3 )π. Let f i, 0 i 5, e the six hull edges incident to these five consecutive vertices in clockwise order. We may assume, y applying a reflection is necessary, that a shortest edge among these six edges is one of f 0,f,f. Let a {f 0,f,f } denote a shortest edge, and let c, cd, and de e the next three edges in clockwise order. For further reference, we have chosen four consecutive edges, a, c, cd, and de, such that a min( c, cd, de ) and cd + cde ( 3 ) π. () We construct a Hamiltonian path for the hull vertices y deleting edges a and de from conv(s), and adding the diagonal e (Fig., left). If there is one point s S in the interior of conv(s), then it sees e, and we expand this path to a Hamiltonian path of S y replacing e with the path (s,se) (Fig., right). c p d C e c p d C e c p = d C e Figure 3: Left: points, c, d and e, within a circular segment ounded y C. Middle: point p is on the circular arc C. Right: c = cd and p = d. Since L(conv(S)) = P(S), in order to show that we have constructed a Hamiltonian path of length at least P(S), it is enough to show that e a + de. Assume that points and e are fixed, 5

and we vary points a, c, and d to maximize a + de suject to the constraints (). Refer to Fig. 3. Let p e the intersection point of lines c and de. It follows from () that pcd + pdc π 3, hence pe π 3, so p lies within the circular segment ounded y the circle C = {z R : ze = 3 π} (Fig. 3, left). If a + de is maximal, then p C (Fig. 3, middle). Since a min( c, cd ), for any fixed p C, the sum a + de is maximal if a = c = cd. For a fixed p C, the sum a + de is maximal if p = d and c is the midpoint of p (Fig. 3, right). We apply the cosine law for the triangle pe with pe = 3π: Letting e =, x = de and y = a = c = cd, we otain p + ep p ep cos π 3 = x + xy + 4y =. Equivalently, (x + y) + 3y =, hence a + de = x + y = e, with equality for y = 0. Case : There are at least two points in the interior of conv(s). In this case, we construct a Hamiltonian path that contains all ut one of the edges of conv(s). Let a, S e two points in the interior of conv(s). We first construct a Hamiltonian path for all hull vertices and for a,; and then expand it to pass through any other point in the interior of conv(s). Let cd e a hull edge crossed y the ray a (Fig. 4(i)); oserve that acd. We construct a non-crossing Hamiltonian path for the hull vertices and a, y deleting cd from the convex hull and replacing it either with ac and d or with ad and c. The triangle inequality implies cd < ac + ad and cd < c + d, and so cd < max( ac + d, ad + c ). That is, with one of the two possile choices, we otain a Hamiltonian path of length at least P(S). q c a a a s s 0 s 3 s d c d c e d e r (i) (ii) (iii) (iv) s 4 p Figure 4: Constructing a path of length at least P(S), Case. (i) points a,, c, and d. (ii) The sudivision of the interior of conv(s). (iii) Extending the Hamiltonian path to other points. (iv) Sweeping triangle pqr aout vertex q. Suppose that more than two points in S are in the interior of conv(s). Let e denote the intersection point of segment cd and ray a. Assume without loss of generality that we have added the edges ac and d. Sudivide the interior of conv(s) into triangles as follows: Connect every hull vertex to a, and sudivide acd into two triangles, ace and ade (Fig. 4(ii)). Assign the hull edges of the Hamiltonian path to the adjacent triangle (with one vertex at a), assign edge ac to ace, and assign edge d to ade. We expand each edge of the current path to a path that passes through all vertices lying in the triangle assigned to that edge (Fig. 4(iii)). Each triangle pqr in the sudivision is assigned to an edge ps 0 connecting a vertex p to a point s 0 qr on the opposite side (Fig. 4(iv)), where ps 0 may e pr. Order the points lying in pqr y a radial sweep aout vertex q, sweeping from qs 0 to qp. Denoting the points in the interior of pqr y s,s,...,s t, for some t 0, in this order, we can replace edge s 0 p y the path (s 0,s,...,s t,p). This path is non-crossing, it lies entirely in pqr, and its length is at least that of ps 0. Lower ound construction. To see that the ound is est possile, consider a point configuration with a diameter pair a,, where a =, and all the other n points placed in a small ε- 6

neighorhood of the midpoint of a. Both, the length of the maximum Hamiltonian path (even with crossings allowed), and the perimeter of the convex hull are aritrarily close to, if n 4 and ε > 0 is sufficiently small. We make use of the fact that if n is even then the two endpoints of an alternating path are on opposite sides of the separating line l. If n is odd, we first construct an alternating path for a specific suset of n points, and then augment it to a Hamiltonian path on all n points using the following lemma. Lemma. Let S = R B with R B, e a linearly separale ipartition given y line l. Let q S, and A e a non-crossing alternating path on S \ {q} such that its (consecutive) edges cross l at points ordered monotonically along l. Then q sees one edge of A. Hence A can e extended to a Hamiltonian path H on S, with L(A) < L(H). The path H can e computed in O(n) time. Proof. Compute the visiility polygon of q, the oundary of all points visile from q if the path A is opaque. Let V e the set of edges of path A that appear on the oundary of the visiility polygon, that is, the edges that are (partially) visile from q. Consider the directed graph G = (V,E), where (e,f) E if e locks the total visiility of f from q, that is, there is a point r f such that an endpoint of e lies in the relative interior of qr. The visiility polygon of q and the graph G can e computed in O(n) time [4, pp. 844], [8, pp. 650]. If G is acyclic, then there is a node of in-degree 0, that is, an edge e of A partially visile from q and not locked y any other edge of A. Hence, the edge e is entirely visile from q. In the rest of the proof, we show that G is acyclic. e 5 e p q a e e 3 = e k e 4 Figure 5: Point q partially sees edges e,..., e 5 that cyclically lock one another. The visiility polygon of q is shaded gray. The point visile from q and lying directly aove q is p e. The isecting line l crosses e at a. One component of the intersection of l and the visiility polygon of q is segment a, with e k. Suppose to the contrary that G has a directed cycle (e,e,...,e m ) where e i locks the total visiility of e i+. Refer to Fig. 5. Each edge has a counterclockwise first and second endpoint as viewed from q. Since each edge in the cycle locks another edge, exactly one endpoint of each e i is visile to q. If the first (resp., second) endpoint of e i is not visile to q, then the same holds for e i+, for i =,,...,m. Assume, y applying a reflection if necessary, that q sees the first endpoint of each e i, ut not the second one. Consider a coordinate system in which the isecting l is vertical. Assume, y applying a central symmetry aout q if necessary, that q lies in the closed halfplane left of l. Let p denote the point of A visile from q directly aove q. Assume without loss of generality that p e. The counterclockwise first endpoint of e is its right endpoint. Hence, the portion of e etween its right endpoint and p is visile from q. Since l crosses e to the right of q, the intersection point a = l e is also l 7

visile from q. Let segment a e a maximal continuous portion of l visile from q (that is, a is a component of the intersection of l with the visiility polygon of q). Since the visiility of q is ounded y edges of the cycle in any direction, we have e k for some < k m. The path A cannot intersect l etween a = l e and = l e k, and so e and e k are consecutive edges of A, that is, e and e k are adjacent. Note that the lower side of e and the upper side of e k are visile from q. The edge of A incident to the counterclockwise first (i.e., right) endpoint of e must cross l aove a. Similarly, the counterclockwise first endpoint of e k is its left endpoint and the edge of A incident to it must cross l elow. Hence the common endpoint of e and e k can only e the left endpoint of e and the right endpoint of e k. These endpoints, however, are different: they are on opposite sides of l. We have reached a contradiction, so we conclude that G is acyclic. Fix a Cartesian coordinate system Γ. By relaeling the points if necessary, assume that the optimal path is H OPT = (p,p,...,p n ). For two points p i,p j S, let β i,j e the angle in [0,π) formed y the line through p i p j and the x-axis. If n is odd, then a isecting line of direction α (for any α) must e incident to at least one point of S, and denote an aritrary such point y q α. Algorithm A: Step. Compute a non-crossing Hamiltonian path H of length at least P(S), y Lemma. Step. If n is even, then for all non-equivalent isections of S (i.e., for all alanced ipartitions of S), compute a non-crossing alternating path using the algorithm of Aellanas et al. [], and let the longest such path e H. If n is odd, then for all non-equivalent isections of S, compute a non-crossing alternating path of the even point set S \ {q α } using the algorithm of [] and let the longest such path e A. Augment A with vertex q α y Lemma to a Hamiltonian path H. Step 3. Output the longest of the two paths H and H. By Lemma, the running time of Step is O(n log n). Since the numer of halving lines of an n-element point set is O(n 4/3 ) and all can e generated within this time [7], the running time of Step is O(n 7/3 log n), consequently the total running time of A is also O(n 7/3 log n). We proceed with the analysis of the approximation ratio. Assume first that n is even. For each α [0,π), let Γ α e a (rotated) coordinate system, otained from Γ via a counterclockwise rotation y α, and with the y-axis dividing evenly the point set S. Let x i = x i (α) e the x-coordinate of point p i with respect to Γ α. Let H α e a non-crossing alternating path with respect to a alanced ipartition induced y the y-axis of Γ α, as computed y the algorithm. See Fig. 6 for a small example. Γ Γ α y p 3 p p 4 x p Figure 6: The rotated coordinate system Γ α and a non-crossing alternating spanning path H α = (p, p 3, p 4, p ). Notice that L(H α ) x σ() + x σ() + x σ(3) + x σ(4) = x + x 3 + x 4 + x. A longest spanning path is H OPT = (p, p, p 3, p 4 ). There are O() alanced ipartitions given y any halving line of S. Recall that H α does α 8

not depend continuously on α; it depends only on the discrete ipartition. Assume that H α = (p σ(),p σ(),...,p σ(n) ), where σ is a permutation of [n]; here σ depends on the ipartition (hence also on α). Let W α denote the width of S in direction α, that is, the width of the smallest parallel strip of direction α that contains S. Since H α alternates etween the two sides of the y-axis of Γ α, y projecting on the x-axis of Γ α, we get L(H α ) x σ() + x σ() +... + x σ(n ) + x σ(n) = x i x σ() x σ(n) = n ( x j + x j+ ) + x + x n x σ() x σ(n) j= n ( x j + x j+ ) W α j= n p j p j+ cos(β j,j+ α) W α. () j= In the 4th line of the aove chain of inequalities, we use the fact that p σ() and p σ(n) lie on opposite sides of the the y-axis of Γ α since n is even. Hence x σ() + x σ(n) p σ() p σ(n) W α. In the 5th line, we make use of the following inequality, which is the key property in the approach used y Alon et al. in their approximation algorithm for finding large non-crossing matchings: For any two points p i,p j S, p i p j cos(β i,j α) x i + x j, with equality if and only if the two points lie on opposite sides of the y-axis of Γ α. Assume now that n is odd. The coordinate system Γ α is defined in the same way. For a given α, let H α e a non-crossing alternating path with respect to a alanced ipartition of S \ {q α}, as computed y the algorithm. Let σ e the permutation of [n], such that H α = (p σ(),p σ(),...,p σ(n ) ) and p σ(n) = q α. Let H α e the Hamiltonian path otained from H α y augmenting it with p σ(n). Here x σ(n) = 0 since p σ(n) = q α is incident to the isecting line. L(H α ) > L(H α) x σ() + x σ() +... + x σ(n ) + x σ(n ) n = x σ(i) x σ() x σ(n ) = x i x σ() x σ(n ) n ( x j + x j+ ) W α j= n p j p j+ cos(β j,j+ α) W α. (3) j= We again have x σ() + x σ(n ) W α ecause n is even, thus p σ() and p σ(n ) lie on opposite sides of the isecting line. Thus in oth cases, L(H α ) n j= p jp j+ cos(β j,j+ α) W α. Recall: for even n, H is the longest of the O(k) Hamiltonian non-crossing paths H αi over all O(k) alanced ipartitions of 9

S. (A given angle α i yields O() alanced partitions, and corresponding alternating paths denoted here H αi.) The situation is similar for odd n. We thus also have for each α [0,π): Note that n L(H ) p j p j+ cos(β j,j+ α) W α. π 0 j= cos(β j,j+ α) dα = π 0 cos α dα =, and according to Cauchy s surface area formula [], we have π 0 W α dα = P(S). By integrating oth sides of the previous inequality over the α-interval [0,π], we otain n πl(h ) p j p j+ P(S) = L(H OPT ) P(S), j= L(H ) π L(H OPT) P(S) π. (4) We now improve the old approximation ratio of π 0.383 to π+ 0.489, y alancing the lengths of the two paths computed in Step and Step. Set c = π+. Case : L(H OPT ) cp(s). By considering the path computed in Step, we get a ratio of at least L(H ) L(H OPT ) P(S) L(H OPT ) P(S) cp(s) = π +. Case : L(H OPT ) cp(s). By considering the path computed in Step (inequality (4)), we get a ratio of at least L(H ) L(H OPT ) π L(H OPT) π P(S) L(H OPT ) π cπ = ( ) = π π + π +. Oserve that if the point set satisfies the condition P(S) π δl(h OPT ), then y (4), we have L(H) ( ) π L(H OPT) δl(h OPT ) = π δ L(H OPT ). This concludes the proofs of parts (i) and (ii) of Theorem. (iii) With the same approach as in [3], a Hamiltonian path of length at least ( ε) π L(H OPT) P(S) π can e found y considering only / ε angles θ i = iπ ε, for i = 0,,..., / ε, where is a suitale asolute constant. The resulting running time is O(n log n/ ε). This concludes the proof of Theorem. For an example illustrating part (ii), consider a set of n random points uniformly selected in a convex region, say of unit diameter. Then with high proaility L(M OPT ) = Ω(n), thus also L(H OPT ) = Ω(n). Since P(S) π, we have P(S) π δl(h OPT ) with high proaility, for a very small δ = Θ(/n). Thus according to inequality (4), the path returned y A is a (/π o()) approximation of the optimal path for random point instances. Remark. Lemma applies for n 3 only. In the range 7 n 30, one can use a slightly different alancing argument showing that there is a non-crossing Hamiltonian path of length at least D, where D = D(S) is the diameter of the point set S. Then in inequalities () and (3), we can use the diameter D instead of the width W α of S in direction α. This approach, however, leads to a smaller approximation ratio, 4 3π 0.444. 0

3 The spanning tree In this section we prove Theorem. Let S = {p,...,p n }, where p i = (x i,y i ). Given a point p S, the star centered at p, denoted S p, is the spanning tree on S whose edges join p to all the other points. Since S is in general position, S p is non-crossing for any p S. An extended star centered at p is a spanning tree of S consisting of paths of length or (edges) connecting p to all the other points. See Fig. 7. While the star centered at a point is unique, there may e many extended stars centered at the same point, and some of them may e self-crossing. In particular S p is also an extended star. p p Figure 7: A star (left) and a non-crossing extended star (right) on a same point set, oth centered at the same point p. The algorithm of Alon et al. computes the n stars centered at each of the points, and then outputs the maximum one. The algorithm takes quadratic time, and the analysis shows a ratio of n n (which tends to / in the limit). Their algorithm works in any metric space. As pointed out y Alon et al., the ratio / is est possile (in the limit) for this specific algorithm. We first re-estalish the / approximation ratio using a faster algorithm, and also with a simpler analysis. Our algorithm works also in any metric space (however in this general setting, the running time remains quadratic). Algorithm A: Compute a diameter of the point set, and output the maximum of the two stars centered at one of its endpoints. Oviously the algorithm runs in O(n log n) time, with ottleneck eing the diameter computation [9]. Let a e a diameter pair, and assume without loss of generality that a =. The n ratio / (or even n ) follows from the next lemma in conjunction with the ovious upper ound L(T OPT ) n (or L(T OPT ) n ). Lemma 3. Let S a and S e the stars centered at the points a and, respectively. Then L(S a ) + L(S ) n. Proof. Assume that a = p, = p. For each i = 3,...,n, the triangle inequality for the triple a,,p i gives ap i + p i a =. By summing up we have L(S a ) + L(S ) = ( ap i + p i ) + a (n ) + = n. i=3 We now continue with the new algorithm that achieves a (provale) + 500 approximation ratio within the same running time O(n log n). We suspect that the approximation ratio of A3 is

sustantially etter than that of the quadratic time algorithm of Alon et al., namely /. However at the moment we can only prove a lower ound of 0.50 on this ratio. Algorithm A3: Compute a diameter a of the point set, and output the longest of the 5 non-crossing structures S a, S, S h, E a, E, descried elow. Assume without loss of generality that a is a horizontal unit segment, where a = (0,0) and = (,0). Let h = (x h,y h ) e a point in S with a largest value of y (farthest from the y-axis). By symmetry, we can assume that y h 0. S a, S, and S h are the 3 stars centered at a,, and h, respectively. E a, resp. E, are two non-crossing extended stars centered at a, resp,, descried elow. Each of the five structures can e computed in O(n log n) time, so the total execution time is also O(n log n). The five structures for a small example are shown in Fig. 8. Figure 8: Three stars S a, S, S h, and two extended stars E a, E. We will use four parameters, which we collect here for easy reference. By the end of the proof we will set w = 0.6, t = 0.6, δ = 0.05, and z = 0.48, (5) in order to maximize the approximation ratio (w and t are two lengths, while δ and z are two numers). Let l, l, l 3, and l 4, e four parallel vertical lines: l : x = 0, l : x = w, l 3 : x = +w, l 4 : x = ; refer to Fig. 9. Oviously, all points in S lie in the strip ounded y l and l 4. Let V m e the vertical parallel strip symmetric aout the midpoint of a and of width w. We refer to V m as the middle strip; V m is ounded y the vertical lines l and l 3. Let V a and V e the two vertical strips of width w ounded y l and l, and y l 3 and l 4, respectively. Let c = (x c,y c ) e the intersection point etween l 3 and the circular arc γ a of unit radius centered at a and su-tending an angle of 60. We have x c = +w and ( ) + w y c = =: t. We now descrie the two extended star structures E a and E. See Fig. 0 for an example. To construct E a, first compute the order of visiility of the points in V from point a y sorting the points v V according to the slopes of the line segments av. Then connect a with each point in the right strip V. Note that V, thus V. Call S a the resulting star. The edges of this star together with the vertical line l 3 divide V a V m into convex regions (wedges with a common apex a) ordered top-down. The suset of points in each wedge can e computed using inary search in overall O(n log n) time (over all wedges). S a is extended (augmented) as follows. In the interior of each wedge, say paq, all points are connected to either a or p, forming a star, to maximize the total length of the star. Let ap and ap, p,p V, e the rays of minimum and maximum slope, respectively. Connect all points in V a V m lying elow ap to either a or p. Similarly, connect all points in V a V m lying aove ap to either a or p. Denote the resulting extended star structure

y E a. The construction of E is analogous. It is clear y construction that oth E a and E are non-crossing. c y = 0.6 a V a p V m V l l l 4 Figure 9: A diameter pair a, at unit distance, and the three vertical strips V a, V m, and V. The two circular arcs γ a and γ of unit radius centered at a and intersect at the point (/, 3/). All points of S aove a lie in the region ounded y a, γ a and γ. The next five lemmas provide various upper and lower ounds we need for estalishing the approximation ratio of the algorithm A3. Lemma 4. For each p S, let d max (p) denote the maximum distance etween p and other points in S. Then [ ] L(T OPT ) d max (p i ). Proof. Consider T OPT rooted at a. Let π(v) denote the parent of a (non-root) vertex v. Uniquely assign each edge π(v)v of T OPT to vertex v. Oviously, L(π(v)v) d max (v) holds for each edge in the tree. By adding up the aove inequalities, and taking into account that d max (a) = a =, the lemma follows. Lemma 5. Assume that n y i δn for some constant δ [0,]. Then L(S a ) + L(S ) n 4 + δ. Proof. Recall that x i [0,] and y i [ 3/, 3/]. By the optics reflection principle, x i + yi + ( x i ) + y i 4 + y i. Therefore L(S a ) + L(S ) = It can e checked that the function f(x) = Jensen s inequality we get 4 + y i n 4 + ) ( x i + yi + ( x i ) + yi l 3 4 + y i. 4 + x is convex (f (x) 0 for x [0,]), thus y ( n y ) i n 3 n 4 + δ,

L(S a ) + L(S ) n 4 + δ. Lemma 6. Let n a and n denote the numer of points in the left and right vertical strips V a and V. Then L(E a ) +w 4 (n+n ), and similarly L(E ) +w 4 (n+n a). Consequently L(E a )+L(E ) +w 4 (n + n a + n ). E a and E can e constructed in O(n log n) time. Proof. The distance etween l and l 3 is w + w. By an argument similar to that in the proof of Lemma 3, the connection cost for a wedge with m points is at least +w 4 m. Therefore the total length of E a is = +w L(E a ) + w n + + w 4 (n n ) = + w (n + n ). 4 The estimation of L(E ) is analogous. The running time has een estalished previously. Lemma 7. Assume that n y i δn and y h t. Then L(S h ) (t δ)n. Proof. L(S h ) (y h y i ) = ny h y i ny h y i ny h δn (t δ)n. Lemma 8. Let y 0 0. Assume that y h t. Let p S e a point in the middle strip V m, with y-coordinate satisfying y y 0. Then d max (p) pc w + (y 0 + t). Proof. It is straightforward to check that the maximum distance from such a point is attained for a point p on l with y-coordinate y 0. The furthest point from p in the allowed region is c. Hence d max (p) pc = w + (y 0 + t). Approximation ratio. Set y 0 = 0.5 and parameters w, t, δ and z as in (5). By Lemma 8, if p is a point in the middle strip V m, with y-coordinate satisfying y y 0, we have d max (p) 0.6 + 0.75 0.9605. We distinguish the following four cases to complete our estimation of the approximation ratio. Case : n y i δn. The algorithm outputs S a or S. By Lemma 5, the approximation ratio is at least L(S a ) + L(S ) L(T OPT ) 4 + δ 0.50. Case : n y i δn and y h t. The algorithm outputs S h. By Lemma 7, the approximation ratio is at least t δ = 0.55. Case 3: n y i δn and y h t and n a + n ( z)n. The algorithm outputs E a or E. We only need the last inequality in estimating the length. By Lemma 6, the approximation ratio is at least L(E a ) + L(E ) L(T OPT ) + w 4 n + n a + n n ( + w)(3 z) 8 =.6.5/8 = 0.504. Here and in other instances it is meant that the algorithm outputs a structure at least as long as these. 4

Case 4: n y i δn and y h t and n a + n ( z)n. The algorithm outputs S a or S. There are at least zn = 0.48n points in the middle strip V m. Oserve that at most n/3 points in V m have y i 0.5; otherwise we would have y i V m y i > 0.5 n 3 = 0.05n = δn, a contradiction. It follows that at least n/5 n/3 = n/75 points in the middle strip have y i 0.5. By Lemma 4 and Lemma 8, The approximation ratio is at least L(T OPT ) 64n 75 + 0.9605 n 75 0.9943n. L(S a ) + L(S ) L(T OPT ) n 0.9943n 0.50. This completes the list of cases and therey the proof of Theorem. Remarks. Conforming with Theorem 4. of [3], or with our Lemma 3, there exists a vertex v S such that L(S v ) L(T OPT )/. Alon et al. pointed out that the constant / in their theorem is est possile in a metric space: take two points p and p at distance from each other, and replace p i y n/ copies in a small neighorhood. We further note here that the constant / in their theorem is also est possile in the geometric setting, since for the aove example, L(T OPT ) L(H OPT ) n, as given y a spanning path that alternates etween the two groups of points, and since the length of any star is aout n/. The example in Fig. 0 with n points (n even) equally spaced along a circle h a Figure 0: The non-crossing structure E a for an example with n = 6 points on the circle. The middle strip V m is ounded y the two dashed vertical lines. shows that the constant 0.50 measuring the approximation ratio achieved y our algorithm A3 cannot e improved to anything larger than π 0.6366. Indeed, the lengths of the five structures computed y the algorithm are L(S a ) = L(S ) = L(S h ) = L(E a ) = L(E ) = ( o()) πn, while L(T OPT ) L(H OPT ) = ( o())n. 5

4 The Hamiltonian cycle In this section we present the proof of Theorem 3, which is similar (including notation) to that of Theorem. The rotated coordinate system Γ α, and the x-coordinates x i with respect to this system are denoted in the same way. By relaeling the points if necessary, assume that the optimal cycle is Q OPT = (p,p,...,p n ), with the convention that p n+ = p. We will present two algorithms, A4 and A4, fulfilling the requirements in parts (i) and (ii) of the theorem. We approximate Q OPT y first constructing a non-crossing alternating path A on a suset of S, and then completing it to a non-crossing cycle using convex hull vertices. Let S = S S, where S is the set of convex hull vertices and S is the set of interior points. Let S = {p j,p j,...,p jh }. Put h = S, m = S, thus n = h + m. The general plan is as follows. First we construct a non-crossing alternating path A for a ipartition of S. If the two endpoints of A lie on conv(s ), each can e connected to some vertex of conv(s) and these two vertices can e connected on the hull of S, resulting in a non-crossing cycle of S \ Z, where Z S. Then this partial cycle of S can e augmented with the remaining points (in Z) in a non-crossing fashion, and with no decrease in length. We need to oserve that the alternating path A on the suset S S produced y the algorithm of Aellanas et al. [] is not good enough for this strategy: even though one endpoint of A (the first computed y the algorithm) is always on the convex hull of S, the other endpoint might e locked y edges of A, so that A might not e extendile to a non-crossing Hamiltonian cycle (an example is shown in Fig. ). Here, we give a stronger result (Lemma 9) that fits our purpose (for an even numer of points). We then apply Lemma 9 for constructing an alternating path of S. a l d 3 4 6 5 7 c Figure : A non-crossing alternating path of S otained y the algorithm of Aellanas et al. For the purpose of cycle construction, the path is non-extendile from its second endpoint, vertex 7. Here S = {a,, c, d}, S = {,, 3, 4, 5, 6, 7}, and S = S S. Lemma 9. Let S e an n-element point set. Every linearly separale ipartition S = R B, with R = B, admits an alternating non-crossing spanning path such that () the edges cross any separating line l at points ordered monotonically along l; and () the two endpoints are incident to the two distinct edges of conv(s) that connect R and B (the two red-lue ridges). Such a Hamiltonian path can e computed in O(n log n) time. We refer to the underlying procedure as the two-endpoint path construction algorithm. Proof. We modify the algorithm of Aellanas et al. for path construction, so that the path is grown from the two endpoints and the two su-paths merge in the middle. See also Fig.. Recall that S = R B, and R = B, thus S is even. Let r and r e the top and ottom red-lue edges of the convex hull conv(s), respectively, called top and ottom ridges; it is possile that r = r 6

or = ut not oth (for n 3). One endpoint is an endpoint of the top ridge, and the other endpoint is an endpoint of the ottom ridge, and they are chosen of opposite colors. Let A = {r, } or A = {,r } aritrarily, containing two endpoints of the path. At every step, recompute the top and ottom ridges of S \ A, and append either the red or the lue vertex of each ridge to A such that the appended edges cross the separating line l. In the last step, the convex hull of S \A is a red-lue segment that merges the two su-paths. The two new edges added simultaneously at each step cannot cross each other; and they cannot cross previous edges, since they are separated from them y the convex hull of S \ A. Finally, they cannot extend the two su-paths y the same point either, ecause S is even. The next lemma follows from [3, Lemma.]; we will only need its corollary, Lemma. Lemma 0. ([3]). Let P = (p,p,...,p n ) e a simple polygon (with the convention that p n+ = p ) and q e a point in the exterior of the convex hull of P, where V (P) {q} is in general position. Then q sees one edge p i p i+ of P. Such an edge can e found in O(n) time. Lemma. Let P = (p,p,...,p n ) e a simple polygon (with the convention that p n+ = p ) and q e a point in the exterior of the convex hull of P, where V (P) {q} is in general position. Then the polygonal cycle P can e extended to include q so that P {q} is still a simple polygon. More precisely, there exists i [n], so that Q = (p,...,p i,q,p i+,...,p n ) is a simple polygon. Moreover, L(Q) > L(P). The extension can e computed in O(n) time. Proof. By Lemma 0, q sees one edge p i p i+ of P. Replacing this edge of P y the two edges p i q and qp i+ results in a simple polygon Q = (p,...,p i,q,p i+,...,p n ). By the triangle inequality, L(Q) > L(P). The extension can e computed in O(n) time, as determined y the time needed to find a visile edge. Note that the condition in the lemma that q lies in the exterior of the convex hull of P, is indeed necessary. Otherwise one cannot guarantee that q sees an edge of P. (i) Our first algorithm. We are now ready to present our Algorithm A4. Assume first for simplicity that m is even. An easy modification of the algorithm, explained elow, is used if m is odd. Algorithm A4: Step. For all non-equivalent isections of S (i.e., for all alanced ipartitions of S ):. Compute a non-crossing alternating path A of S y using the two-endpoint path construction algorithm (Lemma 9).. Extend A to a cycle y connecting its endpoints to (one or two) convex hull vertices. 3. Further extend this cycle to include the remaining hull vertices, y repeated invocation of Lemma. Step. Output the longest such cycle (containing all points of S). Oserve that after Step., the two endpoints of the path are vertices of conv(s ), hence they can e connected to hull vertices in S to make a cycle. If m is odd, then there is a point q S on the line l. Use the two-endpoint path construction algorithm for S \ {q}, and the same isecting line l. If q is in the interior of conv(s \ {q}), then extend the path with point q, using Lemma. Otherwise, q sees the top or ottom ridge of conv(s \ {q}), so the path can e extended y connecting q to the endpoint visile to q. The two endpoints of the extended path are on conv(s ), hence they can e connected to hull vertices to make a cycle, as in the case of even m. See Fig. for an illustration of the algorithm on a small example. We now justify its correctness and estimate the length of the output cycle. Assume first that m is even. For a given α, let A α e 7

a non-crossing alternating path with respect to a alanced ipartition of S induced y the y-axis of Γ α, as computed y the algorithm. Assume that A α = (p i,p i,...,p im ). By projecting on the x-axis of Γ α, we get L(A α ) x i + x i +... + x im + x im = x i x i x im ( x j +... + x jh ) = ( x j + x j+) ) x i x im ( x j +... + x jh ) j= ( x j + x j+ ) W α (h )W α j= p j p j+ cos(β j,j+ α) (h )W α. (6) j= 0 5 3 5 3 9 7 8 6 4 0 7 6 9 8 4 l l 3 Figure : Left: an alternating path (,,..., 8) otained y using the two-endpoint path construction algorithm (Lemma 9) for the case of even m. The path is extended to a cycle y connecting its endpoints to convex hull vertices (here 9 and 0). The cycle (,,...,0) will e susequently extended to include the remaining hull vertices (here and ) using Lemma. Right: an alternating path (,,..., 8) otained in the same way, and then extended to pass through vertex 9 (Lemma ); the resulting path is (,, 3, 4, 5, 6, 9, 7, 8). The path is extended to a Hamiltonian cycle in the same way (Lemma ). In the aove chain of inequalities we have used the facts that m is even, thus p i and p im lie on opposite sides of l, and that at least two convex hull vertices are also separated y l. The inequality is maintained for m odd, as in the proof of Theorem. Let A = (p i,p i,...,p im ) e the longest of the O(k) Hamiltonian non-crossing paths A αi over all O(k) alanced ipartitions of S. (In estimating the length of the output cycle, it is enough to analyze only the augmentation of A to a Hamiltonian cycle, rather than of each path A α.) Let u and v e (hull) vertices in S that can e connected with the two endpoints p i and p im of A without making any crossings with A (u and v may e forced to coincide). Let P e the simple cycle (polygon) otained y adding to A the points on one of the two polygonal hull chains connecting u and v. In the last phase, P is further extended y adding the remaining hull vertices (on the nd hull chain connecting u and v) one y one y Lemma. Note that the length of the cycle increases with each point addition. The total time for all additions is trivially ounded y O(n ). The resulting 8

polygonal cycle Q is non-crossing and spans all points in S, therefore making a Hamiltonian cycle of S. Its length is ounded as follows. L(Q) L(A) p j p j+ cos(β j,j+ α) (h )W α, j= and y integration over the α-interval [0,π], L(Q) π L(Q OPT) (h ) P π. (7) If the point set satisfies the condition (h ) P π δl(q OPT), then L(Q) ( ) π L(Q OPT) δl(q OPT ) = π δ L(Q OPT ). This concludes the proof of part (i) of Theorem 3. (ii) Our second algorithm. One can reduce the term (h ) P π in Inequality (7) to (h + )P π at the cost of increasing the running time to O(n 3 log n). We replace the alanced partitions of S y two unalanced partitions of S. A line has direction α [0,π) if it makes a counterclockwise angle of α with the x-axis. Let S e a set of n points in the plane in general position. A direction α [0,π) is general if the supporting line of no two points in S has direction α. The lines of a general direction α partition S in n + different ways (into susets lying on the left, on the right, and on the line). Two directions, α and β, are equivalent if they induce the same n + partitions of S. There are exactly ( n ) non-equivalent directions. Recall that S = S S, where S is the set of convex hull vertices and S is the set of interior points. Fix a general direction α (0,π). A line l of direction α is left-alanced if the numer of points of S in the left open halfplane equals the numer of points of S in the right open halfplane. It is easy to see that all left-alanced lines are equivalent. Indeed if we continuously move a line l of direction α from left to right, then the numer of points of S in the left open halfplane increases every time l passes through a point of S, and the numer of points of S in the right open halfplane monotonically decreases. Therefore, there is equality for exactly one equivalence class of lines of direction α. Denote y Sα the set of all points of S and the points in S lying in the left closed halfplane of a left-alanced line. Clearly, every left-alanced line is a isecting line for Sα. Similarly, a line l of direction α is right-alanced if the numer of points of S in the right open halfplane equals the numer of points of S in the left open halfplane. Denote y Sα the set of all points of S and the points in S lying in the right closed halfplane of a right-alanced line. Note that a left-alanced line lies to the left of a right-alanced line, in particular, they are separated y the isecting line of S of direction α. We now present our Algorithm A4. Algorithm A4 : Step. For all non-equivalent general directions α, compute a left-alanced line l α, a right-alanced line l α, and the two sets Sα and Sα. For i =, do:. If Sα i is even, compute a non-crossing alternating path A for Sα i using the two-endpoint path construction algorithm (in Lemma 9).. If Sα i is odd, then li α passes through some point q Si α. Compute a non-crossing alternating path for Sα i \ {q} with the two-endpoint path construction algorithm, and then extend it to include q as follows: if q is in the interior of conv(sα i ), then use Lemma to augment the alternating path with q; otherwise connect q to the endpoint of the path lying on the upper or lower ridge of conv(sα i ), whichever is visile from q. 3. Complete the path A on Sα i to a cycle through the remaining convex 9