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

本文详细阐述了策略迭代算法的原理,包括其稳定性证明、迭代过程及如何确保迭代过程中控制律的稳定性。并通过数学归纳法证明了值函数在迭代过程中的单调不增特性,并最终收敛到最优值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

策略迭代

策略迭代稳定性证明

单调不增的证明

迭代过程

取一个随机容许初始控制律v0(xk)v_0(x_k)v0(xk)
V0(xk)=U(xk,v0(xk))+V0(xk+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)
在更新控制律
v1(xk)=arg⁡min⁡uk{U(xk,uk)+V0(xk+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,\cdotsi=1,2,3,
Vi(xk)=U(xk,vi(xk))+Vi(xk+1)vi+1(xk)=arg⁡min⁡uk{U(xk,uk)+Vi(xk+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)}
结论:
Vi+1(xk)≤Vi(xk) V_{i+1}(x_k)\leq V_i(x_k) Vi+1(xk)Vi(xk)
证明:

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

第一步:

我们知道vi+1v_{i+1}vi+1是稳定的控制律,因此当∀k→∞\forall k\rightarrow\inftykxk→0x_k\rightarrow0xk0。令xN=0x_N=0xN=0N→∞N\rightarrow\inftyN。由此可以得
Vi+1(xN)=Γi+1(xN)=Vi(xN)=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−1k=N-1k=N1,可得
vi+1(xN−1)=arg⁡min⁡uN−1{U(xk,uN−1)+Vi(xN)}=arg⁡min⁡uN−1{U(xk,uN−1)+Vi+1(xN)} \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)}

Vi+1(xN−1)=U(xN−1,vi+1(xN−1))+Vi+1(xN)=min⁡uN−1{U(xN−1,uN−1)+Vi(xN)}≤U(xN−1,vi(xN−1))+Vi(xN)=Vi(xN−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+1k=l+1k=l+1l=0,1,2,⋯l=0,1,2,\cdotsl=0,1,2,,当 k=lk=lk=l 时我们可得
Vi+1(xl)=U(xl,vi+1(xl))+Vi+1(xl+1)≤U(xl,vi+1(xl))+Vi(xl+1)(这一步是由上面的假设,Vi+1(xN−1≤Vi(xN−1))得到的)=Γi+1(xl)≤Vi(xl) \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→∞Vi(xk)=J∗(xk) \lim_{i\rightarrow\infty}V_i(x_k)=J^*(x_k) ilimVi(xk)=J(xk)
分三步进行证明

第一步

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

Γi+1(xk)=U(xk,vi+1(xk))+Vi(xk+1)=min⁡uk{U(xk,uk)+Vi(xk+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∞(xk)V_{\infty}(x_k)V(xk) 就是下界。

可得*(这里不太清楚是怎么证明出结论的,除非提前认定 V∞(xk)V_{\infty}(x_k)V(xk) 就是下界,不然 Vi(xk)≤Vi+1(xk)V_i(x_k)\leq V_{i+1}(x_k)Vi(xk)Vi+1(xk) 很难说明,因为上述证明这是不增的。)*
V∞(xk)=lim⁡i→∞Vi(xk)≤lim⁡i→∞Vi+1(xk)≤lim⁡i→∞Γi+1(xk)≤lim⁡i→∞min⁡uk{U(xk,uk)+Vi(xk+1)}≤min⁡uk{U(xk,uk)+V∞(xk+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 ,存在一个正整数ppp
Vp(xk)−ε≤V∞(xk)≤Vp(xk) V_p(x_k)-\varepsilon \leq V_{\infty}(x_k)\leq V_p(x_k) Vp(xk)εV(xk)Vp(xk)
因此
V∞(xk)≥U(xk,vp(xk))+Vp(xp+1)−ε≥U(xk,vp(xk))+V∞(xp+1)−ε≥min⁡uk{U(xk,uk)+V∞(xk+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∞(xk)≥min⁡uk{U(xk,uk)+V∞(xk+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∞(xk)=min⁡uk{U(xk,uk)+V∞(xk+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)}
上述的推导核心就是**Vi(xk)V_i(x_k)Vi(xk)有下界**。

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

第二步

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

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

第一步:

因为 μ(xk)\mu(x_k)μ(xk) 是容许控制,当 k→∞k\rightarrow\inftykxk→0x_k\rightarrow0xk0
P(xk)=lim⁡N→∞{U(xk,μ(xk))+U(xk+1,μ(xk+1))+⋯+U(xN−1,μ(xN−1))+P(xN)} 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∞(xk)=lim⁡N→∞{U(xk,v∞(xk))+U(xk+1,v∞(xk+1))+⋯+U(xN−1,v∞(xN−1))+V∞(xN)}=lim⁡N→∞{min⁡u(k){U(xk,uk)+min⁡uk+1{U(xk+1,uk+1)+⋯+min⁡uN−1{U(xN−1,uN−1)+V∞(xN)}}}} \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\inftyNV∞(xN)=P(xN)=0V_{\infty}(x_N)=P(x_N)=0V(xN)=P(xN)=0。对于 N−1N-1N1 的情况
P(xN−1)=U(xN−1,μ(xN−1))+P(xN)≥min⁡uN−1{U(xN−1,uN−1)+P(xN)}=min⁡uN−1{U(xN−1,uN−1)+V∞(xN)}=V∞(xN−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+1k=l+1k=l+1l=0,1,2,⋯l=0,1,2,\cdotsl=0,1,2, 都成立即 P(xl)≥V∞(xl)P(x_{l})\geq V_{\infty}(x_{l})P(xl)V(xl) ,当 k=lk=lk=l
P(xl)=U(xl,μ(xl))+P(xl+1)≥min⁡ulU(xl,ul)+P(xl+1)≥min⁡ulU(xl,ul)+V∞(xl+1)=V∞(xl) \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)
因此对于任意∀xk\forall x_kxkk=0,1,2,⋯k=0,1,2,\cdotsk=0,1,2,
V∞(xk)≤P(xk) V_{\infty}(x_{k})\leq P(x_k) V(xk)P(xk)
数学归纳法证明完毕。

第三步

证明下界就是最优值

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

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

在实际的迭代过程中我们是用一个神经网络去近似一个代价函数 Vi(xk)V_i(x_k)Vi(xk)。评价网络写成如下形式:
Vij(ω,xk) 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…
其中的目标在迭代的过程中可以通过迭代计算进行近似获取。
Vi(xk)=∑j=0N−1U(xk+j,vi(xk+j))+Vi(xk+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)
由于vi(xk)v_i(x_k)vi(xk)是容许控制,可知当N→∞N\rightarrow\inftyN时,Vi(xk+N)→0V_i(x_{k+N})\rightarrow 0Vi(xk+N)0。因此我们取足够大的NNN
Vi(xk)=∑j=0N−1U(xk+j,vi(xk+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、付费专栏及课程。

余额充值