【问题标题】:Maximum Distance of 2 sets of points with a 2-factor approximation2 因子近似的 2 组点的最大距离
【发布时间】:2020-08-25 20:37:36
【问题描述】:

给定一组 n 个点,我随机取 k 个点。我需要以最有效的方式计算 k 点与 n 点之间的 最大距离,并使用 2-approx 因子(以某种方式利用三角不等式)。 我的第一个想法是使用曼哈顿距离而不是欧几里得距离,但这并没有降低复杂性,因为它仍然是 O(n*k)。 有什么想法?

编辑:如果我首先计算 k 个点中最远的 2 个点,然后计算 2 个点与所有 n 个点的距离怎么办?

【问题讨论】:

标签: python time-complexity approximation pairwise-distance


【解决方案1】:

从技术上讲,如果您只是寻找距离最大的点,您可以用这些点构建一个多边形(凸包),最大距离应该是边界中的那些。

你可以在 O(k.log(k)) 中计算凸包

https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.ConvexHull.html

之后,您只需在边界上测试点即可。

这是确定性方法,您可以应用启发式随机搜索来加快速度,但不能保证提供正确的解决方案。

这是一篇用另一种算法讨论该主题的论文:https://arxiv.org/ftp/arxiv/papers/1708/1708.02758.pdf

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-21
    • 2011-12-16
    • 2021-08-06
    • 1970-01-01
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多