线段集合匹配与高效盒子折叠算法
线段集合匹配算法
在处理线段集合匹配问题时,我们会从静态情况入手,逐步深入到考虑平移和旋转等变换下的豪斯多夫距离问题。
静态情况
当线段集合 (S) 不进行任何变换时,我们有如下算法来计算其与集合 (S’) 的近似豪斯多夫距离:
1. 构建近似近邻数据结构 :将 (S’) 中的线段视为 (R^{2d}) 中的点,使用 Arya 等人提出的近似近邻数据结构(ANN)进行记录。该结构的构建时间为 (O(n \log n)),并且能在 (O((1/\epsilon^{2d}) \log n)) 时间内报告 (S’) 中一个 ((1 + \epsilon)) - 近似最近线段。
2. 计算近似最近线段 :对于 (S) 中的每个线段 (s),计算其在 (S’) 中的 ((1 + \epsilon)) - 近似最近线段 (N_{\epsilon}(s))。
3. 计算近似豪斯多夫距离 :返回 (\delta_{\epsilon} = \max_{s \in S} d(s, N_{\epsilon}(s)) / \ell(s)),根据近似近邻的定义,(\delta_{\epsilon}) 是 (d_H(S, S’)) 的 ((1 + \epsilon)) - 近似值。
定理 1 表明,如果 (S) 和 (S’) 分别是 (R^d) 中的 (m) 和 (n) 条线段的集合,我们可以在 (O((m/\epsilon^{2d} + n) \log n)) 时间内找到一个容差 (\delta_{\epsi
超级会员免费看
订阅专栏 解锁全文
1831

被折叠的 条评论
为什么被折叠?



