Dynamic Convex Hulls for Simple Paths (2403.05697v1)
Abstract: We consider the planar dynamic convex hull problem. In the literature, solutions exist supporting the insertion and deletion of points in poly-logarithmic time and various queries on the convex hull of the current set of points in logarithmic time. If arbitrary insertion and deletion of points are allowed, constant time updates and fast queries are known to be impossible. This paper considers two restricted cases where worst-case constant time updates and logarithmic time queries are possible. We assume all updates are performed on a deque (double-ended queue) of points. The first case considers the monotonic path case, where all points are sorted in a given direction, say horizontally left-to-right, and only the leftmost and rightmost points can be inserted and deleted. The second case assumes that the points in the deque constitute a simple path. Note that the monotone case is a special case of the simple path case. For both cases, we present solutions supporting deque insertions and deletions in worst-case constant time and standard queries on the convex hull of the points in $O(\log n)$ time, where $n$ is the number of points in the current point set. The convex hull of the current point set can be reported in $O(h+\log n)$ time, where $h$ is the number of edges of the convex hull. For the 1-sided monotone path case, where updates are only allowed on one side, the reporting time can be reduced to $O(h)$, and queries on the convex hull are supported in $O(\log h)$ time. All our time bounds are worst case. In addition, we prove lower bounds that match these time bounds, and thus our results are optimal. For a quick comparison, the previous best update bounds for the simple path problem were amortized $O(\log n)$ time by Friedman, Hershberger, and Snoeyink [SoCG 1989].
- An algorithm for organization of information. Doklady Akademii Nauk, 146(2):263–266, 1962.
- A.M. Andrew. Another efficient algorithm for convex hulls in two dimensions. Information Processing Letters, 9:216–219, 1979. doi:10.1016/0020-0190(79)90072-3.
- Michael Ben-Or. Lower bounds for algebraic computation trees (preliminary report). In Proceedings of the 15th Annual ACM Symposium on Theory of Computing (STOC), pages 80–86, 1983. doi:10.1145/800061.808735.
- Gerth Stølting Brodal. Finger search trees. In Dinesh P. Mehta and Sartaj Sahni, editors, Handbook of Data Structures and Applications. Chapman and Hall/CRC, 2004. URL: https://www.cs.au.dk/~gerth/papers/finger05.pdf.
- Dynamic planar convex hull with optimal query time and O(logn⋅loglogn)𝑂⋅𝑛𝑛O(\log n\cdot\log\log n)italic_O ( roman_log italic_n ⋅ roman_log roman_log italic_n ) update time. In Proceedings of the 7th Scandinavian Workshop on Algorithm Theory (SWAT), pages 57–70, 2000. doi:10.1007/3-540-44985-X_7.
- Dynamic planar convex hull. In Proceedings of the 43rd IEEE Symposium on Foundations of Computer Science (FOCS), pages 617–626, 2002. doi:10.1109/SFCS.2002.1181985.
- Dynamic convex hull for simple polygonal chains in constant amortized time per update. In Proceedings of the 31st European Workshop on Computational Geometry (EuroCG), 2015. URL: https://perso.esiee.fr/~busn/publications/2015_eurocg_dynamicConvexHull/eurocg2015_dynamicHull.pdf.
- Timothy M. Chan. Optimal output-sensitive convex hull algorithms in two and three dimensions. Discrete and Computational Geometry, 16:361–368, 1996. doi:10.1007/BF02712873.
- Timothy M. Chan. Dynamic planar convex hull operations in near-logarithmaic amortized time. Journal of the ACM, 48:1–12, 2001. doi:10.1145/363647.363652.
- Timothy M. Chan. Three problems about dynamic convex hulls. Int. J. Comput. Geom. Appl., 22(4):341–364, 2012. doi:10.1142/S0218195912600096.
- Fractional cascading: II. Applications. Algorithmica, 1:163–191, 1986. doi:10.1007/BF01840441.
- An efficient algorithm for finding the CSG representation of a simple polygon. Algorithmica, 10:1–23, 1993. doi:10.1007/BF01908629.
- Making data structures persistent. Journal of Computer and System Sciences, 38:86–124, 1989. doi:10.1016/0022-0000(89)90034-2.
- Simulation of simplicity: A technique to cope with degenerate cases in geometric algorithms. ACM Transactions on Graphics, 9:66–104, 1990. doi:10.1145/77635.77639.
- Efficiently planning compliant motion in the plane. SIAM Journal on Computing, 25:562–599, 1996. doi:10.1145/73833.73854.
- Ronald L. Graham. An efficient algorithm for determining the convex hull of a finite planar set. Information Processing Letters, 1:132–133, 1972. doi:10.1016/0020-0190(72)90045-2.
- Finding the convex hull of a simple polygon. Journal of Algorithms, 4:324–331, 1983. doi:10.1016/0196-6774(83)90013-5.
- Compact interval trees: A data structure for convex hulls. International Journal of Computational Geometry and Applications, 1:1–22, 1991. doi:10.1142/S0218195991000025.
- A new representation for linear lists. In Proceedings of the 9th Annual ACM Symposium on Theory of Computing (STOC), pages 49–60, 1977. doi:10.1145/800105.803395.
- Cartographic line simplification and polygon CSG formula in O(nlog*n)𝑂𝑛superscript𝑛O(n\log^{*}n)italic_O ( italic_n roman_log start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT italic_n ) time. Computational Geometry: Theory and Applications, 11:175–185, 1998. doi:10.1016/S0925-7721(98)00027-3.
- Offline maintenance of planar configurations. In Proceedings of the 2nd Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 32–41, 1991. doi:10.5555/127787.127801.
- Applications of a semi-dynamic convex hull algorithm. BIT, 32:249–267, 1992. doi:10.1007/BF01994880.
- Persistent lists with catenation via recursive slow-down. In Proceedings of the Twenty-Seventh Annual ACM Symposium on Theory of Computing (STOC), pages 93–102, 1995. doi:10.1145/225058.225090.
- Faster kinetic heaps and their use in broadcast scheduling. In Proceedings of the 20th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 836–844, 2001. doi:10.5555/365411.365793.
- The ultimate planar convex hull algorithm? SIAM Journal on Computing, 15:287–299, 1986. doi:10.1137/0215021.
- Donald E. Knuth. The Art of Computer Programming, Volume I: Fundamental Algorithms, 2nd Edition. Addison-Wesley, 1973.
- Avraham A. Melkman. On-line construction of the convex hull of a simple polyline. Information Processing Letters, 25(1):11–12, 1987. doi:10.1016/0020-0190(87)90086-X.
- Mark H. Overmars. The Design of Dynamic Data Structures, volume 156 of Lecture Notes in Computer Science. Springer, 1983. doi:10.1007/BFB0014927.
- Mark H. Overmars and Jan van Leeuwen. Maintenance of configurations in the plane. Journal of Computer and System Sciences, 23:166–204, 1981. doi:10.1016/0022-0000(81)90012-X.
- Franco P. Preparata. An optimal real-time algorithm for planar convex hulls. Communications of the ACM, 22:402–405, 1979. doi:10.1145/359131.359132.
- Planar point location using persistent search trees. Communications of the ACM, 29:669–679, 1986.
- Rajamani Sundar. Worst-case data structures for the priority queue with attrition. Information Processing Letters, 31:69–75, 1989. doi:10.1016/0020-0190(89)90071-9.
- Athanasios K. Tsakalidis. AVL-trees for localized search. Information and Control, 67:173–194, 1985. doi:10.1016/S0019-9958(85)80034-6.
- Haitao Wang. Algorithms for subpath convex hull queries and ray-shooting among segments. In Proceedings of the 36th International Symposium on Computational Geometry (SoCG), pages 69:1–69:14, 2020. doi:10.4230/LIPIcs.SoCG.2020.69.
- Haitao Wang. Dynamic convex hulls under window-sliding updates. In Proceedings of the 18th Algorithms and Data Structures Symposium (WADS), pages 689–703, 2023. doi:10.1007/978-3-031-38906-1_46.
- Chee-Keng Yap. A geometric consistency theorem for a symbolic perturbation scheme. Journal of Computer and System Sciences, 40:2–18, 1990. doi:10.1016/0022-0000(90)90016-E.