A fundamental problem in shape matching and geometric similarity is computing the maximum area overlap between two polygons under translation. For general simple polygons, the best-known algorithm runs in $O((nm)^2 \log(nm))$ time [Mount, Silverman, Wu 96], where $n$ and $m$ are the complexities of the input polygons. In a recent breakthrough, Chan and Hair gave a linear-time algorithm for the special case when both polygons are convex. A key challenge in computational geometry is to design improved algorithms for other natural classes of polygons. We address this by presenting an $O((nm)^{3/2} \log(nm))$-time algorithm for the case when both polygons are orthogonal. This is the first algorithm for polygon overlap on orthogonal polygons that is faster than the almost 30 years old algorithm for simple polygons. Complementing our algorithmic contribution, we provide $k$-SUM lower bounds for problems on simple polygons with only orthogonal and diagonal edges. First, we establish that there is no algorithm for polygon overlap with running time $O(\max(n^2,nm^2)^{1-\varepsilon})$, where $m\leq n$, unless the $k$-SUM hypothesis fails. This matches the running time of our algorithm when $n=m$. We use part of the above construction to also show a lower bound for the polygon containment problem, a popular special case of the overlap problem. Concretely, there is no algorithm for polygon containment with running time $O(n^{2-\varepsilon})$ under the $3$-SUM hypothesis, even when the polygon to be contained has $m=O(1)$ vertices. Our lower bound shows that polygon containment for these types of polygons (i.e., with diagonal edges) is strictly harder than for orthogonal polygons, and also strengthens the previously known lower bounds for polygon containment. Furthermore, our lower bounds show tightness of the algorithm of [Mount, Silverman, Wu 96] when $m=O(1)$.


翻译:形状匹配与几何相似性中的一个基本问题是计算两个多边形在平移下的最大面积重叠。对于一般简单多边形,已知最佳算法的时间复杂度为 $O((nm)^2 \\log(nm))$ [Mount, Silverman, Wu 96],其中 $n$ 和 $m$ 分别为输入多边形的复杂度。在最近的一项突破中,Chan 和 Hair 针对两个多边形均为凸多边形这一特殊情况给出了线性时间算法。计算几何学中的一个关键挑战是为其他自然类别的多边形设计改进算法。我们通过提出一个时间复杂度为 $O((nm)^{3/2} \\log(nm))$ 的算法来解决正交多边形的情况,从而应对这一挑战。这是首个针对正交多边形重叠问题、且快于近30年前针对简单多边形算法的算法。作为我们算法贡献的补充,我们为仅包含正交边和对角边的简单多边形问题提供了 $k$-SUM 下界。首先,我们证明除非 $k$-SUM 假设不成立,否则不存在运行时间为 $O(\\max(n^2,nm^2)^{1-\\varepsilon})$ 的多边形重叠算法,其中 $m\\leq n$。当 $n=m$ 时,这与我们算法的运行时间相匹配。我们利用上述构造的一部分,也为多边形包含问题(重叠问题的一个常见特例)展示了一个下界。具体而言,在 $3$-SUM 假设下,即使待包含的多边形顶点数 $m=O(1)$,也不存在运行时间为 $O(n^{2-\\varepsilon})$ 的多边形包含算法。我们的下界表明,对于这类多边形(即包含对角边),多边形包含问题严格难于正交多边形的情况,同时也强化了先前已知的多边形包含问题下界。此外,我们的下界在 $m=O(1)$ 时证明了 [Mount, Silverman, Wu 96] 算法的紧性。

0
下载
关闭预览

相关内容

在数学和计算机科学之中,算法(Algorithm)为一个计算的具体步骤,常用于计算、数据处理和自动推理。精确而言,算法是一个表示为有限长列表的有效方法。算法应包含清晰定义的指令用于计算函数。 来自维基百科: 算法
FlowQA: Grasping Flow in History for Conversational Machine Comprehension
专知会员服务
34+阅读 · 2019年10月18日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
163+阅读 · 2019年10月12日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
Unsupervised Learning via Meta-Learning
CreateAMind
43+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
STRCF for Visual Object Tracking
统计学习与视觉计算组
15+阅读 · 2018年5月29日
Focal Loss for Dense Object Detection
统计学习与视觉计算组
12+阅读 · 2018年3月15日
国家自然科学基金
2+阅读 · 2017年12月31日
国家自然科学基金
13+阅读 · 2017年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
VIP会员
相关资讯
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
Unsupervised Learning via Meta-Learning
CreateAMind
43+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
STRCF for Visual Object Tracking
统计学习与视觉计算组
15+阅读 · 2018年5月29日
Focal Loss for Dense Object Detection
统计学习与视觉计算组
12+阅读 · 2018年3月15日
相关基金
国家自然科学基金
2+阅读 · 2017年12月31日
国家自然科学基金
13+阅读 · 2017年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员