Weighted A* 改进型(1):XDP

本文的主要内容来自于文献[1],总的来说这篇文献给我的感觉就是理论证明非常精妙,最后的实际效果也是提升的非常明显。

在Introduction中作者给出了一般Best first search(BFS,常用的包括A *,weighted A * ,Focal search( A ε   ∗ A_{\varepsilon}^{\ *} Aε ),Dynamical Potential search (DPS)和 Bounded suboptimal search(BSS)等在内)的通用框架如下:

在这里插入图片描述

一般来说作为weighted A * 的改进型算法一般都能保证 w w w-optimality,即算法所搜索到的路径代价不超过 w C ∗ w C^{*} wC,其中 C ∗ C^{*} C是一个optimal的路径代价。作者主要的改进在于设计了一种相比于原有启发式函数 f ( n ) f(n) f(n)的新的启发式函数 Φ ( h ( n ) , g ( n ) ) \Phi(h(n),g(n)) Φ(h(n),g(n))用于BFS搜索,避免了open表中结点的重复查找(reopenings),并从理论上证明了该启发式函数的 w w w-optimality性能。

在这里插入图片描述

关于为啥要减少open表中的重复查找呢?作者认为主要是在open表中进行结点的重复查找可能会导致一个大的时间复杂度 O ( N 2 ) O(N^2) O(N2),尤其是当状态结点 N N N的个数非常大的时候,这可能会导致寻路成本的增加。

在这里插入图片描述

全文的主体思路是通过给出了一类 Φ ( h ( n ) , g ( n ) ) \Phi(h(n),g(n)) Φ(h(n),g(n))函数能保证 w w w-optimality的条件,并加以证明。说明了直接在采用这个函数的情况下,可以避免reopenings。对于 f ( n ) = h ( n ) + w g ( n ) f(n)=h(n)+wg(n) f(n)=h(n)+wg(n) 来说,算法由于常权重 w w w,在起终时刻始终保证固定的 w w w-optimality;而对于 Φ ( h ( n ) , g ( n ) ) \Phi(h(n),g(n)) Φ(h(n),g(n)),算法同样也可以保证最终代价的 w w w-optimality,但是在open表搜索过程中的代价却可以不为 w w w-optimality。

w w w-optimality的相关条件

在证明 Φ ( h ( n ) , g ( n ) ) \Phi(h(n),g(n)) Φ(h(n),g(n)) w w w-optimality之前,作者首先证明了在finite state space中,对于任意priority function Φ \Phi Φ在不用re-open的情况下,采用BFS搜索都可以保证完备性(complete,即从起点start到goal如果存在路径,BFS总能找到一条合适的路径),证明见Lemma1:

在这里插入图片描述

在说明了完备性的情况下,作者首先给出了 Φ ( h ( n ) , g ( n ) ) \Phi(h(n),g(n)) Φ(h(n),g(n))函数应当具有的4条性质:
{ ∂ Φ ∂ x > 0 , ∂ Φ ∂ y > 0 ∂ Φ ∂ y ≤ ∂ Φ ∂ x Φ ( 0 , w t ) = Φ ( t , 0 ) = t ∂ Φ ∂ x + ∂ Φ ∂ y ≤ 2 \begin{cases} \frac{\partial \Phi}{\partial x} > 0,\frac{\partial \Phi}{\partial y} > 0\\ \frac{\partial \Phi}{\partial y} \leq \frac{\partial \Phi}{\partial x} \\ \Phi(0,wt)=\Phi(t,0)=t\\ \frac{\partial \Phi}{\partial x} + \frac{\partial \Phi}{\partial y} \leq 2 \end{cases} xΦ>0,yΦ>0yΦxΦΦ(0,wt)=Φ(t,0)=txΦ+yΦ2
另外,作者还给出了 Φ \Phi Φ-inequality的定义: Φ ( h ( p ) , g ( p ) ) ≤ Φ ( 0 , w ( h ( p ) + g ∗ ( p ) ) ) = Φ ( h ( p ) + g ∗ ( p ) , 0 ) \Phi (h(p),g(p))\leq \Phi(0,w(h(p) + g^{*}(p)))=\Phi(h(p) + g^{*}(p),0) Φ(h(p),g(p))Φ(0,w(h(p)+g(p)))=Φ(h(p)+g(p),0)(原文中Definition 1 )。在上面4条性质和1个定义的基础上,作者首先证明了:

Theorem 2)对于满足性质1的函数 Φ \Phi Φ,在搜索过程中,如果对于每个第一次扩展的状态结点 p p p都有 Φ \Phi Φ-inequality成立,那么搜索出的路径具有 w w w-optimality性质,且没必要进行re-open(或者说re-expand)。

