1 Introduction
Problems in the area of graph drawing often find application in complexity theory by providing a basis for NPhardness proofs for geometric problems. In this paper, we study an application of embedding circle graphs (intersection graphs of chords of a circle) as ray graphs (intersection graphs of halflines) to the analysis of the complexity of global curve simplification. In particular, we prove (refer to Section 2 for precise problem definitions):
1.1 Global curve simplification
Curve simplification is a longstudied problem in computational geometry and has applications in many related disciplines, such as graphics, and geographical information science (GIS). Given a polygonal curve with vertices, the goal is to find another polygonal curve with a smaller number of vertices such that is sufficiently similar to
. Methods proposed for this problem famously include a simple heuristic scheme by Douglas and Peucker
[13], and a more involved classical algorithm by Imai and Iri [19]; both are frequently implemented and cited. Since then, numerous further results on curve simplification, often in specific settings or under additional constraints, have been obtained [2, 3, 4, 12, 5, 9, 10, 15, 18].Recently, the distinction was made between global simplification, when a bound on a distance measure must be satisfied between and , and local simplification when a bound on a distance measure must be satisfied between each edge of and its corresponding section of [26]. A local simplification is also a global simplification, but the reverse is not necessarily true, see Figure 1.
Agarwal et al. [3] were first to consider the idea of global simplification under the Fréchet distance. They introduce what they call a weak simplification: a model in which the vertices of the simplification are not restricted to be a subset of the input vertices, but can lie anywhere in the ambient space. Kostitsyna et al. [21] present a polynomialtime algorithm for this model but for the Hausdorff distance; in particular, the directed Hausdorff distance from the simplification curve to input curve. Van Kreveld et al. [27] consider a different setting in which the output vertices should be a subsequence of the input, and they also consider the Hausdorff distance. They give a polynomialtime algorithm for the directed Hausdorff distance from the simplification curve to input curve, but they show the problem is NPhard for the directed Hausdorff distance in the opposite direction, and also for the symmetric (undirected) Hausdorff distance. Van de Kerkhof et al. [26] prove that the hardness result for the unrestricted Hausdorff distance can be extended to the nonrestricted case as well; in addition, they introduce an intermediate curverestricted model where the vertices of the simplified curve should lie on the input curve. Surprisingly, the problem is hard under this model for all three variants of the Hausdorff distance. Table 1 summarizes the state of the art for global curve simplification under the Hausdorff distance.
Distance  Vertexrestricted  Curverestricted  Nonrestricted () 

