作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
三个AI新手问题:
Manhattan distance
为基础启发式,调用是 h(x)。现在为什么 A* 应该使用 8*h(x) + 5 的新启发式找到非最优路径? (随机数)。据我了解在 A* 算法中,将根据函数
f(x) = g(x) + h(x)
做出决定。所以如果我按比例增加 h,为什么最大\最小要改变?
最佳答案
1) 简洁的答案是,如果您的启发式方法 Not Acceptable ,您将(可能)得到非最佳结果。我想你知道这一点。对于直觉,请回想可接受的启发式的定义:它是一种永远不会比现实更悲观的启发式方法。 (我们通常说,“它总是乐观的”,因为如果你有一个既不乐观也不悲观的启发式,你基本上已经有了答案。)如果你的启发式在某些地方是悲观的,那么它最终会避免最好的选择。
至于根据您的问题扩大和缩小启发式,请记住,您只是扩大了公式的启发式部分,而不是公式的沉没成本部分。如果您可以完全相同地按比例放大它们,您就看不到差异,但您不能总是那样做。即使在您的示例中,您添加的附加位也会破坏它。
2-3)我不清楚你所说的“解决”吃 bean 是什么意思。如果有什么比找到一条最短路径来吃掉空网格中的所有点更复杂的话,我认为你已经远远超出了 A* 的范围。即便如此,A* 也不会是我的首选工具。
关于artificial-intelligence - 加权 A* 中的启发式函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12243421/
我是一名优秀的程序员,十分优秀!