A*算法中的星号代表什么?

我相当确定A*算法中的* (星号)表示该算法是可接受的,即如果存在最短路径,它保证能在图中找到(当所使用的启发式方法是乐观的)。

我说的对吗?我一直在寻找关于这个话题的信息,但没有找到任何参考资料。希望社区中更有经验的用户能知道一些我不知道的关于A*历史的信息。

顺便说一下,我认为其他基于A*的算法,如IDA*、D*、SMA*、MOA*、NAMOA*等,也遵循相同的命名惯例。


回答:

原因是科学家们首先提出了Dijkstra算法的改进版本,称为A1。后来,A*的发明者发现了A1的改进版本,他们称之为A2。这些人随后证明了在某些关于所使用启发式的假设下,A2实际上是最优的。因为A2是最优的,所以它被重新命名为A*。在科学中,特别是在优化领域,” * “符号通常用来表示最优解。有些人还将” * “解释为“任何版本号”,因为已经证明不可能构建一个能超越A2/A*的“A3”算法。

顺便说一下,在这个语境中,“最优”并不意味着它达到了最优解,而是指它在探索最少数量的节点时达到了最优解。当然,A*也是完整的,这意味着它能达到最优解(如果我们使用可接受的启发式方法)。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注