NPhard [27]  NPhard [26]  NPhard  
[27] O() [26]  NPhard [26]  [21]  
NPhard [27]  NPhard [26]  NPhard [26] 
1.2 Embeddings of geometric intersection graphs
Geometric intersection graphs have long been studied due to their wide range of applications, and lie on the interface between computational geometry, graph theory, and graph drawing [24]. The graph classes corresponding to intersections of geometric shapes form a natural hierarchy that links to the complexity of those shapes: more complex shapes allow to represent more graphs. Arguably the most restricted class in this family are the unit interval graphs [20], and the most general class of intersection graphs of connected shapes in are the string graphs [14]. Between these two, a hierarchy of classes exist; part of it is illustrated in Figure 2.
Hartmann et al. [17] introduce grid intersection graphs where the shapes are aligned to an orthogonal grid; Mustata [25] gives an overview of the state of the art and also discusses the complexity of computational problems on such classes. Cardinal et al. [7] prove several relations between segment intersection graphs and ray intersection graphs; in particular they introduce downward ray graphs: intersection graphs of rays that all point into a common halfplane. Their main result is that recognition of several classes is complete for the existential theory of the reals. Circle graphs are intersection graphs of chords of a circle; equivalently, they may be defined as interval graphs where there is an edge between two intervals on a line when they intersect but are not nested [16]. Circle graphs are known to be contained in 1string graphs [8]. We are not aware of any published statements of stricter containment; we show in this paper that they are in fact contained in the downward ray graphs.
When utilizing graph embedding algorithms in hardness proofs, one important issue is the representation of the embedding. The class of graphs which can be represented as intersection graphs of a given set of shapes is not necessarily the same as the class of graphs which can be represented as intersection graphs of shapes which each can be represented with coordinates of bounded complexity. For instance, McDiarmid and Müller [23] show that not all realizable unit disk graphs can be realized with coordinates of logarithmic complexity, and the same is true for segment graphs [22].
2 Preliminaries, Overview & Challenges
2.1 Polygonal curves and the Hausdorff distance
A polygonal curve (also called a polyline) is defined by an ordered sequence of vertices. We can treat as a continuous map that maps real values in the interval
to points on the polyline by linearly interpolating between the vertices, which allows us to visualize a polyline as
line segments linked one after the other. We will refer to these segments as the polyline’s links. For integer , will return the vertex . Points on ’s ’th link are parametrized as . The directed Hausdorff distance from curve to curve , which have and vertices respectively, is given by . I.e. it is equal to the Euclidean distance from the point on furthest from to the point on closest to that point. The (undirected) Hausdorff distance is the maximum over both directions, i.e. .2.2 Problem
The problem we wish to tackle (and which we will prove NPhard) is:
Problem 1
Directed Curve Simplification. Given a polyline , integer and a value , find another polyline such that the directed Hausdorff distance from to is at most and the number of links in is at most .
Note that van de Kerkhof et al. [26] call this problem the nonrestricted global curve simplification problem to distinguish it from other variants; in the remainder of the present paper we use the shorter name for convenience. We will find that the key difficulty in solving Directed Curve Simplification lies in the following similar problem:
Problem 2
Segment Polyline Cover. Given a set of line segments in the plane and integer , find a polyline such that every segment in is covered by (contained in at least one segment of ), and has at most links.
2.3 Proof idea
Our approach is to show that Segment Polyline Cover is hard by a reduction from Hamiltonian Path on ray intersection graphs. Specifically, we use the following idea.
Observation 1
Let be a ray intersection graph with vertices. There exists a set of segments such that has a Hamiltonian cycle if and only if there is a polygon covering with vertices.
We can use Observation 1 to prove Segment Polyline Cover is NPhard and then reduce Segment Polyline Cover to Directed Curve Simplification, proving it NPhard as well.
We sketch the proof of Observation 1 here; the rest of the paper is devoted to making it precise. The high level proof idea is illustrated in Figure 3. Let be a set of rays in , and its intersection graph. The complement of a ray is the ray with the same origin and the same supporting line as which points in the opposite direction. Let be the complement of . We cut the rays in to a set of segments in such a way that and have the same intersection graph. Then we replace each segment by a needle: a pair of segments both very close to that share one endpoint (different from the corresponding ray’s origin). Let be the resulting set of segments. Now, any polygon with segments covering must use the two edges of one needle consecutively (since, by construction, the extension of these segments does not intersect the supporting line of any other segment), and it can connect an edge from one needle to an edge of another needle exactly when the corresponding original rays in intersect.
2.4 Challenges
Though the idea is conceptually simple, there are several difficulties in turning Observation 1 into a proof that Directed Curve Simplification is NPhard.

The simple idea above is phrased in terms of a Hamiltonian Cycle and covering segments by a polygon; for our proof we need to use a polyline. We need to be careful in how to handle the endpoints.

We need to establish that Hamiltonian Path is indeed NPhard on ray intersection graphs.

We need to know how to embed a ray intersection graph as an actual set of rays with limited bit complexity.

We need to model the input to Directed Curve Simplification as an instance of Segment Polyline Cover. Specifically, the complement of a set of rays is not necessarily connected; but the input to Directed Curve Simplification must be connected.

