人工智能
H*算法
q估值函数f的含义
vf在某个节点处的值估计了从根节点开始,到达目标节点,并且经过该节点n的一条代价为最小的路径的代价
q令
vS为初始节点,ti为一组目标节点
vn,ni,nj为任意节点
vk*(ni,nj)是从ni到达nj的最小代价
vg*(n)=k*(S,n)是从初始节点到节点n的最小代价
vh*(n)=mink*(n,ti)是从节点n到一个目标节点ti的最小代价
vf*(n)=g*(n)+h*(n)是从初始节点出发,经过节点n,到达一个目标节点的最小代价
qH*算法
v令g(n)为对g*(n)的估计; g(n)>0
v令h(n)为对h*(n)的估计;h(n)>=0
v令f(n)=g(n)+h(n)为每个节点n处的估值函数
v使用如此选定的估值函数f 的有序搜索算法即为H*算法 可能不重要这个东西
A算法
估价函数h(n):估计解位于解路径上的希望,函数值越小,希望越大。
启发函数:当前节点到目标节点的最优代价的估计。
A算法 f(x)= h(x)+g(x)虽然提高了搜索效率,但是不能确保找到最优解
。g(x)表示 从初始位置到当前位置的代价(f(x)=g(x)就是等代价搜索/f(x)=h(x)贪婪算法)

A*算法
来自于A算法,只是估价函数定义有些不同。
f(x)= g(x)+h(x) h(x)有个限制,必须不大于x到目标的实际代价(h(x)<=h*(x)这个限制可以保证A*算法可以找到最优解)。
h(x)取消的限制条件越少,性能越好也就是h(x)越大搜索效率越高。
当h=0时, A*算法就变为有序搜索算法在算法执行过程中,随着更多搜索信息的获得, g(n)的值呈下降的趋势。

v推论3.1
A*选作扩展的任一节点n,有f(n)≤f*(s)
A*算法是全局择优的

A*算法一定终止在最佳路径上
证明 使用反证反法。
假设A*算法不是在最优路径上终止,而是在某个目标节点t处终止,即A*算法未能找到一条最优路径。则f(t)=g(t)> f*(S0)。但由II的证明可知,在A*算法结束之前,OPEN表中存在节点x’,它在最优路径上,且满足f(x’) ≤f*(S0),此时A*算法一定会选择x’来扩展而不会选择t,这就与假设矛盾。所以, A*算法一定会终止在最优路径上。


与或图搜索方法。


与或树
q本原问题:
v不能再分解或变换,而且直接可解的子问题称为本原问题



博弈树搜索方法







浙公网安备 33010602011771号