我希望处理的大型网络(小世界图类型)具有动态性质,新节点经常添加和减少。在这种动态环境中,使用 D* 而非 A* 来检测路径可能是更好的方法。
D* 的可靠性如何?它是否有任何真实世界的经验?就像加密算法一样,D* 是否经过了大量的同行评审和测试来保证其可靠性?你会将其用于这个问题吗?
我希望处理的大型网络(小世界图类型)具有动态性质,新节点经常添加和减少。在这种动态环境中,使用 D* 而非 A* 来检测路径可能是更好的方法。
D* 的可靠性如何?它是否有任何真实世界的经验?就像加密算法一样,D* 是否经过了大量的同行评审和测试来保证其可靠性?你会将其用于这个问题吗?
同样,我发现另一份白皮书提到了在移动游戏中使用D* Lite算法。
最后,我想说我以前从未实现过D*,只有A*。由于复杂度的显著增加,我认为只有在图形频繁且显著变化的情况下才应该使用D*(或D* Lite)。你描述的情况与此类似,所以我建议你一定要选择D* Lite。如果NASA使用它,你可以放心地认为它已经被彻底研究过了。
我已经实现了D*和A*算法。因此,我建议您,如果您的地图没有动态障碍物,应该实现A*。否则,实现D*。主要原因是: 在第一次搜索时,D*计算地图中的所有节点,然后显示最短路径,而A*仅计算地图中目标和起始点周围的有限区域。因此,它比D*快得多。 在动态环境中,D*比A*更快,更有效。因为当机器人行进时,如果检测到新的障碍物,它只会更新意外障碍物周围的几个节点。而A*将重新计算所有内容。