The Segment Polyline Cover problem closely resembles Directed Curve Simplification for ; to extend it to the case we (again) need to carefully consider the complexity of the embedding.
Most of these challenges can be overcome, as we show in the remainder of this paper. However, since the problem of recognizing if a graph can be embedded as a set of intersecting rays is complete for the existential theory of the reals [7], we know that there are ray intersection graphs that cannot be embedded by a set of rays with subexponential bit complexity, unless . In this paper, we work around this problem by considering a smaller class of graphs, and allowing a superpolynomial grid for our embeddings, which we show is sufficient for the proof of Theorem 5.2.
3 Hamiltonian cycles in ray intersection graphs
3.1 Embedding circle graphs as ray graphs
We will show that each circle graph can be embedded as a ray intersection graph. To show this, we construct a set of points that lie on a convex, increasing curve such that all chords connecting a pair of points can be extended to a ray to the right, and none of these rays will intersect below the curve. This requires the curve to grow very fast. We use the points for , where is the factorial function. Indeed, these points have the following property.
Lemma 1
Let be four numbers such that and . Let be the ray starting at and containing , and let be the ray starting at such that . Similarly, let be the ray starting at and containing , and let be the ray starting at such that . Then and do not intersect; hence, and intersect if and only if and intersect.
Proof
Since every ray is drawn between two points on the curve of the function , we know that it intersects this curve only at these points. The distance between coordinates of successive points keeps rapidly increasing as increases, but the distance between coordinates of successive points is constant. Thus the slope of a ray whose intersection points with the curve lie to the right of those of ray will be greater than the slope of . Without loss of generality we assume . There are three possible cases, see Figure 4:

: Here it is clear that and will intersect at an coordinate somewhere between and , and so and will not intersect.

: Here we can easily see that and do not intersect, as starts below and has a lower slope.

