曼哈顿距离如何成为可接受的启发式?

Posted

技术标签:

【中文标题】曼哈顿距离如何成为可接受的启发式?【英文标题】:How is Manhattan distance an admissible heuristic? 【发布时间】:2011-06-02 01:46:51 【问题描述】:

在计算 1 个图块的移动时,难道不是真的可以导致其他图块达到目标状态吗?因此,计算每个图块可以让我们获得比达到目标状态所需的最小移动次数更多的计数?

这个问题是关于 15-Puzzle 的曼哈顿距离。

这里是不同的问题:

我们能否将曼哈顿距离用作 N-Puzzle 的可接受启发式算法。为了实现 A* 搜索,我们需要一个可接受的启发式算法。曼哈顿启发式是候选人吗?如果是,您如何反驳上述论点(问题的前 3 句话)?

定义:A*是一种搜索算法。它使用启发式函数来确定到目标​​的估计距离。只要这个启发式函数从不高估到目标的距离,算法就会找到最短路径,可能比广度优先搜索更快。满足该条件的启发式是可接受的

【问题讨论】:

您能否提供更多有关问题所在的背景信息?根据问题的不同,曼哈顿距离可以是完全可接受的,也可以是完全不可接受的。 曼哈顿距离是距离或工作的衡量标准,而不是一类问题。 描述 问题 @San 问题是这个en.wikipedia.org/wiki/Fifteen_puzzle @belisarius:A* 搜索中的“可接受启发式”是对您与目标的接近程度的估计,从不夸大距离。这保证了找到最短(或最低成本)的路径。这是一个真正的问题,尽管需要一些特定术语的知识,并且应该重新打开。 @David:它现在重新打开,并重新标记,以便它有标签,将它放在有必要知识的人可以找到它的地方。对于具有必要知识的人来说,这个问题大部分一开始就很清楚,尽管 15 谜题的 Wikipedia 链接(或它的描述)会是一个好主意。 【参考方案1】:

可接受的启发式方法不能高估解决此问题的移动次数。由于您一次只能在 4 个方向中的一个方向上移动块 1,因此每个块的最佳方案是它具有通向其目标状态的清晰、通畅的路径。这是 1 的医学博士。

一对块的其余状态是次优的,这意味着它需要比 M.D. 更多的动作才能将块放在正确的位置。因此,启发式永远不会高估并且是可以接受的。

当有人发布正确的正式版本时,我将删除。

【讨论】:

我明白了!我很抱歉没有那么清楚。发生这种情况可能是因为我没有充分考虑我面临的疑问【参考方案2】:

正式证明: 根据 h 的定义,如果 s* 是目标状态,则 h(s*) = 0。假设反证法 对于某个初始状态 s0,C∗ 0,这将我们带到 矛盾,因为 h(s*) 应该为零。因此,我们必须有 h(s0) ≤ C∗ forall s0, h 是可接受的。 (来源:加州大学尔湾分校)

【讨论】:

谢谢University of California, Irvine 很抱歉恢复了这个旧线程。我只是想问你是怎么得出这个结论的:h(s∗) ≥ h(s0) − C∗

以上是关于曼哈顿距离如何成为可接受的启发式?的主要内容,如果未能解决你的问题,请参考以下文章

曼哈顿距离过高估计让我发疯

启发函数

曼哈顿距离算法求职面试题

[省选]省选知识点进度

欧几里得距离曼哈顿距离切比雪夫距离

K-means真的不能使用曼哈顿距离吗?