自适应动态规划(四)-离散策略迭代证明

5 篇文章 41 订阅
4 篇文章 2 订阅

策略迭代

策略迭代稳定性证明

单调不增的证明

迭代过程

取一个随机容许初始控制律 v 0 ( x k ) v_0(x_k) v0(xk)
V 0 ( x k ) = U ( x k , v 0 ( x k ) ) + V 0 ( x k + 1 ) V_0(x_k)=U(x_k,v_0(x_k))+V_0(x_{k+1}) V0(xk)=U(xk,v0(xk))+V0(xk+1)
在更新控制律
v 1 ( x k ) = arg ⁡ min ⁡ u k { U ( x k , u k ) + V 0 ( x k + 1 ) } v_1(x_k)=\arg \min_{u_k}\{{U(x_k,u_k)+V_0(x_{k+1})}\} v1(xk)=argukmin{U(xk,uk)+V0(xk+1)}
对任意的 i = 1 , 2 , 3 , ⋯ i=1,2,3,\cdots i=1,2,3,
V i ( x k ) = U ( x k , v i ( x k ) ) + V i ( x k + 1 ) v i + 1 ( x k ) = arg ⁡ min ⁡ u k { U ( x k , u k ) + V i ( x k + 1 ) } V_i(x_k)=U(x_k,v_i(x_k))+V_i(x_{k+1}) \\ v_{i+1}(x_k)=\arg \min_{u_k}\{U(x_k,u_k)+V_i(x_{k+1})\} \\ Vi(xk)=U(xk,vi(xk))+Vi(xk+1)vi+1(xk)=argukmin{U(xk,uk)+Vi(xk+1)}
结论:
V i + 1 ( x k ) ≤ V i ( x k ) V_{i+1}(x_k)\leq V_i(x_k) Vi+1(xk)Vi(xk)
证明:

定义一个代价函数
Γ i + 1 ( x k ) = U ( x k , v i + 1 ( x k ) ) + V i ( x k + 1 ) \Gamma_{i+1}(x_k)=U(x_k,v_{i+1}(x_k))+V_i(x_{k+1}) Γi+1(xk)=U(xk,vi+1(xk))+Vi(xk+1)
由上面的定义可以看出 v i + 1 v_{i+1} vi+1 U ( x k , v i ( x k ) ) + V i ( x k + 1 ) U(x_k,v_i(x_k))+V_i(x_{k+1}) U(xk,vi(xk))+Vi(xk+1)的最小取值,因此
Γ i + 1 ( x k ) ≤ V i ( x k ) \Gamma_{i+1}(x_k) \leq V_i(x_k) Γi+1(xk)Vi(xk)
下面由数学归纳法进行证明

第一步:

我们知道 v i + 1 v_{i+1} vi+1是稳定的控制律,因此当 ∀ k → ∞ \forall k\rightarrow\infty k x k → 0 x_k\rightarrow0 xk0。令 x N = 0 x_N=0 xN=0 N → ∞ N\rightarrow\infty N。由此可以得
V i + 1 ( x N ) = Γ i + 1 ( x N ) = V i ( x N ) = 0 V_{i+1}(x_N)=\Gamma_{i+1}(x_N)=V_i(x_N)=0 Vi+1(xN)=Γi+1(xN)=Vi(xN)=0
第二步:

k = N − 1 k=N-1 k=N1,可得
v i + 1 ( x N − 1 ) = arg ⁡ min ⁡ u N − 1 { U ( x k , u N − 1 ) + V i ( x N ) } = arg ⁡ min ⁡ u N − 1 { U ( x k , u N − 1 ) + V i + 1 ( x N ) } \begin{aligned} v_{i+1}(x_{N-1})&=\arg \min_{u_{N-1}}\{U(x_k,u_{N-1})+V_i(x_{N})\} \\ &=\arg \min_{u_{N-1}}\{U(x_k,u_{N-1})+V_{i+1}(x_{N})\} \end{aligned} vi+1(xN1)=arguN1min{U(xk,uN1)+Vi(xN)}=arguN1min{U(xk,uN1)+Vi+1(xN)}

