子路径凸壳查询算法和线段间射线扫描算法

IF 1.2 3区 计算机科学 Q3 COMPUTER SCIENCE, THEORY & METHODS
Haitao Wang
{"title":"子路径凸壳查询算法和线段间射线扫描算法","authors":"Haitao Wang","doi":"10.1137/21m145118x","DOIUrl":null,"url":null,"abstract":"SIAM Journal on Computing, Volume 53, Issue 4, Page 1132-1161, August 2024. <br/> Abstract. In this paper, we first consider the subpath convex hull query problem: Given a simple path [math] of [math] vertices, preprocess it so that the convex hull of any query subpath of [math] can be quickly obtained. Previously, Guibas, Hershberger, and Snoeyink [Int. J. Comput. Geom. Appl., 1 (1991), pp. 1–22; first appeared in SODA 1990] proposed a data structure of [math] space and [math] query time; they also reduced the query time to [math] by increasing the space to [math]. We present an improved result that uses [math] space while achieving [math] query time. Like the previous work, our query algorithm returns a compact interval tree representing the convex hull so that standard binary-search-based queries on the hull can be performed in [math] time each. The preprocessing time of our data structure is [math] after the vertices of [math] are sorted by [math]-coordinate. As the subpath convex hull query problem has many applications, our new result leads to improvements for several other problems. In particular, with the help of the above result, along with other techniques, we present new algorithms for the ray-shooting problem among segments. Given a set of [math] (possibly intersecting) line segments in the plane, preprocess it so that the first segment hit by a query ray can be quickly found. We give a data structure of [math] space that can answer each query in [math] time. If the segments are nonintersecting or if the segments are lines, then the space can be reduced to [math]. As a by-product, given a set of [math] (possibly intersecting) segments in the plane, we build a data structure of [math] space that can determine whether a query line intersects a segment in [math] time. The preprocessing time is [math] for all four problems, which can be reduced to [math] time by a randomized algorithm so that the query time is bounded by [math] with high probability. All these are classical problems that have been studied extensively. Previously data structures of [math] query time were known in the early 1990s (the notation [math] suppresses a polylogarithmic factor); nearly no progress has been made for more than two decades. For all these problems, our new results provide improvements by reducing the space of the data structures by at least a logarithmic factor while the preprocessing and query times are the same as before or even better.","PeriodicalId":49532,"journal":{"name":"SIAM Journal on Computing","volume":"60 1","pages":""},"PeriodicalIF":1.2000,"publicationDate":"2024-08-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Algorithms for Subpath Convex Hull Queries and Ray-Shooting among Segments\",\"authors\":\"Haitao Wang\",\"doi\":\"10.1137/21m145118x\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"SIAM Journal on Computing, Volume 53, Issue 4, Page 1132-1161, August 2024. <br/> Abstract. In this paper, we first consider the subpath convex hull query problem: Given a simple path [math] of [math] vertices, preprocess it so that the convex hull of any query subpath of [math] can be quickly obtained. Previously, Guibas, Hershberger, and Snoeyink [Int. J. Comput. Geom. Appl., 1 (1991), pp. 1–22; first appeared in SODA 1990] proposed a data structure of [math] space and [math] query time; they also reduced the query time to [math] by increasing the space to [math]. We present an improved result that uses [math] space while achieving [math] query time. Like the previous work, our query algorithm returns a compact interval tree representing the convex hull so that standard binary-search-based queries on the hull can be performed in [math] time each. The preprocessing time of our data structure is [math] after the vertices of [math] are sorted by [math]-coordinate. As the subpath convex hull query problem has many applications, our new result leads to improvements for several other problems. In particular, with the help of the above result, along with other techniques, we present new algorithms for the ray-shooting problem among segments. Given a set of [math] (possibly intersecting) line segments in the plane, preprocess it so that the first segment hit by a query ray can be quickly found. We give a data structure of [math] space that can answer each query in [math] time. If the segments are nonintersecting or if the segments are lines, then the space can be reduced to [math]. As a by-product, given a set of [math] (possibly intersecting) segments in the plane, we build a data structure of [math] space that can determine whether a query line intersects a segment in [math] time. The preprocessing time is [math] for all four problems, which can be reduced to [math] time by a randomized algorithm so that the query time is bounded by [math] with high probability. All these are classical problems that have been studied extensively. Previously data structures of [math] query time were known in the early 1990s (the notation [math] suppresses a polylogarithmic factor); nearly no progress has been made for more than two decades. For all these problems, our new results provide improvements by reducing the space of the data structures by at least a logarithmic factor while the preprocessing and query times are the same as before or even better.\",\"PeriodicalId\":49532,\"journal\":{\"name\":\"SIAM Journal on Computing\",\"volume\":\"60 1\",\"pages\":\"\"},\"PeriodicalIF\":1.2000,\"publicationDate\":\"2024-08-13\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"SIAM Journal on Computing\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://doi.org/10.1137/21m145118x\",\"RegionNum\":3,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, THEORY & METHODS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"SIAM Journal on Computing","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1137/21m145118x","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0

摘要

SIAM 计算期刊》,第 53 卷第 4 期,第 1132-1161 页,2024 年 8 月。 摘要本文首先考虑子路径凸壳查询问题:给定一条顶点为[math]的简单路径[math],对其进行预处理,以便快速得到[math]的任意查询子路径的凸壳。此前,Guibas、Hershberger 和 Snoeyink [Int.J. Comput.Geom.应用,1 (1991),第 1-22 页;首次发表于 SODA 1990]提出了一种[math]空间和[math]查询时间的数据结构;他们还通过增加[math]空间减少了[math]的查询时间。我们提出了一个改进的结果,即使用 [math] 空间,同时达到 [math] 查询时间。与前人的工作一样,我们的查询算法会返回一棵代表凸壳的紧凑区间树,因此对凸壳进行基于二元搜索的标准查询只需[math]时间。按[math]坐标对[math]顶点排序后,我们数据结构的预处理时间为[math]。由于子路径凸壳查询问题有很多应用,我们的新结果可以改进其他一些问题。特别是,在上述结果和其他技术的帮助下,我们提出了线段间射线搜索问题的新算法。给定平面中的一组[math]线段(可能相交),对其进行预处理,以便快速找到查询射线命中的第一个线段。我们给出一个[数学]空间的数据结构,它能在[数学]时间内回答每个查询。如果线段互不相交,或者线段都是直线,那么空间可以简化为 [math]。作为副产品,给定平面上的一组 [math](可能相交)线段,我们建立一个 [math] 空间的数据结构,它能在 [math] 时间内确定查询线段是否与线段相交。这四个问题的预处理时间都是[math],可以通过随机算法缩短到[math]时间,这样查询时间就可以高概率地被[math]限定。所有这些问题都是已经被广泛研究过的经典问题。早在 20 世纪 90 年代初,[math]查询时间的数据结构就已为人所知([math]符号抑制了一个多项式因子);二十多年来,几乎没有取得任何进展。对于所有这些问题,我们的新成果都有所改进,数据结构的空间至少减少了一个对数因子,而预处理和查询时间与以前相同,甚至更好。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Algorithms for Subpath Convex Hull Queries and Ray-Shooting among Segments
SIAM Journal on Computing, Volume 53, Issue 4, Page 1132-1161, August 2024.
Abstract. In this paper, we first consider the subpath convex hull query problem: Given a simple path [math] of [math] vertices, preprocess it so that the convex hull of any query subpath of [math] can be quickly obtained. Previously, Guibas, Hershberger, and Snoeyink [Int. J. Comput. Geom. Appl., 1 (1991), pp. 1–22; first appeared in SODA 1990] proposed a data structure of [math] space and [math] query time; they also reduced the query time to [math] by increasing the space to [math]. We present an improved result that uses [math] space while achieving [math] query time. Like the previous work, our query algorithm returns a compact interval tree representing the convex hull so that standard binary-search-based queries on the hull can be performed in [math] time each. The preprocessing time of our data structure is [math] after the vertices of [math] are sorted by [math]-coordinate. As the subpath convex hull query problem has many applications, our new result leads to improvements for several other problems. In particular, with the help of the above result, along with other techniques, we present new algorithms for the ray-shooting problem among segments. Given a set of [math] (possibly intersecting) line segments in the plane, preprocess it so that the first segment hit by a query ray can be quickly found. We give a data structure of [math] space that can answer each query in [math] time. If the segments are nonintersecting or if the segments are lines, then the space can be reduced to [math]. As a by-product, given a set of [math] (possibly intersecting) segments in the plane, we build a data structure of [math] space that can determine whether a query line intersects a segment in [math] time. The preprocessing time is [math] for all four problems, which can be reduced to [math] time by a randomized algorithm so that the query time is bounded by [math] with high probability. All these are classical problems that have been studied extensively. Previously data structures of [math] query time were known in the early 1990s (the notation [math] suppresses a polylogarithmic factor); nearly no progress has been made for more than two decades. For all these problems, our new results provide improvements by reducing the space of the data structures by at least a logarithmic factor while the preprocessing and query times are the same as before or even better.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
SIAM Journal on Computing
SIAM Journal on Computing 工程技术-计算机:理论方法
CiteScore
4.60
自引率
0.00%
发文量
68
审稿时长
6-12 weeks
期刊介绍: The SIAM Journal on Computing aims to provide coverage of the most significant work going on in the mathematical and formal aspects of computer science and nonnumerical computing. Submissions must be clearly written and make a significant technical contribution. Topics include but are not limited to analysis and design of algorithms, algorithmic game theory, data structures, computational complexity, computational algebra, computational aspects of combinatorics and graph theory, computational biology, computational geometry, computational robotics, the mathematical aspects of programming languages, artificial intelligence, computational learning, databases, information retrieval, cryptography, networks, distributed computing, parallel algorithms, and computer architecture.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信