我很确定 A *算法中的* (星级)表示该算法可接受,即保证如果存在此路径,则它会在图中找到最短路径(当使用的启发式算法是乐观的时)。
我是对的吗?我没有成功找到有关该主题的任何信息,但我找不到任何参考。希望这个社区中最有经验的用户比我更了解A *的历史。
顺便说一下,我认为基于A *的其他算法,如IDA *,D *,SMA *,MOA *,NAMOA *,......遵循相同的名称惯例。
答案 0 :(得分:3)
原因是科学家们首先提出了他们称为A1的Dijkstra算法的改进版本。后来,A *的发明者发现了他们称为A2的A1的改进。然后,这些人设法证明A2在使用启发式的某些假设下实际上是最优的。因为A2是最佳的,所以它被重命名为A *。在科学方面,特别是在优化方面," *"符号通常用于表示最佳解决方案。有些人还解释了" *"作为意义"任何版本号"因为事实证明不可能建立一个" A3"算法胜过A2 / A *。
顺便说一句,在这种情况下,"最佳"并不意味着它达到了最佳解决方案,但它在探索最小数量的节点时这样做了。当然,A *也是完整的,这意味着它达到了最佳解决方案(如果我们使用可接受的启发式算法)。