本文的主要内容来自于文献[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∂Φ>0∂y∂Φ≤∂x∂ΦΦ(0,wt)=Φ(t,0)=t∂x∂Φ+∂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+(2w−1)x+(y−x)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.