距离有哪些常见的可接受的启发式方法?

时间:2015-03-24 05:15:14

标签: artificial-intelligence a-star heuristics

用于估算智能搜索问题中距离的最常用启发式算法是什么?特别是,我对可以(通常)用作A *搜索的可接受启发式的指标感兴趣。我遇到了直线距离和曼哈顿距离,但还有其他人吗?

1 个答案:

答案 0 :(得分:3)

启发式算法往往对特定问题非常具体,因为这个想法是要包含您可能对该问题的其他知识。所以"一般启发式"不是一个非常有用的类别。也就是说,听起来你特别在谈论距离度量,这是一个稍微定义明确的子集。

就可接受的距离启发法而言,你已经提到过的两个肯定是最常见的:

  • 直线距离是空间中一般无约束运动的唯一允许启发式算法,因为任意两点之间的最短路径是直线。
  • 当然,几乎任何具有挑战性的问题都会对运动产生一些限制。这种运动中常见的一种约束必须一次沿着一个轴发生,对于这些问题,曼哈顿距离是合适的。

还有其他一些受欢迎的距离指标,但它们不太适用于启发式。

  • 切比雪夫距离 - 沿单个坐标的距离,以较大者为准。虽然这通常应该是可接受的(它会低估,因为它没有考虑沿其他轴的移动),但它的信息量远远低于曼哈顿距离。可能在某些情况下这很有用,但它们并不常见。
  • Minkowski Distance - 曼哈顿距离和欧几里德(直线)距离的一般情况。然而,它明显不如那些特殊情况那么直观,所以,再一次,我不能提出一个很好的例子,说明你何时选择它们。
  • 汉明距离 - 这并非适用于所有问题,但会计算为您需要对两个向量进行相同编辑的最小编辑次数。由于它是最小数字,因此某些问题可能会被允许,例如word mutation game具有相等长度的单词。 (如果字长不相等,则需要使用 Levenshtein Distance ,这允许插入间隙。这需要相当长的时间来计算(O(n ^ 2)),因此不太可能是一种有效的启发式方法。)
  • Canberra Distance ,一种缩放的曼哈顿距离,通常用于分散在原点周围的点,但在许多情况下是不可接受的。
  • Jaccard Distance 是在比较要素集时使用的相似性度量。它比缺席更强烈地对特征的存在进行加权。您需要在功能集上使用启发式的问题相对不常见,因此很难知道可接受性的合理默认假设是什么。一般来说,我猜想现有和缺席特征之间的不对称可能会使Jaccard距离因某些问题不可接受,但如果你真的只关心当前的特征,它可能不会成为一个问题。

当然,还有许多其他距离指标,但这些指标大多数都不如直线和曼哈顿距离那么受欢迎,但仍然相当普遍。