【发布时间】:2013-12-29 05:49:06
【问题描述】:
任何一致的启发式也是可以接受的。但是什么时候可以接受启发式但不一致(单调)?
请提供一个例子。
【问题讨论】:
标签: search artificial-intelligence a-star heuristics
任何一致的启发式也是可以接受的。但是什么时候可以接受启发式但不一致(单调)?
请提供一个例子。
【问题讨论】:
标签: search artificial-intelligence a-star heuristics
正如 Russel 和 Norvig 在 Artificial Intelligence: A Modern Approach(最常用的 AI 教科书)中指出的那样,想出一个可接受但不一致的启发式方法是一项挑战。
显然,您可以为图中的节点选择值,以便它们所代表的启发式是可接受的,但不是一致的。 This paper by Felner et al 有一个很好的例子来说明这两种方法是可能的,但它有点密集,所以我会总结一下:
c1 处不一致,因为它给出的到达目标成本的下限低于其父节点。通过父节点到达目标的成本估计至少为 10(因为到 p 的路径的成本是 5,而在 p 的启发式估计也是 5)。然而,通过c1 到达目标的成本估计仅为 8(父级成本 (5),加上父级路径成本 (1),加上启发式估计 c1 (2))。李>
c2 处也不一致,因为从c2 到p 与上述问题相同。Felner 等人还提供了一些可接受但不一致的启发式的具体示例。考虑 8-puzzle 问题:
在这个拼图中,有 8 个编号为 1-8 的滑动图块和一个空白区域。瓷砖开始乱序(如左图所示)。目标是通过将瓷砖滑入空白空间,使拼图进入右侧所示的状态。这个问题的经典启发式(每个瓦片到它应该在的位置的曼哈顿距离)是可接受的和一致的。
但是,您可以提出不同的启发式方法。也许您只想查看 1、2 和 3 到它们应该处于目标状态的位置的曼哈顿距离(即距离的平方数)。启发式虽然不如所有瓦片的曼哈顿距离提供的信息量少,但仍然是可接受且一致的。
但是假设您选择了一组额外的正方形,可能是 5、6 和 7。然后假设您计算每个节点的启发式方法是通过随机选择其中一组 (1,2,和 3) 或 (5、6 和 7) 并计算他们到目标位置的曼哈顿距离。这种启发式仍然可以接受 - 它只能低估或匹配达到目标状态所需的移动次数。但是,它不再一致 - 每个节点的启发式估计之间没有明确的关系。
【讨论】:
早就死了,但无论如何我都会给我两分钱。我认为到目前为止,考虑这一点的最简单方法是,可接受的启发式表示到达特定定义的目标节点时不能超调,而一致的启发式表示到达任何节点时都不能超调。这使关系变得清晰:由于目标节点是某个节点,因此可以接受一致的启发式。但是由于admissible 只保证一个节点的这个属性,所以admissible 并不意味着一致性。
【讨论】:
最好将一致启发式视为遵循三角不等式的可接受启发式:
Cost(a -> c) <= Cost(a -> b) + Cost(b -> c)
对于搜索空间中的任意三个节点 a、b 和 c,理解成本是使用相邻节点之间的实际成本计算的,否则使用启发式方法。
【讨论】:
永远不要高估实现目标的成本。 f(n) 永远不会高估沿当前路径通过 n 的解决方案的成本。 可接受启发式的一个明显例子是直线距离。
【讨论】: