A*算法(寻路算法)

符号表示: 

Q:当前可扩展顶点集合

n:任意可扩展顶点

g(n):根节点到 n 节点的代价

h∗(n):从 n 扩展到达目标节点的最 小代价 

h(n):h∗(n) 的 估 计 值 ,h(n) ≤ h∗(n) 

f∗(n):f∗(n) = g(n) + h∗(n),从根 节点出发经节点 n 到达目标节点的 最小代价 

f(n):f(n) = g(n)+h(n),f∗(n) 的 估计值,f(n) ≤ f∗(n)

A∗ 算法基本规则如下: 

    A∗ 算法采用最佳优先策略,每次总扩展代价 f(n) 最小的节点 节点代价定义 f(n) = g(n) + h(n),其中 g(n) 是从根节点扩展到达 n 的代价,h(n) 是从 n 扩展到达目标节点的最小代价 h∗(n) 的估计 值

    确保 h(n) ≤ h∗(n) 当且仅当选中的扩展节点是目标节点时,输出该节点对应的优化 解,算法终止 A∗ 算法在判定节点的后代不会产生优化解时,可以终止搜索该扩 展节点


你可能感兴趣的:(A*算法(寻路算法))