A*算法简介
1.1 作用与特点
A* 算法是启发式搜索型的路径规划算法,是一种尽可能基于现有信息的搜索策略,也就是说搜索过程中尽量利用目前已知的诸如迭代步数,以及从初始状态和当前状态到目标状态估计所需的费用等信息。总体来说,A*算法是一种较迅速的路径规划算法,比遍历式的路径规划算法,如广度优先算法(BFS)等都更加迅速和节省空间。
1.2 A*算法的基本思想与数学函数模型:
1.2.1基本思想
引入当前节点j的估计函数f*,当前节点j的估计函数定义为:
f*(j)= g(j)+h*(j)
其中g(j)是从起点到当前节点j的实际费用的量度,h*(j)是从节点j到终点的最小费用的估计,可以依据实际情况,选择h*(j)的具体形式,h*(j)要满足一个要求:不能高于节点j到终点的实际最小费用。从起始节点点向目的节点搜索时,每次都搜索f*(j)最小的节点,直到发现目的节点。
1.2.2数学函数模型
A* 算法的核心是设计估价函数,设计估价函数h(j)有很多方法,
(1)估价函数1:欧几里德距离
可以证明,在和起点距离相等的中间节点集合里,与终点直线距离(欧几里德距离)越小的节点,方向夹角越小。假设在图2-3求S到G点的最短路径,与S最近的点是节点2,与G最近的是节点11,因此可以确定上路点是节点2,下路点是节点11,求