: Whereas the first two cases only require the curve to be convex and increasing, this case also requires the function to grow quick enough: Since starts to the left of it could possibly intersect if its slope was higher. We will now show, however, that the factorial function grows quick enough so that this cannot happen. For a fixed , the lowest slope that can have is when . The highest slope that can have occurs when and . The slope of is equal to the slope of , which would be . The slope of (and ) in this scenario would be . We can see that the slope of is higher than if which obviously holds for all . So since starts above and has higher slope, and will not intersect.
Once we have constructed these points we can “unroll” any circle graph by picking one chord endpoint on the circle to be the first point and then traversing the circle in clockwise order and assigning each chord endpoint we encounter the next point of our set. See Figure 5 for a sketch. Because the coordinate for a point will not grow bigger than we can represent the points using polynomial bit complexity.
At this point, we have shown that circle graphs are contained in ray graphs. In fact, our construction gives a bit more:
Theorem 3.1
The class of circle graphs is contained in the class of ray intersection graphs. Furthermore, every circle graph can be embedded as the intersection graph of a set of rays such that:
3.2 Hamiltonian paths and cycles
Next, we show that Hamiltonian Path problem is NPhard on ray graphs, and in particular, on ray graphs with polynomial bit complexity.
We reduce from the Hamiltonian Path problem on circle graphs. We make use of the proof from Damaschke [11]. He shows that Hamiltonian cycle is NPhard on circle graphs, by reducing from Hamiltonian Cycle in cubic bipartite graphs. He also claims that there is an easy adaptation that shows the Hamiltonian path problem is also NPhard for circle graphs. We will start by making this adaptation explicit: We construct an instance of the circle graph problem as described in [11], but then we replace one of the chords with two parallel chords close to where the chord was, so that they both intersect the same chords that were intersected by the chord. For both of the new chords we then add one new chord that only intersects that chord and no others. Now we know that the circle graph will have a Hamiltonian path if and only if the bipartite graph has a Hamiltonian cycle. From Theorem 3.1 we now immediately have:
Corollary 1
Hamiltonian Path is NPhard on intersection graphs of rays that have a polynomial bit complexity.
4 Connected Segment Polyline Cover
Next, we introduce the Connected Segment Polyline Cover problem, and show that it is NPhard by a reduction from Hamiltonian Path problem on circle graphs through the construction outlined above.
Problem 3
Connected Segment Polyline Cover. Given a set of line segments whose union is connected, and an integer , decide if there exists a polyline of links that fully covers all segments in .
We start by embedding the circle graph as a ray intersection graph in the manner outlined above. Then, we compute all intersection points between supporting lines of the rays. One of these intersection points will have the lowest coordinate. We will then choose a value that is lower than this lowest coordinate, which we will denote as . For each ray , let be its starting point. Let be ’s complement: the part of the supporting line that is not covered by . Let be the part of that has . Now we construct a needle for each ray’s complement: Two line segments that share one endpoint at the point where has coordinate . The other endpoint for both segments lies very close to . The endpoints are on opposite sides of the ray starting point so we get a wedgelike shape that runs nearly parallel to . In addition to these segments, which we will refer to as needle segments, we create three more segments which we will refer to as the leading segments: We create one horizontal segment we call with coordinate between and the lowest intersection point between ray supporting lines, that starts far to the right of the needle segments and ends to the left of them, intersecting all of the needles. Attached to is a large vertical segment we call , running up to a point above the highest starting point of a ray. Attached to that is another horizontal segment we call , this one being short and ending to the left of any ray starting point. See Figure 6 for a sketch.
Now we have segments in total, where is the number of chords in the original graph.
Lemma 2
We can cover all segments using a polyline of links if and only if the circle graph has a Hamiltonian Path.
Proof
To see why this is true, consider that since none of the segments are collinear and no three segments intersect in the same point, a suitable polyline must fully cover one segment with each link. For a polyline to be able to bend from fully covering one segment to fully covering another, either the segments must have a shared endpoint, or the supporting lines of the segments must intersect in a point not contained in either segment. Segment intersects all needle segments in their interior and is parallel to , so we know that a suitable polyline must start^{1}^{1}1A suitable polyline could also end with , but we will define the polyline to be in this direction for ease of notation by covering , and it must bend at the common endpoint with and then fully cover . All of the intersection points between and the supporting lines of needle segments lie below the endpoint it shares with , so to be able to cover with the second link the polyline must next connect to , meaning it bends at the shared endpoint of and . The third link is horizontal, covering . Since the supporting line of intersects all of the rays, the polyline can bend to any needle segment for its next link.
Since we have covered our additional segments , , and , the rest of the links must cover one needle segment each. Observe that the needle segments all extend downward to below the lowest intersection point between supporting lines. This means that when a link covers a needle segment when travelling downward, the next link must then travel upward on the other half of the needle, as all intersection points with supporting lines of other segments lie in the segment’s interior. When the next link then covers a needle segment when travelling upward, the only places the polyline can viably bend next are near places where the ray associated with the previous needle intersects another ray. So we can cover the needle segments using a polyline of links if and only if there is a Hamiltonian Path in the ray intersection graph and thus a Hamiltonian Path in the original circle graph.
Since the transformation is polynomial, we know the problem is NPhard. We can also see that the problem is in NP, since for any instance we can expect that if a polyline of links exists covering a set , one must also exist where each vertex has coordinates of polynomial complexity, since the vertices could all lie on the intersection points of the supporting lines of the segments, or otherwise on points with rational coordinates on those supporting lines. This polyline could serve as a certificate for the verification algorithm. This gives the following theorem:
Theorem 4.1
Connected Segment Polyline Cover is NPcomplete.
5 Directed Curve Simplification
Finally, we reduce Connected Segment Polyline Cover to Directed Curve Simplification. As a problem instance, we are given a set of noncollinear line segments in the plane whose union is connected. We construct an input polyline of polynomial size that completely covers the set of segments and no other points. We could do this, for example, by treating the segment endpoints and intersection points as vertices of a graph connected by edges, and have our polyline be the path of a breadthfirst search through the graph. We set to . Now we know that, since a simplification must cover the union of , any simplification of our input polyline that has links must cover each segment in completely with one link. This means such a simplification would be a solution to our instance of Connected Segment Polyline Cover. Since the reduction is polynomial in size, we know that this variant of the GCS problem is NPhard, and using a similar argument to the one for Connected Segment Polyline Cover it is easy to see that it is in NP as well.
Theorem 5.1
Directed Curve Simplification, restricted to instances where , is NPcomplete.
5.1 Nonzero
We can also extend this reduction to nonzero by picking but still small enough such that it would not change the combinatorial structure of the space the polyline can lie in, so each link of the polyline must still correspond to exactly one segment in . For the segments we have constructed in the earlier reduction, we will show that setting will guarantee the structure of the space will not change. So a simplified polyline of links with will only exist if and only if it also exists for .
For space reasons, we only sketch the ideas of the proof here; details can be found in Appendix 7 in the full version of this section.
The main idea is to choose sufficiently small so that there are no additional intersections between extensions of segments that are not supposed to intersect. When , the space the simplified polyline can occupy is exactly the input segments, but for nonzero , the polyline does not have to exactly cover the original segment. If we center two circles with radius on the endpoints of a segment, the two inner tangents of these circles will form the bounding lines of a cone that covers all possible polyline links that are able to “cover” a segment. We will call the part of the cone that is within of the segment the tip of the cone, and the rest of the cone the tail of the cone. For , the supporting line for the segment forms a degenerate cone of width 0. To preserve the combinatorial structure, fattening the cones cannot introduce intersections between cone tails, as these correspond to two segments’ supporting lines intersecting in the exterior of the segments. To simplify the algebra, we consider a slightly larger cone, between the lines connecting points created by going to the left and right of the original endpoints of the needle segments. It is easy to see that these larger cones contain the true cones. We reach the bound on given above by case distinction of different configurations of potentially intersecting cones, and taking the minimum.
Since we can have a small enough of polynomial bit complexity, this means the Directed Curve Simplifiction problem is NPhard in general, as for larger values of the construction could be scaled up.
If the general problem is in NP is hard to say, since our approach for showing this for the previous problems does not extend, and it might be possible that inputs exist where the only possible simplifications of links have vertex coordinates of exponential bit complexity. This remains an open problem.
Theorem 5.2
Directed Curve Simplification is NPhard.
6 Conclusion
We have shown that Directed Curve Simplification is NPhard, which completes the results in Table 1 and completely settles the complexity of global curve simplification under the Hausdorff distance.
As the main tool in our reduction, we have shown that every circle graph can be embedded as an intersection graph of rays with coordinates of polynomial complexity. It is still an open question if it is possible to embed every circle graph as rays with coordinates of logarithmic complexity. Whether Directed Curve Simplification is in NP is another open problem that remains.
Acknowledgements
The authors would like to thank Birgit Vogtenhuber, Tillman Miltzow, and anonymous reviewers for valuable discussions and suggestions. Mees van de Kerkhof and Maarten Löffler are (partially) supported by the Dutch Research Council under grant 628.011.00. Maarten Löffler is supported by the Dutch Research Council under grant 614.001.50.
References
 [1] (2018) 34th international symposium on computational geometry. . External Links: ISBN 9781510865594 Cited by: 27.
 [2] (2010) Streaming algorithms for line simplification. Discrete & Computational Geometry 43 (3), pp. 497–515. Cited by: §1.1.
 [3] (2005) Near linear time approximation algorithm for curve simplification. Algorithmica 42 (3–4), pp. 203–219. Cited by: §1.1, §1.1.
 [4] (2002) Efficiently approximating polygonal paths in three and higher dimensions. Algorithmica 33 (2), pp. 150–167. Cited by: §1.1.
 [5] (2007) Optimal simplification of polygonal chain for rendering. In Proc. 23rd Annual ACM Symposium on Computational Geometry (SoCG), pp. 168–174. External Links: ISBN 9781595937056 Cited by: §1.1.
 [6] (2017) Refining the hierarchies of classes of geometric intersection graphs. Electron. J. Combin. 24 (1), pp. 1–33. Cited by: Figure 2.
 [7] (2018) Intersection graphs of rays and grounded segments. Journal of Graph Algorithms and Applications 22 (2), pp. 273–295. Cited by: Figure 2, §1.2, §2.4, 1st item, 2nd item.
 [8] (2007) Planar graphs are in 1string. In Proceedings of the Eighteenth Annual ACMSIAM Symposium on Discrete Algorithms, SODA ’07, pp. 609–617. Cited by: §1.2.
 [9] (1996) Approximation of polygonal curves with minimum number of line segments or minimum error. International Journal of Computational Geometry & Applications 6 (1), pp. 59–77. Cited by: §1.1.
 [10] (2005) Polygonal path simplification with angle constraints. Computational Geometry 32 (3), pp. 173–187. External Links: ISSN 09257721 Cited by: §1.1.
 [11] (1989) The Hamiltonian circuit problem for circle graphs is NPcomplete. Information Processing Letters 32 (1), pp. 1 – 2. Cited by: §3.2.
 [12] (1998) Topologically correct subdivision simplification using the bandwidth criterion. Cartography and Geographic Information Systems 25 (4), pp. 243–257. Cited by: §1.1.
 [13] (1973) Algorithms for the reduction of the number of points required to represent a digitized line or its caricature. Cartographica 10 (2), pp. 112–122. Cited by: §1.1.
 [14] (1976) Intersection graphs of curves in the plane. Journal of Combinatorial Theory. Series B 21, pp. 8–20 (English). External Links: ISSN 00958956 Cited by: §1.2.
 [15] (1991) A natural metric for curves – computing the distance for polygonal chains and approximation algorithms. In Proceedings of the 8th Annual Symposium on Theoretical Aspects of Computer Science (STACS), pp. 127–136. Cited by: §1.1.
 [16] (2004) Algorithmic graph theory and perfect graphs. Elsevier. Cited by: §1.2.
 [17] (1991) On grid intersection graphs. Discrete Mathematics 87, pp. 41–52. Cited by: §1.2.
 [18] (1986) An optimal algorithm for approximating a piecewise linear function. Journal of Information Processing 9 (3), pp. 159–162. Cited by: §1.1.
 [19] (1988) Polygonal approximations of a curve – formulations and algorithms. In Computational Morphology: A Computational Geometric Approach to the Analysis of Form, Cited by: §1.1.
 [20] (1995) Optimal labelling of unit interval graphs. Applied Mathematics 10 (3), pp. 337–344. Cited by: §1.2.
 [21] (2017) On the complexity of minimumlink path problems. Journal of Computational Geometry 8 (2), pp. 80–108. Cited by: §1.1, Table 1.
 [22] (1994) Intersection graphs of segments. Journal of Combininatorial Theory, Series B 62 (2), pp. 289–315. Cited by: §1.2.
 [23] (2013) Integer realizations of disk and segment graphs. Journal of Combinatorial Theory, Series B 103 (1), pp. 114–143. Cited by: §1.2.
 [24] (1999) Topics in intersection graph theory. Society for Industrial and Applied Mathematics. Cited by: §1.2.
 [25] (2014) On subclasses of grid intersection graphs. Doctoral Thesis, Technische Universität Berlin, Berlin. Cited by: Figure 2, §1.2.
 [26] (2019) Global curve simplification. In Proceedings of the 27th European Symposium on Algorithms (ESA), Cited by: §1.1, §1.1, Table 1, Table 1, Table 1, Table 1, Table 1, §2.2.
 [27] (2018) On optimal polyline simplification using the Hausdorff and Fréchet distance. See 1, Vol. 56, pp. 1–14. Cited by: §1.1, Table 1, Table 1, Table 1.
