我最近在学习A *算法,我知道在找到潜在路径时它需要一个启发式值,而且我也理解启发式算法的一致性和可接受性。但我很困惑,什么样的启发式是好的,为什么它好?
顺便说一下,启发式工作原理如何?答案 0 :(得分:1)
在我看来,选择启发式方法主要取决于问题。然而,如果以面向目标的方式理解问题,选择启发式变得更容易。至少那就是我做的。我遵循的想法是:
启发式在目标状态下评估为零。
那么所有情景都是什么?在目标中产生零的所有函数是什么?
可能的启发式
- 剩下的食品托盘数量?
- 当前托盘与下一个未探测托盘的距离?
- 带有食品托盘等的网格中的未开发区域
醇>
我会选择最后一个选项,因为它似乎更可靠,尽管这三个最终都会导致解决方案。
所以,我相信,你通过把自己放在目标上来选择启发式 状态,然后回头看看你所做的一切 办法。所以从某种意义上说,启发式只不过是近似的 需要完成什么(在目标时评估为0)。