V i + 1 ( x N − 1 ) = U ( x N − 1 , v i + 1 ( x N − 1 ) ) + V i + 1 ( x N ) = min ⁡ u N − 1 { U ( x N − 1 , u N − 1 ) + V i ( x N ) } ≤ U ( x N − 1 , v i ( x N − 1 ) ) + V i ( x N ) = V i ( x N − 1 ) \begin{aligned} V_{i+1}(x_{N-1})&=U(x_{N-1},v_{i+1}(x_{N-1}))+V_{i+1}(x_{N}) \\ &=\min_{u_{N-1}}\{U(x_{N-1},u_{N-1})+V_i(x_N)\} \\ &\leq U(x_{N-1},v_{i}(x_{N-1}))+V_i(x_N) \\ &=V_i(x_{N-1}) \end{aligned} Vi+1(xN1)=U(xN1,vi+1(xN1))+Vi+1(xN)=uN1min{U(xN1,uN1)+Vi(xN)}U(xN1,vi(xN1))+Vi(xN)=Vi(xN1)

假设上述条件所有的 k = l + 1 k=l+1 k=l+1 l = 0 , 1 , 2 , ⋯ l=0,1,2,\cdots l=0,1,2,,当 k = l k=l k=l 时我们可得
V i + 1 ( x l ) = U ( x l , v i + 1 ( x l ) ) + V i + 1 ( x l + 1 ) ≤ U ( x l , v i + 1 ( x l ) ) + V i ( x l + 1 ) ( 这 一 步 是 由 上 面 的 假 设 , V i + 1 ( x N − 1 ≤ V i ( x N − 1 ) ) 得 到 的 ) = Γ i + 1 ( x l ) ≤ V i ( x l ) \begin{aligned} V_{i+1}(x_l)&=U(x_l,v_{i+1}(x_l))+V_{i+1}(x_{l+1}) \\ &\leq U(x_l,v_{i+1}(x_l))+V_i(x_{l+1}) (这一步是由上面的假设,V_{i+1}(x_{N-1}\leq V_i(x_{N-1}))得到的) \\ &=\Gamma_{i+1}(x_l) \\ &\leq V_i(x_l) \end{aligned} Vi+1(xl)=U(xl,vi+1(xl))+Vi+1(xl+1)U(xl,vi+1(xl))+Vi(xl+1)(Vi+1(xN1Vi(xN1)))=Γi+1(xl)Vi(xl)
成立。

数学归纳法证明完毕。

因此可以得出,值函数在迭代过程中是单调不减的。

值函数收敛到最优值

结论:
lim ⁡ i → ∞ V i ( x k ) = J ∗ ( x k ) \lim_{i\rightarrow\infty}V_i(x_k)=J^*(x_k) ilimVi(xk)=J(xk)
分三步进行证明

第一步

证明当到达无穷时,值函数满足HJB方程。
V ∞ ( x k ) = lim ⁡ i → ∞ V i ( x k ) V_{\infty}(x_k)=\lim_{i\rightarrow\infty}V_i(x_k) V(xk)=ilimVi(xk)

Γ i + 1 ( x k ) = U ( x k , v i + 1 ( x k ) ) + V i ( x k + 1 ) = min ⁡ u k { U ( x k , u k ) + V i ( x k + 1 ) } \begin{aligned} \Gamma_{i+1}(x_k)&=U(x_k,v_{i+1}(x_k))+V_i(x_{k+1}) \\ &=\min_{u_k}\{U(x_k,u_k)+V_i(x_{k+1})\} \end{aligned} Γi+1(xk)=U(xk,vi+1(xk))+Vi(xk+1)=ukmin{U(xk,uk)+Vi(xk+1)}

刚刚证明了值函数是单调不增有下界的函数其中 V ∞ ( x k ) V_{\infty}(x_k) V(xk) 就是下界。

可得*(这里不太清楚是怎么证明出结论的,除非提前认定 V ∞ ( x k ) V_{\infty}(x_k) V(xk) 就是下界,不然 V i ( x k ) ≤ V i + 1 ( x k ) V_i(x_k)\leq V_{i+1}(x_k) Vi(xk)Vi+1(xk) 很难说明,因为上述证明这是不增的。)*
V ∞ ( x k ) = lim ⁡ i → ∞ V i ( x k ) ≤ lim ⁡ i → ∞ V i + 1 ( x k ) ≤ lim ⁡ i → ∞ Γ i + 1 ( x k ) ≤ lim ⁡ i → ∞ min ⁡ u k { U ( x k , u k ) + V i ( x k + 1 ) } ≤ min ⁡ u k { U ( x k , u k ) + V ∞ ( x k + 1 ) } \begin{aligned} V_{\infty}(x_k)&=\lim_{i\rightarrow\infty}V_i(x_k) \\ &\leq \lim_{i\rightarrow\infty}V_{i+1}(x_k) \\ &\leq \lim_{i\rightarrow\infty}\Gamma_{i+1}(x_k) \\ &\leq \lim_{i\rightarrow\infty}\min_{u_k}\{U(x_k,u_k)+V_i(x_{k+1})\}\\ &\leq \min_{u_k}\{U(x_k,u_k)+V_{\infty}(x_{k+1})\} \end{aligned} V(xk)=ilimVi(xk)ilimVi+1(xk)ilimΓi+1(xk)ilimukmin{U(xk,uk)+Vi(xk+1)}ukmin{U(xk,uk)+V(xk+1)}
任意 ε > 0 \varepsilon>0 ε>0 ,存在一个正整数 p p p
V p ( x k ) − ε ≤ V ∞ ( x k ) ≤ V p ( x k ) V_p(x_k)-\varepsilon \leq V_{\infty}(x_k)\leq V_p(x_k) Vp(xk)εV(xk)Vp(xk)
因此
V ∞ ( x k ) ≥ U ( x k , v p ( x k ) ) + V p ( x p + 1 ) − ε ≥ U ( x k , v p ( x k ) ) + V ∞ ( x p + 1 ) − ε ≥ min ⁡ u k { U ( x k , u k ) + V ∞ ( x k + 1 ) } − ε \begin{aligned} V_{\infty}(x_k) &\geq U(x_k,v_p(x_k))+V_p(x_{p+1})-\varepsilon \\ &\geq U(x_k,v_p(x_k))+V_{\infty}(x_{p+1})-\varepsilon \\ &\geq \min_{u_k}\{U(x_k,u_k)+V_{\infty}(x_{k+1})\}-\varepsilon \end{aligned} V(xk)U(xk,vp(xk))+Vp(xp+1)εU(xk,vp(xk))+V(xp+1)εukmin{U(xk,uk)+V(xk+1)}ε
由于 ε \varepsilon ε 是任意的,可得
V ∞ ( x k ) ≥ min ⁡ u k { U ( x k , u k ) + V ∞ ( x k + 1 ) } V_{\infty}(x_k) \geq \min_{u_k}\{U(x_k,u_k)+V_{\infty}(x_{k+1})\} V(xk)ukmin{U(xk,uk)+V(xk+1)}
由此可以得出
V ∞ ( x k ) = min ⁡ u k { U ( x k , u k ) + V ∞ ( x k + 1 ) } V_{\infty}(x_k) = \min_{u_k}\{U(x_k,u_k)+V_{\infty}(x_{k+1})\} V(xk)=ukmin{U(xk,uk)+V(xk+1)}
上述的推导核心就是** V i ( x k ) V_i(x_k) Vi(xk)有下界**。

定义一个新的代价函数 P ( x k ) P(x_k) P(xk),假设 μ ( x k ) \mu(x_k) μ(xk) 为容许控制律。
P ( x k ) = U ( x k , μ ( x k ) ) + P ( x k + 1 ) P(x_k)=U(x_k,\mu(x_k))+P(x_{k+1}) P(xk)=U(xk,μ(xk))+P(xk+1)

第二步

证明 V ∞ ( x k ) ≤ P ( x k ) V_{\infty}(x_k)\leq P(x_k) V(xk)P(xk),通俗讲就是证明 V ∞ ( x k ) V_{\infty}(x_k) V(xk)就是 J ∗ J^* J 的下界,因为 V i ( x k ) V_i(x_k) Vi(xk)肯定大于最优代价函数,夹逼定理就可以证明结论。

通过数学归纳法进行证明:

第一步:

因为 μ ( x k ) \mu(x_k) μ(xk) 是容许控制,当 k → ∞ k\rightarrow\infty k x k → 0 x_k\rightarrow0 xk0
P ( x k ) = lim ⁡ N → ∞ { U ( x k , μ ( x k ) ) + U ( x k + 1 , μ ( x k + 1 ) ) + ⋯ + U ( x N − 1 , μ ( x N − 1 ) ) + P ( x N ) } P(x_k)=\lim_{N\rightarrow \infty}\{U(x_k,\mu(x_k))+U(x_{k+1},\mu(x_{k+1}))+\cdots+U(x_{N-1},\mu(x_{N-1}))+P(x_N)\} P(xk)=Nlim{U(xk,μ(xk))+U(xk+1,μ(xk+1))++U(xN1,μ(xN1))+P(xN)}

V ∞ ( x k ) = lim ⁡ N → ∞ { U ( x k , v ∞ ( x k ) ) + U ( x k + 1 , v ∞ ( x k + 1 ) ) + ⋯ + U ( x N − 1 , v ∞ ( x N − 1 ) ) + V ∞ ( x N ) } = lim ⁡ N → ∞ { min ⁡ u ( k ) { U ( x k , u k ) + min ⁡ u k + 1 { U ( x k + 1 , u k + 1 ) + ⋯ + min ⁡ u N − 1 { U ( x N − 1 , u N − 1 ) + V ∞ ( x N ) } } } } \begin{aligned} V_{\infty}(x_k)&=\lim_{N\rightarrow \infty}\{U(x_k,v_{\infty}(x_k))+U(x_{k+1},v_{\infty}(x_{k+1}))+\cdots+U(x_{N-1},v_{\infty}(x_{N-1}))+V_{\infty}(x_N)\} \\ &=\lim_{N\rightarrow \infty}\{\min_{u(k)}\{U(x_k,u_k)+\min_{u_{k+1}}\{U(x_{k+1},u_{k+1})+\cdots+\min_{u_{N-1}}\{U(x_{N-1},u_{N-1})+V_{\infty}(x_N)\}\}\}\} \end{aligned} V(xk)=Nlim{U(xk,v(xk))+U(xk+1,v(xk+1))++U(xN1,v(xN1))+V(xN)}=Nlim{u(k)min{U(xk,uk)+uk+1min{U(xk+1,uk+1)++uN1min{U(xN1,uN1)+V(xN)}}}}

我们知道当 N → ∞ N\rightarrow\infty N V ∞ ( x N ) = P ( x N ) = 0 V_{\infty}(x_N)=P(x_N)=0 V(xN)=P(xN)=0。对于 N − 1 N-1 N1 的情况
P ( x N − 1 ) = U ( x N − 1 , μ ( x N − 1 ) ) + P ( x N ) ≥ min ⁡ u N − 1 { U ( x N − 1 , u N − 1 ) + P ( x N ) } = min ⁡ u N − 1 { U ( x N − 1 , u N − 1 ) + V ∞ ( x N ) } = V ∞ ( x N − 1 ) \begin{aligned} P(x_{N-1})&=U(x_{N-1},\mu(x_{N-1}))+P(x_N) \\ &\geq \min_{u_{N-1}}\{U(x_{N-1},u_{N-1})+P(x_N)\} \\ &=\min_{u_{N-1}}\{U(x_{N-1},u_{N-1})+V_{\infty}(x_N)\} \\ &=V_{\infty}(x_{N-1}) \end{aligned} P(xN1)=U(xN1,μ(xN1))+P(xN)uN1min{U(xN1,uN1)+P(xN)}=uN1min{U(xN1,uN1)+V(xN)}=V(xN1)
第二步:

假设上述对于 k = l + 1 k=l+1 k=l+1 l = 0 , 1 , 2 , ⋯ l=0,1,2,\cdots l=0,1,2, 都成立即 P ( x l ) ≥ V ∞ ( x l ) P(x_{l})\geq V_{\infty}(x_{l}) P(xl)V(xl) ,当 k = l k=l k=l
P ( x l ) = U ( x l , μ ( x l ) ) + P ( x l + 1 ) ≥ min ⁡ u l U ( x l , u l ) + P ( x l + 1 ) ≥ min ⁡ u l U ( x l , u l ) + V ∞ ( x l + 1 ) = V ∞ ( x l ) \begin{aligned} P(x_l)&=U(x_l,\mu(x_l))+P(x_{l+1}) \\ &\geq\min_{u_l}U(x_l,u_l)+P(x_{l+1}) \\ &\geq\min_{u_l}U(x_l,u_l)+V_{\infty}(x_{l+1}) \\ &=V_{\infty}(x_{l}) \end{aligned} P(xl)=U(xl,μ(xl))+P(xl+1)ulminU(xl,ul)+P(xl+1)ulminU(xl,ul)+V(xl+1)=V(xl)
因此对于任意 ∀ x k \forall x_k xk k = 0 , 1 , 2 , ⋯ k=0,1,2,\cdots k=0,1,2,
V ∞ ( x k ) ≤ P ( x k ) V_{\infty}(x_{k})\leq P(x_k) V(xk)P(xk)
数学归纳法证明完毕。

第三步

证明下界就是最优值

由对值函数的迭代定义知道,值函数是恒大于等于最优值的
V i ( x k ) ≥ J ∗ ( x k ) V_i(x_k)\geq J^*(x_k) Vi(xk)J(xk)
i → ∞ i\rightarrow\infty i
V ∞ ( x k ) ≥ J ∗ ( x k ) V_{\infty}(x_k)\geq J^*(x_k) V(xk)J(xk)
值函数 P ( x k ) P(x_k) P(xk)取最优控制律,则就是最优代价函数 J ∗ ( x k ) J^*(x_k) J(xk)
V ∞ ( x k ) ≤ J ∗ ( x k ) V_{\infty}(x_k)\leq J^*(x_k) V(xk)J(xk)
因此
V ∞ ( x k ) ≤ J ∗ ( x k ) ≤ V ∞ ( x k ) V ∞ ( x k ) = J ∗ ( x k ) V_{\infty}(x_k)\leq J^*(x_k)\leq V_{\infty}(x_k) \\ V_{\infty}(x_k) = J^*(x_k) V(xk)J(xk)V(xk)V(xk)=J(xk)
证闭。

评价网络训练过程中目标函数的获取

在实际的迭代过程中我们是用一个神经网络去近似一个代价函数 V i ( x k ) V_i(x_k) Vi(xk)。评价网络写成如下形式:
V i j ( ω , x k ) V^j_i(\omega,x_k) Vij(ω,xk)
输入的是系统的状态向量,输出系统的控制量。其中参数i表示当前迭代的次数,j代表的是评价网络在本次迭代中拟合代价函数的迭代次数。网络训练的代价函数
KaTeX parse error: Expected '}', got '_' at position 12: \text{loss_̲V}=V^j_i(\omega…
其中的目标在迭代的过程中可以通过迭代计算进行近似获取。
V i ( x k ) = ∑ j = 0 N − 1 U ( x k + j , v i ( x k + j ) ) + V i ( x k + N ) V_i(x_k)=\sum_{j=0}^{N-1}U(x_{k+j},v_i(x_{k+j}))+V_i(x_{k+N}) Vi(xk)=j=0N1U(xk+j,vi(xk+j))+Vi(xk+N)
由于 v i ( x k ) v_i(x_k) vi(xk)是容许控制,可知当 N → ∞ N\rightarrow\infty N时, V i ( x k + N ) → 0 V_i(x_{k+N})\rightarrow 0 Vi(xk+N)0。因此我们取足够大的 N N N
V i ( x k ) = ∑ j = 0 N − 1 U ( x k + j , v i ( x k + j ) ) V_i(x_k)=\sum_{j=0}^{N-1}U(x_{k+j},v_i(x_{k+j})) Vi(xk)=j=0N1U(xk+j,vi(xk+j))
通过求和计算,就能够获得相对精确的目标函数。

总结

策略迭代可以保证迭代过程中的控制一直是稳定的控制律**(这个证明还没看出来)**,这是策略迭代比值迭代有更高可用性的地方,但是策略迭代需要保证初始的控制律需要稳定的,因此刚开始需要大量的试初值获取一个稳定的初始控制律,这是一件比较烦人的事情。而值迭代只需要给定一个正定的初值,就能够迭代到收敛,增加了自适应动态规划的可用性。

实验中的一些思考

在实际的训练过程中,因为使用的是用神经网络对评价函数和控制函数进行拟合,必然会存在误差,因此会出现理论推导不符的现象。例如,在初值为零的值迭代问题,我们训练的控制网络理论上是当前值函数的最优控制,可是实际中是存在误差的,因此可以看到,当快要收敛时值函数并不是单调不减,而是会出现震荡收敛的现象。因为迭代过程中控制网络不是最优,因此当前控制的实际值函数必然大于当前的估计值函数,因此迭代过程就变成了,策略迭代问题,认为值函数是最优的去寻找当前最优的控制策略。

策略迭代和值迭代在迭代的中间过程基本是相同的,因此在中间过程中一直是相互切换的,可能比较重要的区分点就是初值是取的值函数还是策略函数。我认为这两种迭代,**值迭代默认为每次选取的控制是最优的,而策略迭代默认为值函数是最优值。**所以当初值为零时,值迭代的值函数是不减的,而策略迭代每次初始选取的控制肯定不是最优,因此值函数肯定大于最优值函数,因此此时的值函数是不增的。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值