7 Section 5.1 (full)
We can also extend this reduction to nonzero by picking but still small enough such that it would not change the combinatorial structure of the space the polyline can lie in, so each link of the polyline must still correspond to exactly one segment in . For the segments we have constructed in the earlier reduction, we will show that setting will guarantee the structure of the space will not change. So a simplified polyline of links with will only exist if and only if it also exists for .
7.0.1 Overview.
The main idea is to choose sufficiently small so that there are no additional intersections between extensions of segments that are not supposed to intersect. When , the space the simplified polyline can occupy is exactly the input segments, but for nonzero , the polyline does not have to exactly cover the original segment. If we center two circles with radius on the endpoints of a segment, the two inner tangents of these circles will form the bounding lines of a cone that covers all possible polyline links that are able to “cover” a segment. We will call the part of the cone that is within of the segment the tip of the cone, and the rest of the cone the tail of the cone. For , the supporting line for the segment forms a degenerate cone of width 0. To preserve the combinatorial structure, fattening the cones cannot introduce intersections between cone tails, as these correspond to two segments’ supporting lines intersecting in the exterior of the segments. To simplify the algebra, we consider a slightly larger cone, between the lines connecting points created by going to the left and right of the original endpoints of the needle segments. It is easy to see that these larger cones contain the true cones. We reach the bound on given above by case distinction of different configurations of potentially intersecting cones, and taking the minimum. Since we can have a small enough of polynomial bit complexity, this implies that the Directed Curve Simplifiction problem is NPhard in general, as for larger values of the construction could be scaled up.
7.0.2 Details.
In the remainder of this section, we will treat as an unknown and aim to determine a value where we can guarantee any smaller than that value will not change the combinatorial structure.
First, consider that we have constructed segments. For , the space the polyline can lie in is exactly these segments, but for nonzero , this space is what you get when each segment gets replaced by the Minkowski sum of the original segment and a disk of radius . This means that the polyline does not have to exactly cover the original segment, meaning additional angles of approaching a segment open up. If we center two circles with radius on the endpoints of a segment, the two inner tangents of these circles will form the bounding lines of a cone that covers all possible polyline links that are able to “cover” a segment. We will call the part of the cone that is within of the segment the tip of the cone, and the rest of the cone the tail of the cone. For , the supporting line for the segment forms a degenerate cone of width 0. To preserve the combinatorial structure, fattening the cones cannot introduce intersections between cone tails, as these correspond to two segments’ supporting lines intersecting in the exterior of the segments. We do not have to consider the cones associated with the leading segments, since they already intersect all of the needles’ cones in the tip. So we will focus on the cones associated with needle segments.
Instead of taking the actual cones and the halflines that bound them, we will consider a larger cone that is easier to calculate with. As bounding lines, we will use endpoints created by going to the left and right of the original endpoints of the needle segments. For a ray starting at point , the original endpoints for one of its needle segments are and a point very close to , where is the xcoordinate of the supporting line of the ray at . This gives the segment a slope of . The slope of the left bounding line of the cone is then . So, departing from the intersection point of the bounding line and the needle segment, for every we move upwards, the bounding line lies further to the left as compared to the needle segment and/or the ray associated with the needle.
To see how small needs to be, we consider any two rays where one ray connects the points and one ray connects the points . We will refer to the cones induced by their needle segments as the cone and cone respectively. We assume . Now there are three cases again analogous to those in the proof for Lemma 1, see Figure 7:

The case where . Here, the tails of the cones already intersect, so no is going to introduce a new intersection.

The case where . Here, there is already an intersection between the tail of the cone and the tip of the cone. It is important that after fattening the cones there is no intersection that lies in both tails. At we know that the right bounding line of the cone has shifted to the right of where it would be for . Likewise, the left bounding line of the cone has shifted leftwards. If the total shift is less than the original horizontal distance between the rays at this coordinate, we know the intersection between the cones still lies in the tip of the cone. The horizontal distance between the unshifted lines at this value for , can be written as
For a fixed , we get a smaller value the higher is, as this increases the slope of the cone. The value is also smaller the smaller is, as this decreases the vertical distance and therefore the horizontal distance to the point as well. Substituting into the equation gives . This is smallest when is minimal, so the minimum distance of is achieved when . This means that a bound on our is
We can replace the right hand side of this inequality by an upper bound
This gives us an upper bound on the value for of .

The case where . Here there is an intersection of the cones in the tips. We need to make sure not to introduce new intersections of the tails. For this, the left bounding line of the cone needs to intersect the right bounding line of the cone in the tip. We know that at , which is near where the tip of the cone ends, the right bounding line has shifted exactly to the right compared to when . At , the left bounding line of the cone will have shifted to the left, so at we know that the total shift is less than . The horizontal distance between the supporting lines of the two rays at is equal to
For a fixed , the smallest distance is obtained when (as increasing the value of decreases the vertical distance between and meaning they are also closer horizontally at ), and (as decreasing decreases the slope of the cone, and so the supporting line will be further left at ). Plugging these values into the equation for lets us rewrite it to
Since in this case, we know the smallest possible distance is . Therefore, we know this case will pose no problems if , as the shift is smaller than the original distance so the intersection of the cones still lies in the tips.
Over all three cases, the bound is smallest and so it is the one that should be used. This upper bound is not necessarily tight, but we do now know that we can find nonzero values for that can be represented in a polynomial number of bits that do not change the combinatorial structure of the input for the simplification problem. So a simplified polyline of links with will only exist if and only if it also exists for . Since we can have a small enough of polynomial bit complexity, this means the Directed Curve Simplifiction problem is hard in general, as for larger values of the construction could be scaled up.
If the general problem is in NP is hard to say, since our approach for showing this for the previous two problems does not extend, and it might be possible that inputs exist where the only possible simplified polylines of links have vertex coordinates of exponential bit complexity. We leave this as an open problem for now.
Theorem 7.1
Directed Curve Simplification is NPhard.
Whether Directed Curve Simplification is also in NP is hard to say, since our approach for showing this for the previous problems does not extend, and it might be possible that inputs exist where the only possible simplifications of links have vertex coordinates of exponential bit complexity. This remains an open problem.
Comments
There are no comments yet.