作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的 A* 算法在一定程度上发挥了作用。它会在空间中跟随玩家,但不会绕过需要远离目标才能绕过的物体。当它意识到下一个节点具有更高的 F 值(离目标更远)时,它将拒绝去那里,只会继续寻找更低的 F 值(更接近目标的节点)没有找到(它卡在一个永无止境的循环)。
我认为我对启发式方法的使用的理解可能是问题所在。
我的 A* 总是移动到具有最低 F 值 (H+G) 的下一个节点。除了将它们添加到 F 中,我从不考虑 G 或 H 值。
在我读过的教程中,他们谈到使用 G 值,但我认为 F 值是唯一重要的。
有人能总结一下我是如何使用启发式值的吗?我想我快到了,只是启发式的使用令人困惑。
最佳答案
您是否保留备用路径段的优先级队列?如果只看成本最低的下一步,将无法绕过障碍。
关于algorithm - A* 算法以及 F 和 G 启发式算法的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10342399/
我是一名优秀的程序员,十分优秀!