Abstract
We present a new algorithm for finding minimum-link rectilinear paths among rectilinear obstacles in the plane. Given a triangulated rectilinear domain of h pairwise-disjoint rectilinear obstacles with a total of n vertices, our algorithm can find a minimum-link rectilinear path between any two points in \(O(n+ h \log h)\) time. Further, within the same time our algorithm can build an O(n)-size data structure for any source point s, such that given any query point t, the number of edges of a minimum-link rectilinear path from s to t can be computed in \(O(\log n)\) time and the actual path can be output in additional time linear in the number of the edges of the path. The previously best algorithms for the problems run in \(O(n \log n)\) time.
Similar content being viewed by others
Notes
Alternatively, one may replace \(dis(e_r)\ne 2i-1\) by \(dis(e_r)>2i-1\) for the definition, but we choose to use \(dis(e_r)\ne 2i-1\) only for making our discussion later easier.
A possible improvement might be to implement the split operations using finger search trees as in [19], although this would not affect the running time of the overall algorithm asymptotically.
References
Adegeest, J., Overmars, M., Snoeyink, J.: Minimum-link \(C\)-oriented paths: single-source queries. Int. J. Comput. Geom. Appl. 4, 39–51 (1994)
Arkin, E.M., Mitchell, J.S.B., Suri, S.: Logarithmic-time link path queries in a simple polygon. Int. J. Comput. Geom. Appl. 5(4), 369–395 (1995)
Bar-Yehuda, R., Chazelle, B.: Triangulating disjoint Jordan chains. Int. J. Comput. Geom. Appl. 4(4), 475–481 (1994)
Chazelle, B.: Triangulating a simple polygon in linear time. Discrete Comput. Geom. 6, 485–524 (1991)
Chazelle, B., Incerpi, J.: Triangulation and shape-complexity. ACM Trans. Graph. 3, 135–152 (1984)
Chen, D.Z., Inkulu, R., Wang, H.: Two-point \(L_1\) shortest path queries in the plane. In: Proceedings of the 30th Annual Symposium on Computational Geometry (SoCG), pp. 406–415 (2014)
Chen, D.Z., Wang, H.: A nearly optimal algorithm for finding \(L_1\) shortest paths among polygonal obstacles in the plane. In: Proceedings of the 19th European Symposium on Algorithms (ESA), pp. 481–492 (2011)
Cormen, T., Leiserson, C., Rivest, R., Stein, C.: Introduction to Algorithms, 3rd edn. MIT Press, Cambridge (2009)
Das, G., Narasimhan, G.: Geometric searching and link distance. In: Proceedings of the 2nd Workshop of Algorithms and Data Structures (WADS), pp. 261–272 (1991)
de Berg, M.: On rectilinear link distance. Comput. Geom. Theory Appl. 1, 13–34 (1991)
de Rezende, P.J., Lee, D.T., Wu, Y.F.: Rectilinear shortest paths in the presence of rectangular barriers. Discrete Comput. Geom. 4, 41–53 (1989)
Djidjev, H.N., Lingas, A., Sack, J.-R.: An \(O(n\log n)\) algorithm for computing the link center of a simple polygon. Discrete Comput. Geom. 8, 131–152 (1992)
Edelsbrunner, H., Guibas, L., Stolfi, J.: Optimal point location in a monotone subdivision. SIAM J. Comput. 15(2), 317–340 (1986)
ElGindy, H.: Hierarchical decomposition of polygons with applications. PhD thesis, McGill University, Montreal, Canada (1985)
Fournier, A., Montuno, D.Y.: Triangulating simple polygons and equivalent problems. ACM Trans. Graph. 3, 153–174 (1984)
Ghosh, S.K.: Computing the visibility polygon from a convex set and related problems. J. Algo. 12, 75–95 (1991)
Guibas, L.J., Hershberger, J., Mitchell, J.S.B., Snoeyink, J.S.: Approximating polygons and subdivisions with minimum-link paths. Int. J. Comput. Geom. Appl. 3, 383–415 (1993)
Hershberger, J., Snoeyink, J.: Computing minimum length paths of a given homotopy class. Comput. Geom. Theory Appl. 4, 63–97 (1994)
Hoffmann, K., Mehlhorn, K., Rosenstiehl, P., Tarjan, R.E.: Sorting Jordan sequences in linear time using level-linked search trees. Inf. Control 68, 170–184 (1986)
Imai, H., Asano, T.: Efficient algorithms for geometric graph search problems. SIAM J. Comput. 15(2), 478–494 (1986)
Kahan, S., Snoeyink, J.: On the bit complexity of minimum link paths: superquadratic algorithms for problem solvable in linear time. Comput. Geom. Theory Appl. 12, 33–44 (1999)
Kapoor, S., Maheshwari, S.N., Mitchell, J.S.B.: An efficient algorithm for Euclidean shortest paths among polygonal obstacles in the plane. Discrete Comput. Geom. 18(4), 377–383 (1997)
Kirkpatrick, D.: Optimal search in planar subdivisions. SIAM J. Comput. 12(1), 28–35 (1983)
Kolarov, K., Roth, B.: On the number of links and placement of telescoping manipulators in an environment with obstacles. In: Proceedings of the 5th International Conference on Advanced Robotices, pp. 988–993 (1991)
Kostitsyna, I., Löffler, M., Polishchuk, V., Staals, F.: On the complexity of minimum-link path problems. J. Comput. Geom. 8, 80–108 (2017)
Lingas, A., Maheshwari, A., Sack, J.-R.: Parallel algorithms for rectilinear link distance problems. Algorithmica 14, 261–289 (1995)
Maheshwari, A., Sack, J.-R., Djidjev, H.N.: Link distance problems. In: Sack, J.-R., Handbook of Computational Geometry, pp. 519–558. Elsevier, Amsterdam (2000)
McMaster, R.B.: Automated line generalization. Cartographica 26, 74–111 (1987)
Mitchell, J.S.B., Polishchuk, V., Sysikaski, M.: Minimum-link paths revisited. Comput. Geom. Theory Appl. 47, 651–667 (2014)
Mitchell, J.S.B., Rote, G., Woeginger, G.: Minimum-link paths among obstacles in the plane. Algorithmica 8, 431–459 (1992)
Mitchell, J.S.B., Suri, S.: Separation and approximation of polyhedral objects. Comput. Geom. Theory Appl. 5, 95–114 (1995)
Natarajan, B.: On comparing and compressing piece-wise linear curves. Technical report, Hewlett-Packward (1991)
Reif, J., Storer, J.A.: Minimizing turns for discrete movement in the interior of a polygon. J. Robot. Autom. 3(3), 182–193 (1987)
Sato, M., Sakanaka, J., Ohtsuki, T.: A fast line-search method based on a tile plane. In: Proceedings of the IEEE International Symposium on Circuits and Systems, pp. 588–597 (1987)
Schuierer, S.: An optimal data structure for shortest rectilinear path queries in a simple rectilinear polygon. Int. J. Comput. Geom. Appl. 6, 205–226 (1996)
Suri, S.: A linear time algorithm with minimum link paths inside a simple polygon. Comput. Vis., Graph. Image Process. 35(1), 99–110 (1986)
Suri, S.: Minimum link paths in polygons and related problems. PhD thesis, Johns Hopkins University, Baltimore, MD (1987)
Suri, S.: On some link distance problems in a simple polygon. IEEE Trans. Robot. Autom. 6, 108–113 (1990)
Tamassia, R.T.: On embedding a graph in the grid with minimum number of bends. SIAM J. Comput. 16, 421–444 (1987)
Acknowledgements
The authors wish to thank the anonymous reviewers for their suggestions that help improve the presentation of the paper. J. Mitchell acknowledges support from the US-Israel Binational Science Foundation (Grant 2010074) and the National Science Foundation (CCF-1018388, CCF-1526406). H. Wang was supported in part by NSF under Grant CCF-1317143.
Author information
Authors and Affiliations
Corresponding author
Additional information
A preliminary version of this paper appeared in the Proceedings of the 42nd International Colloquium on Automata, Languages, and Programming (ICALP 2015).
Rights and permissions
About this article
Cite this article
Mitchell, J.S.B., Polishchuk, V., Sysikaski, M. et al. An Optimal Algorithm for Minimum-Link Rectilinear Paths in Triangulated Rectilinear Domains. Algorithmica 81, 289–316 (2019). https://doi.org/10.1007/s00453-018-0446-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00453-018-0446-1