最短路径算法(A*)中的多个解决方案
Multiple solutions in Shorthest Path Algorithm (A*)
所以前几天我找到了一个网站,在那里我可以刷新我对算法的知识,但我遇到了一个问题。
如果我在地图上 运行 一个 A* 算法,其中两个 - 完全相同 - possible solutions 可用,会发生什么?
- 算法是怎么决定的,哪个方案更好?哪个
一个会被选中,为什么?
- 如果它是随机的,那么有没有办法通过代码(和
怎么样)?
我相信这取决于你如何实现算法。
这不是随机的。如果您多次运行 同一地图上的算法,那么每次都会给出相同的解决方案。
这完全取决于您如何实现算法。
在您链接的示例中,您可以通过两种方式实现算法。
你可以让它先检查 'up' 方向,也可以让它先检查 'right' 方向。
希望这个回答对您有所帮助
如果多个解决方案都是正确的,那么选择哪个答案并不重要,因为没有一个比另一个更好。
如果算法中没有随机元素,算法将始终选择相同的路径。遍历应该始终以相同的顺序进行。
所以前几天我找到了一个网站,在那里我可以刷新我对算法的知识,但我遇到了一个问题。
如果我在地图上 运行 一个 A* 算法,其中两个 - 完全相同 - possible solutions 可用,会发生什么?
- 算法是怎么决定的,哪个方案更好?哪个 一个会被选中,为什么?
- 如果它是随机的,那么有没有办法通过代码(和 怎么样)?
我相信这取决于你如何实现算法。 这不是随机的。如果您多次运行 同一地图上的算法,那么每次都会给出相同的解决方案。 这完全取决于您如何实现算法。
在您链接的示例中,您可以通过两种方式实现算法。 你可以让它先检查 'up' 方向,也可以让它先检查 'right' 方向。
希望这个回答对您有所帮助
如果多个解决方案都是正确的,那么选择哪个答案并不重要,因为没有一个比另一个更好。
如果算法中没有随机元素,算法将始终选择相同的路径。遍历应该始终以相同的顺序进行。