Proof. 首先由Lemma1,我们知道一定可以扩展出一条以代价 g ( g o a l ) g(goal) g(goal)到goal的路径,那么对于目标状态 g o a l goal goal而言,由 Φ \Phi Φ-inequality不等式:
Φ ( h ( g o a l ) , g ( g o a l ) ) = Φ ( 0 , g ( g o a l ) ) ≤ Φ ( 0 , w ( h ( g o a l ) + g ∗ ( g o a l ) ) ) = Φ ( 0 , w g ∗ ( g o a l ) ) \Phi(h(goal),g(goal))=\Phi(0,g(goal)) \\ \leq \Phi(0,w(h(goal)+g^{*}(goal))) \\ =\Phi(0,wg^{*}(goal)) Φ(h(goal),g(goal))=Φ(0,g(goal))Φ(0,w(h(goal)+g(goal)))=Φ(0,wg(goal))
由于性质1说明了 Φ ( h ( n ) , g ( n ) ) \Phi(h(n),g(n)) Φ(h(n),g(n))对于 g g g的单调递增性,因此 g ( g o a l ) ≤ w g ∗ ( g o a l ) g(goal) \leq w g^{*}(goal) g(goal)wg(goal),说明最后的搜索路径具有 w w w-optimality性质。

对于这个不用re-open的说明,我实在没看懂,希望后面能有机会再看看。

下面给出Deepl机翻的结果:

在这里插入图片描述

因此,我们只需证明 Φ-inequality 对每个以给定优先级函数展开的状态都成立。图 4(b) 是证明这一点的高级方法。假设我们计划扩展一个状态 q,其中 p 是通往 q 的最优路径上扩展的最后一个状态。与之前一样,p 下方的蓝色点代表通往 p 的最优路径,(a) 处的曲线是该点的隔离线。根据 Φ-inequality 我们可以知道,p 在(a)点开始的隔离线之下。因此,如果搜索以最优方式从 p 移动到 q,那么 q(以及从 p 到 q 的最优路径上的所有状态)仍应位于 h 轴上 (b) 点的 h(q) + g∗(q) 分割线之下,因为最优路径不会积累任何额外的次优状态。如果这一点成立,那么总有至少一条路径(最优路径的剩余部分)可以在最优约束下达到目标,而无需重新扩展先前扩展的状态。虽然在实践中搜索可能会扩展出一条不那么理想的路径,但所探索的路径仍能保证在 Φ 允许的范围内。

因此,对于Theorem 2而言,如果我们能证明在满足某些性质的条件下,对于每个第一次扩展的状态结点 p p p都有 Φ \Phi Φ-inequality成立,哪么根据Theorem 2的结论, w w w-optimality和不需要re-open的性质就能得到满足。下面的Theorem 8给出了 Φ \Phi Φ所需要满足的条件:

Theorem 8)假设BFS所采用的优先级函数 Φ \Phi Φ满足性质1-4,哪么对于所有的扩展结点都有 Φ \Phi Φ-inequality成立。

Proof. 首先需要不加证明(证明见原论文)的给出以下引理作为证明条件,

Lemma 3. 对于 p p p的后继(descendant)结点 q q q而言,其在 h h h- g g g坐标系下分别为 ( h ( p ) , g ( p ) ) (h(p),g(p)) (h(p),g(p)) ( h ( q ) , g ( p ) + d ( p , q ) ) (h(q),g(p)+d(p,q)) (h(q),g(p)+d(p,q))。对于任意从 p p p q q q上位于optimal path上的中间结点 p 1 p_1 p1,其必位于 p p p q q q所处的矩形对角点上,如Figure 4(b)所示。

