【问题标题】:Algorithm for the distance among nearest vectors最近向量之间距离的算法
【发布时间】:2018-09-13 11:33:24
【问题描述】:

给定 n 个维度为 m 的向量。对于每个向量,每个维度都可以被这个向量的另一个维度值替换,并且每个值只能用一次来替换另一个维度。在所有这 n 个向量发生变化之后,我们计算每个向量与其最近向量之间的曼哈顿距离。对于所有替换计划,我们选择能够得到所有这n个向量与这些最近向量之间距离之和最小的一个。 NP难吗?

【问题讨论】:

  • 不清楚“对于每个向量,每个维度都可以被这个向量的另一个维度值替换”是什么意思。可以举个例子吗?
  • 假设我们有一个向量 (A1, A2, .., An)。我们可以使用这些 n 值中的任何一个来表示更改后的新向量。例如,我们可以使用 A2 替换第一个维度的值,使用 A3 和 A1 分别替换第二个和第三个维度的值。因此我们得到了新的向量 (A2,A3,A1, ..., An)。
  • 听起来像是您要求社区为您解答的任务。此外,没有编程问题。

标签: algorithm vector nearest-neighbor np-hard


【解决方案1】:

除非我遗漏了什么,否则最佳配置将始终重新排列每一行,使其条目按升序排列。因此最佳运行时间应该是 O(m n log m),即对 n 个长度为 m 的列表进行排序所需的时间。

【讨论】:

  • 对不起,我忘记了一个重要的约束条件,即替换的总次数应该小于给定的阈值 C。也就是说,我们不能重新排列每一行。
  • @DavidMakogon:算法问题跑题了?我在规则中没有看到任何相关内容。
猜你喜欢
  • 2021-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-18
  • 2011-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多