一组可接受启发式的最大值如何成为主导启发式?

How is the max of a set of admissible heuristics, a dominating heuristic?

如果您有一组可接受的启发式方法:h1,h2,h2,...,hn

h = max(h1,h2,h2,...,hn) 如何成为一种可以接受的启发式方法来支配它们?

难道 h(n) 值越低越好吗?

对于A*,f = g + n,f最小的元素将从列表中移除。那么 min 不应该给出主导启发式吗?

可接受的启发式永远不会高估达到目标状态的成本。也就是说,它的估计值将低于实际成本或恰好是实际成本,但绝不会高于实际成本。这是 A* 搜索等贪婪方法寻找全局最佳解决方案所必需的。

例如,假设您找到了一个成本为 10 的解决方案。最佳解决方案的成本为 8。您没有使用可接受的启发式算法,而实际成本为 8 的解决方案的启发式估计值为 12 (这是高估了)。由于您已经有成本为 10 的解决方案,因此 A* 永远不会评估最佳解决方案,因为它估计更昂贵。

理想情况下,您的启发式应该尽可能准确,即可接受的启发式不应过分低估真实成本。如果是这样,A* 最终仍会找到最佳解决方案,但这样做可能需要更长的时间,因为它尝试了很多根据您的启发式看起来不错的解决方案,但结果却很糟糕。

这就是您问题的答案所在。您的启发式 h1, ..., hn 都是可以接受的,因此他们估计的成本等于或小于真实成本。因此,根据定义,这组估算值的最大值 是与实际成本最接近 的估算值(请记住,您永远不会高估)。在理想情况下,这将是准确的成本。

如果您要取最小值,您最终会得到与实际成本最远的估计值——如上所述,A* 仍然会找到最好的解决方案,但效率要低得多。