根据原文中Definition 2中定义的最右角点 ( x r , y r ) (x_r,y_r) (xr,yr)
{ x r = h ( p ) + d ( p , q ) + h ( q ) − h ( p ) 2 y r = g ( p ) + d ( p , q ) + h ( q ) − h ( p ) 2 \begin{cases} x_r = h(p) + \frac{d(p,q) + h (q) - h(p)}{2}\\ y_r = g(p) + \frac{d(p,q) + h (q) - h(p)}{2}\\ \end{cases} {xr=h(p)+2d(p,q)+h(q)h(p)yr=g(p)+2d(p,q)+h(q)h(p)
原文Lemma 6说明了对于从 p p p q q q的所有在optimal path上的状态 s s s,角点是使 Φ \Phi Φ最大的点,即: Φ ( h ( s ) , g ( p ) + d ( p , s ) ) ≤ Φ ( x r , y r ) \Phi(h(s),g(p)+d(p,s)) \leq \Phi(x_r,y_r) Φ(h(s),g(p)+d(p,s))Φ(xr,yr)

另外,有Corollary 7: Φ ( x + t , y + t ) ≤ Φ ( x , y ) + 2 t \Phi(x+t,y+t)\leq \Phi(x,y) + 2t Φ(x+t,y+t)Φ(x,y)+2t。证明利用了性质4和 Φ \Phi Φ的Lipschitz连续性条件。

下面进入正式的论证,采用数学归纳法证明 Φ \Phi Φ-inequality的成立:

首先Base case: 对于初始状态start,必然有 Φ ( h ( s t a r t ) , g ( s t a r t ) ) = Φ ( h ( s t a r t ) + g ∗ ( s t a r t ) , 0 ) \Phi (h(start),g(start))=\Phi(h(start) + g^{*}(start),0) Φ(h(start),g(start))=Φ(h(start)+g(start),0)成立,因为 g ( s t a r t ) = g ∗ ( s t a r t ) = 0 g(start)=g^{*}(start)=0 g(start)=g(start)=0

再对于Inductive step:假设对于所有已扩展的路径(expanded paths)上的结点都有 Φ \Phi Φ-inequality成立,并且状态 q q q是从open表中选出来的要扩展的下一个结点,我们需要证明结点 q q q满足 Φ \Phi Φ-inequality,即: Φ ( h ( q ) , g ( q ) ) ≤ Φ ( h ( q ) + g ∗ ( q ) , 0 ) \Phi(h(q),g(q))\leq \Phi(h(q)+g^{*}(q),0) Φ(h(q),g(q))Φ(h(q)+g(q),0)
作为在closed表中optimal path上的, q q q的上一个结点 p p p,由递推假设满足:
Φ ( h ( p ) , g ( p ) ) ≤ Φ ( h ( p ) + g ∗ ( p ) , 0 ) = h ( p ) + g ∗ ( p ) \Phi(h(p),g(p))\leq \Phi(h(p)+g^{*}(p),0) = h(p)+g^{*}(p) Φ(h(p),g(p))Φ(h(p)+g(p),0)=h(p)+g(p) 这里必然存在一个在open表中,由 p p p所扩展出的successor结点 p x p_x px,其位于从 p p p q q q的optimal path上,满足 Φ ( h ( q ) , g ( q ) ) ≤ Φ ( h ( p x ) , g ( p x ) ) \Phi(h(q),g(q))\leq \Phi(h(p_x),g(p_x)) Φ(h(q),g(q))Φ(h(px),g(px))。这是因为BFS在结点扩展时会先扩展 Φ \Phi Φ最小的 q q q,而不是 p x p_x px。令 t = ( d ( p , q ) + h ( q ) − h ( p ) ) / 2 t=(d(p,q)+h(q)-h(p))/2 t=(d(p,q)+h(q)h(p))/2,根据Lemma6有:
Φ ( h ( q ) , g ( q ) ) ≤ Φ ( h ( p x ) , g ( p ) + d ( p , p x ) ) ≤ Φ ( h ( p ) + t , g ( p ) + t ) ≤ Φ ( h ( p ) , g ( p ) ) + 2 t = Φ ( h ( p ) , g ( p ) ) + d ( p , q ) + h ( q ) − h ( p ) ≤ g ∗ ( p ) + h ( q ) + d ( p , q ) ≤ g ∗ ( q ) + h ( q ) = Φ ( g ∗ ( q ) + h ( q ) , 0 ) \Phi(h(q),g(q))\leq \Phi(h(p_x),g(p)+d(p,p_x)) \\ \leq \Phi(h(p) + t,g(p)+t) \\ \leq \Phi(h(p),g(p))+2t \\ =\Phi(h(p),g(p)) + d(p,q)+h(q)-h(p) \\ \leq g^*(p)+h(q) + d(p,q) \\ \leq g^{*}(q) + h(q) =\Phi(g^{*}(q) + h(q),0) Φ(h(q),g(q))Φ(h(px),g(p)+d(p,px))Φ(h(p)+t,g(p)+t)Φ(h(p),g(p))+2t=Φ(h(p),g(p))+d(p,q)+h(q)h(p)g(p)+h(q)+d(p,q)g(q)+h(q)=Φ(g(q)+h(q),0)这对 q q q证明了 Φ \Phi Φ-inequality的成立,因此假设成立。

上面的Theorem2和Theorem8综合起来说明了,对于满足4条性质的 Φ ( h ( n ) , g ( n ) ) \Phi(h(n),g(n)) Φ(h(n),g(n)),其能保证 w w w-optimality和避免reopening。

XDP函数

XDP函数是一类特殊的 Φ \Phi Φ函数 Φ X D P ( x , y ) = U \Phi_{XDP}(x,y)=U ΦXDP(x,y)=U,其具有 y = a x 2 + b x + c y=ax^2+bx+c y=ax2+bx+c的二次函数形式,并且满足 Φ \Phi Φ的4条性质,同时经过 ( 0 , w U ) (0,wU) (0,wU) ( U , 0 ) (U,0) (U,0)点。在 ( U , 0 ) (U,0) (U,0)处的斜率为 − 1 -1 1。得到:
{ c = w U a U 2 + b U + c = 0 2 a U + b = − 1 \begin{cases} c = wU\\ aU^2+bU+c=0 \\ 2aU + b =-1 \end{cases} c=wUaU2+bU+c=02aU+b=1解算出的:
Φ X D P ( x , y ) = U = y + ( 2 w − 1 ) x + ( y − x ) 2 + 4 w y x 2 w \Phi_{XDP}(x,y)=U=\frac{y+(2w-1)x+\sqrt{(y-x)^2+4wyx}}{2w} ΦXDP(x,y)=U=2wy+(2w1)x+(yx)2+4wyx

参考文献

[1] Chen, J., Conditions for Avoiding Node Re-expansions in Bounded Suboptimal Search, in Proceedings of the . AAAI Conference on Artificial Intelligence. 2019, Proceedings of the . AAAI Conference on Artificial Intelligence.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值