Embedding Ray Intersection Graphs and Global Curve Simplification

08/31/2021
by   Mees van de Kerkhof, et al.
Utrecht University
TU Eindhoven
0

We prove that circle graphs (intersection graphs of circle chords) can be embedded as intersection graphs of rays in the plane with polynomial-size bit complexity. We use this embedding to show that the global curve simplification problem for the directed Hausdorff distance is NP-hard. In this problem, we are given a polygonal curve P and the goal is to find a second polygonal curve P' such that the directed Hausdorff distance from P' to P is at most a given constant, and the complexity of P' is as small as possible.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

01/21/2000

Bezier Curves Intersection Using Relief Perspective

Presented paper describes the method for finding the intersection of cla...
08/14/2018

A topological characterization of Gauss codes

A (smooth) embedding of a closed curve on the plane with finitely many i...
06/05/2020

An adaptive iterative/subdivision hybrid algorithm for curve/curve intersection

The behavior of the iterative/subdivision hybrid algorithm for curve/cur...
04/01/2019

Intersection multiplicity of a sparse curve and a low-degree curve

Let F(x, y) ∈C[x,y] be a polynomial of degree d and let G(x,y) ∈C[x,y] b...
11/08/2018

Fast, High Precision Ray/Fiber Intersection using Tight, Disjoint Bounding Volumes

Analyzing and identifying the shortcomings of current subdivision method...
03/28/2018

Using symbolic computation to prove nonexistence of distance-regular graphs

A package for the Sage computer algebra system is developed for checking...
05/27/2020

A post-quantum key exchange protocol from the intersection of quadric surfaces

In this paper we present a key exchange protocol in which Alice and Bob ...
This week in AI

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

1 Introduction

Problems in the area of graph drawing often find application in complexity theory by providing a basis for NP-hardness 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 half-lines) to the analysis of the complexity of global curve simplification. In particular, we prove (refer to Section 2 for precise problem definitions):

  • All circle graphs are ray graphs that have a representation as a set of intersecting rays described by coordinates that have a polynomial number of bits (Theorem 3.1);

  • Hamiltonian Path is NP-hard on such ray graphs (Corollary 1);

  • Directed Curve Simplification is NP-hard (Theorem 5.2).

1.1 Global curve simplification

Curve simplification is a long-studied 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.

Figure 1: For a target Hausdorff distance , the red curve (middle) is a global simplification of the input curve (left), but it is not a local simplification, since the first shortcut does not closely represent its corresponding curve section (right).

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 polynomial-time 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 polynomial-time algorithm for the directed Hausdorff distance from the simplification curve to input curve, but they show the problem is NP-hard 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 non-restricted case as well; in addition, they introduce an intermediate curve-restricted 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 Vertex-restricted Curve-restricted Non-restricted ()
NP-hard [27] NP-hard [26] NP-hard
 [27] O() [26] NP-hard [26] [21]
NP-hard [27] NP-hard [26] NP-hard [26]
Table 1: Results for global curve simplification under the Hausdorff distance between the curve and its simplification . The result in bold is from this work.

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.

Figure 2: Intersection graph classes and their inclusion relations. The thickened edge indicates our contribution. In order to keep the figure readable many classes and refinements have been omitted; for an extensive overview we refer the reader to e.g. [25, 6, 7] or to graphclasses.org.

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 half-plane. 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 1-string 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 NP-hard) 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 non-restricted 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.

Figure 3: The idea for a small example (which does not admit a Hamiltonian cycle). (a) A set of rays (blue) whose intersection graph is , and the complement (red). (b) Zooming out until we can draw a circle that contains all intersections among rays in . (c) Replacing each ray in by a needle. (d) Zooming back in. (e) The extensions of the needles (blue) correspond to the original rays. (f) A polygon covering all needles must correspond to a Hamiltonian cycle in (here, there is no solution).
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 NP-hard and then reduce Segment Polyline Cover to Directed Curve Simplification, proving it NP-hard 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 NP-hard.

  • 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 NP-hard 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:

Figure 4: The three cases for two rays. and are the -coordinates of the points where the first ray intersects with the curve , and and are those values for the second ray. No matter the case, the rays will not intersect below the curve.
  • : 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.

Figure 5: (a) A circle graph with colors assigned to the chords. The chosen starting point is marked in red. (b) Unrolled version of (a), by assigning chord endpoints to points on the convex curve they can be extended into rays without intersecting.

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:

  • every ray is grounded on a common curve (grounded ray graph [7]);

  • every ray points towards the upper right quadrant (downward ray graph [7]);

  • every ray is described by a point and a vector with polynomial bit complexity.

3.2 Hamiltonian paths and cycles

Next, we show that Hamiltonian Path problem is NP-hard 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 NP-hard 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 NP-hard 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 NP-hard 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 NP-hard 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 wedge-like 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.

Figure 6: (a) Sketch of a reduction of a circle graph with three chords. Segments shown in black. (b) Polyline of links covering the constructed segments, corresponding to a Hamiltonian Path traversing the yellow, green, and blue ray in that order.

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 start111A 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 NP-hard. 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 NP-complete.

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 non-collinear 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 breadth-first 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 NP-hard, 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 NP-complete.

