人工智能 —— A*算法

一、算法思想

A*算法是对A算法的估价函数 f(n)=g(n)+h(n) 加上某些限制后得到的一种启发式搜索算法

假设f*(n)是从初始结点S0出发,约束经过结点n到达目标结点Sg的最小代价,估价函数f(n)是对f*(n)的估计值。记

  • f*(n)=g*(n)+h*(n)

其中, g*(n)是从S0出发到达n的最小代价,h*(n)是n到Sg的最小代价。

如果对A算法(全局择优)中的g(n)和h(n)分别提出如下限制:

  1. g(n)是对最小代价g*(n)的估计,且g(n)>0;
  2. h(n)是最小代价h*(n)的下界,即对任意结点n均有h(n)≤h*(n)。

则称满足上述两条限制的A算法为A*算法。


二、A*算法的可纳性

对任一状态空间图,当从初始结点到目标结点有路经存在时,如果搜索算法总能在有限步骤内找到一条从初始结点到目标结点的最佳路径,并在此路径上结束,则称该搜索算法是可采纳的。


三、A*算法实例

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/starter_____/article/details/91660275