如果H一世hi是一致的和可接受的,它们的总和、最大值、最小值和平均值是否也是一致的和可接受的?

人工智能 可接受的启发式 一致启发式 启发式函数
2021-10-26 11:15:29

考虑以下问题:

n车辆占据广场(1,1)通过(n,1)(即底行)的n×n网格。车辆必须移到第一排,但顺序相反;所以车辆i开始于(i,1)必须最终在(ni+1,n). 在每个时间步,每个n车辆可以向上、向下、向左或向右移动一格,或者保持原地不动;但如果一辆车停在原地,另一辆相邻的车辆(但不超过一辆)可以跳过它。两辆车不能占据同一个广场。

假设每个启发式函数hi是可接受的和一致的。现在我想知道的是检查以下启发式的可接受性和一致性:

  1. h=Σihi

  2. h=mini(hi)

  3. h=maxi(hi)

  4. h=Σihin

PS:作为引理,我们知道一致性意味着启发式函数的可接受性。

问题说明

这个链接,我发现第一个启发式既不可接受,也不一致。

我知道第二个和第四个启发式要么是一致的,要么是可以接受的。

我在第三个启发式中遇到了一个矛盾:

矛盾的例子

在这里,我们看到如果汽车 3 跳了两次,则将所有汽车移动到目的地的总成本为 3,而启发式max(h1,,hn)=4.

问题

所以,max(h1,...,hn)必须是一致的和可接受的,但上面的例子表明它不是。我的错误是什么?

1个回答

问题是你必须包括关于跳入你的启发式的假设。特别是,如果您正在考虑单辆汽车,那么您必须假设它们可能能够一直跳到目标。因此,你对每辆车的启发式应该是曼哈顿距离除以 2。当你取最大值时,这保证是可以接受的。

如果您考虑所有可能的汽车,您可以做得更好,但您需要推理出所有情况。(一般来说,每辆车要么在等待,要么在移动,每辆车都可以跳。所以,通过查看任何一辆车到达目标的最小距离,你可以开始减少你的启发式算法。)但是,这是不同的问题。