A*算法及其最优性证明

本文详细介绍了A*算法,包括其在树搜索和图搜索中的应用。阐述了A*算法结合真实代价与预估代价的总估计成本,证明了在启发式函数满足可采纳性或一致性时,A*算法能够保证最优性。内容涵盖了可采纳性和一致性的概念、证明以及它们与A*算法最优性的关系。
摘要由CSDN通过智能技术生成

一、A*算法介绍

A*算法结合了代价一致搜索(Uniform Cost Search)中使用的真实后向成本和贪心算法搜索(Greedy Search)中使用的预估前向成本,组成了总估计成本。在选择结点进行扩展时,选择总估计成本最小的结点。
g\left ( n \right )——代价一致搜索中使用的从起点到当前结点n走过的真实代价;
h\left ( n\right )——贪心算法中使用的从当前结点n到目标结点需走的预估代价,也即启发式函数;
f\left ( n\right )——A*算法中使用的当前结点n的总估计成本,其中f\left ( n\right )= g\left ( n\right )+h\left ( n\right )

二、A*算法的树搜索版本

定义一:如果启发式函数h是非负的并且不会过高估计当前结点到达目标的代价,则称h满足可采纳性。将h^{*}\left ( n \right )定义为当前结点n到达目标的真实最优代价,则可采纳性可数学化为:

\forall n,\ 0\leqslant h\left (n\right ) \leqslant h^{*}\left ( n \right )

定理一:对于一个给定的搜索问题,如果启发式函数h满足可采纳性,那么A*树搜索算法将是最优的。

证明:假设搜索树中两个可达的目标状态,一个最优目标A和一个次优目标B。设A的一个祖先结点n(也可能就是A本身)。我们将要证明n总是先于B被选择展开。此证明需要以下三个声明:

1.g\left ( A\right )<g \left ( B \right )。由于

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值