【问题标题】:Consistent and Admissible Heuristics一致和可接受的启发式
【发布时间】:2013-12-29 05:49:06
【问题描述】:

任何一致的启发式也是可以接受的。但是什么时候可以接受启发式但不一致(单调)?

请提供一个例子。

【问题讨论】:

    标签: search artificial-intelligence a-star heuristics


    【解决方案1】:

    正如 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 处也不一致,因为从c2p 与上述问题相同。

    Felner 等人还提供了一些可接受但不一致的启发式的具体示例。考虑 8-puzzle 问题:

    在这个拼图中,有 8 个编号为 1-8 的滑动图块和一个空白区域。瓷砖开始乱序(如左图所示)。目标是通过将瓷砖滑入空白空间,使拼图进入右侧所示的状态。这个问题的经典启发式(每个瓦片到它应该在的位置的曼哈顿距离)是可接受的和一致的。

    但是,您可以提出不同的启发式方法。也许您只想查看 1、2 和 3 到它们应该处于目标状态的位置的曼哈顿距离(即距离的平方数)。启发式虽然不如所有瓦片的曼哈顿距离提供的信息量少,但仍然是可接受且一致的。

    但是假设您选择了一组额外的正方形,可能是 5、6 和 7。然后假设您计算每个节点的启发式方法是通过随机选择其中一组 (1,2,和 3) 或 (5、6 和 7) 并计算他们到目标位置的曼哈顿距离。这种启发式仍然可以接受 - 它只能低估或匹配达到目标状态所需的移动次数。但是,它不再一致 - 每个节点的启发式估计之间没有明确的关系。

    【讨论】:

    • 事实上,Felner 等人在第 6 节中写道:“正如前面给出的人工智能:现代方法 [38] 中的引文所示,人们认为不一致的可接受启发式算法是很难创建。但是,事实证明这不是真的。” - 剩下的,很好的答案,谢谢。
    【解决方案2】:

    早就死了,但无论如何我都会给我两分钱。我认为到目前为止,考虑这一点的最简单方法是,可接受的启发式表示到达特定定义的目标节点时不能超调,而一致的启发式表示到达任何节点时都不能超调。这使关系变得清晰:由于目标节点是某个节点,因此可以接受一致的启发式。但是由于admissible 只保证一个节点的这个属性,所以admissible 并不意味着一致性。

    【讨论】:

    • 实际上。这没有意义。对于任何节点,可接受的、不一致的启发式算法仍然不能“过冲”,其中“过冲”意味着估计成本大于实际成本。一致性与启发式自身估计的单调性有关,而不与绝对真实成本有关,后者与可接纳性有关。碰巧的是,如果对于每一步,启发式都是一致的,在 k 步上,它就不能高估节点的成本,因此始终可以接受一致。
    • 除了@ealfonso 的评论,启发式是从任意节点到达目标的估计成本,而不是到达任意节点的成本,在这种情况下您需要两个参数,一个开始节点和一个结束节点。在前一种情况下,这是常用的,谈论任意节点的估计成本是没有意义的。
    • 我觉得这个解释很好。这里的过冲意味着新的总路径成本不应高于它必须的值,这意味着您将始终到达最有希望的节点。
    【解决方案3】:

    最好将一致启发式视为遵循三角不等式的可接受启发式:

    Cost(a -> c) <= Cost(a -> b) + Cost(b -> c)
    

    对于搜索空间中的任意三个节点 a、b 和 c,理解成本是使用相邻节点之间的实际成本计算的,否则使用启发式方法。

    【讨论】:

      【解决方案4】:

      可接受的启发式

      永远不要高估实现目标的成本。 f(n) 永远不会高估沿当前路径通过 n 的解决方案的成本。 可接受启发式的一个明显例子是直线距离。

      一致性启发式

      • 一致的启发式:对于任何一个动作 a 生成的每个节点 n 和 n 的每个后继 n':h(n) ≤ c(n,a,n') + h(n')
      • 仅在将 A* 应用于图形搜索时需要
      • 每个一致的启发式方法也是可以接受的。

      【讨论】:

      • > 每个一致的启发式也是可以接受的。这个要点为我清除了一切。现在我明白了,谢谢!
      猜你喜欢
      • 1970-01-01
      • 2021-02-12
      • 1970-01-01
      • 2020-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-09
      相关资源
      最近更新 更多