5.1 Non-zero

We can also extend this reduction to non-zero 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 non-zero , 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 NP-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 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 NP-hard.

6 Conclusion

We have shown that Directed Curve Simplification is NP-hard, 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] M. A. Abam, M. de Berg, P. Hachenberger, and A. Zarei (2010) Streaming algorithms for line simplification. Discrete & Computational Geometry 43 (3), pp. 497–515. Cited by: §1.1.
  • [3] P. K. Agarwal, S. Har-Peled, N. Mustafa, and Y. Wang (2005) Near linear time approximation algorithm for curve simplification. Algorithmica 42 (3–4), pp. 203–219. Cited by: §1.1, §1.1.
  • [4] G. Barequet, D. Z. Chen, O. Daescu, M. T. Goodrich, and J. Snoeyink (2002) Efficiently approximating polygonal paths in three and higher dimensions. Algorithmica 33 (2), pp. 150–167. Cited by: §1.1.
  • [5] L. Buzer (2007) Optimal simplification of polygonal chain for rendering. In Proc. 23rd Annual ACM Symposium on Computational Geometry (SoCG), pp. 168–174. External Links: ISBN 978-1-59593-705-6 Cited by: §1.1.
  • [6] S. Cabello and M. Jejčič (2017) Refining the hierarchies of classes of geometric intersection graphs. Electron. J. Combin. 24 (1), pp. 1–33. Cited by: Figure 2.
  • [7] J. Cardinal, S. Felsner, T. Miltzow, C. Tompkins, and B. Vogtenhuber (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] J. Chalopin, D. Gonçalves, and P. Ochem (2007) Planar graphs are in 1-string. In Proceedings of the Eighteenth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ’07, pp. 609–617. Cited by: §1.2.
  • [9] S. Chan and F. Chin (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] D. Z. Chen, O. Daescu, J. Hershberger, P. M. Kogge, N. Mi, and J. Snoeyink (2005) Polygonal path simplification with angle constraints. Computational Geometry 32 (3), pp. 173–187. External Links: ISSN 0925-7721 Cited by: §1.1.
  • [11] P. Damaschke (1989) The Hamiltonian circuit problem for circle graphs is NP-complete. Information Processing Letters 32 (1), pp. 1 – 2. Cited by: §3.2.
  • [12] M. de Berg, M. van Kreveld, and S. Schirra (1998) Topologically correct subdivision simplification using the bandwidth criterion. Cartography and Geographic Information Systems 25 (4), pp. 243–257. Cited by: §1.1.
  • [13] D. H. Douglas and T. K. Peucker (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] G. Ehrlich, S. Even, and R. E. Tarjan (1976) Intersection graphs of curves in the plane. Journal of Combinatorial Theory. Series B 21, pp. 8–20 (English). External Links: ISSN 0095-8956 Cited by: §1.2.
  • [15] M. Godau (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] M. C. Golumbic (2004) Algorithmic graph theory and perfect graphs. Elsevier. Cited by: §1.2.
  • [17] I.-A. Hartman, I. Newman, and R. Ziv (1991) On grid intersection graphs. Discrete Mathematics 87, pp. 41–52. Cited by: §1.2.
  • [18] H. Imai and M. Iri (1986) An optimal algorithm for approximating a piecewise linear function. Journal of Information Processing 9 (3), pp. 159–162. Cited by: §1.1.
  • [19] H. Imai and M. Iri (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] Y. Jinjiang and Z. Sanming (1995) Optimal labelling of unit interval graphs. Applied Mathematics 10 (3), pp. 337–344. Cited by: §1.2.
  • [21] I. Kostitsyna, M. Löffler, V. Polishchuk, and F. Staals (2017) On the complexity of minimum-link path problems. Journal of Computational Geometry 8 (2), pp. 80–108. Cited by: §1.1, Table 1.
  • [22] J. Kratochvíl and J. Matoušek (1994) Intersection graphs of segments. Journal of Combininatorial Theory, Series B 62 (2), pp. 289–315. Cited by: §1.2.
  • [23] C. McDiarmid and T. Müller (2013) Integer realizations of disk and segment graphs. Journal of Combinatorial Theory, Series B 103 (1), pp. 114–143. Cited by: §1.2.
  • [24] T. A. McKee and F. McMorris (1999) Topics in intersection graph theory. Society for Industrial and Applied Mathematics. Cited by: §1.2.
  • [25] I. Mustata (2014) On subclasses of grid intersection graphs. Doctoral Thesis, Technische Universität Berlin, Berlin. Cited by: Figure 2, §1.2.
  • [26] M. van de Kerkhof, I. Kostitsyna, M. Löffler, M. Mirzanezhad, and C. Wenk (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] M. van Kreveld, M. Löffler, and L. Wiratma (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 non-zero 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 non-zero , 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 NP-hard 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 non-zero , 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 half-lines 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 x-coordinate 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:

Figure 7: The three cases for two needle segments’ cones. The segments are shown in black. The tips of the cones are shown in gray. The tail of the -cone is shown in pink and the tail of the -cone in gray.For the second and third case, the cone can be fattened (i.e. increased) as long as this does not cause the tails to intersect.
  • 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 non-zero 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 NP-hard.

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.