动态规划算法

引言

  动态规划是求解多级决策过程最优化的一种数学方法。所谓多级决策过程,是指把一个过程分成若干阶段,每一阶段都作出决策,以使整个过程取得最优效果。通过对多级决策问题的讨论,可以初步了解动态规划的思想和方法[1]。通俗地讲,就是在当前状态的关口,如何做出下一步决策,就好比你处于迷茫状态的关口,下一步你有很多选择,如果你能够知道在当前状态下几个选择中收益最大的那个,选择了它之后在不久的将来能够当上CEO,赢取白富美,你肯定会毫不犹豫地作出选择。在众多动态规划问题中,最短路径问题是多级决策的一个典型例子,用这个阐述相信大家很快就能学会。

最短路径问题

  其实路径规划还是我上最优控制这门课的时候了解到的算法,所以引用考研朱伟老师的话“少一些功利主义的追求,多一些不为什么的坚持”,只要你觉得有意思或者是有那么一点点用的东西,趁年轻学它吧!在控制中动态规划是为了求解类似最优状态调节器问题而引入的算法,虽然我去上最优控制这门课的次数不多,但每次我觉得有意思的内容我都会搞懂,在此要感谢我校的陈晖老师!!接下来由一个书中的最短路径问题讲解动态规划的思想:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  引用书中的话,假设 N N N为多级决策过程中的级数,如图4-1中现处于C级还剩下3级决策则 N = 3 N=3 N=3 x x x表示任一级所处的位置,称为状态变量; S N ( x ) S_{N}(x) SN(x)为决策变量,表示状态 x x x以后还有 N N N级时,所选取的下一个点; J N ( x ) J_{N}(x) JN(x)表示状态 x x x N N N级决策的最短距离, d ( x , S N ) d(x,S_{N}) d(x,SN)表示从状态 x x x到到 S N S_{N} SN的距离,对于图4-1的问题,用动态规划的方法是从后往前做决策,从 E E E级开始算起,这级有两个状态, E 1 E_{1} E1 E 2 E_{2} E2,则
第一步:
J 1 ( E 1 ) = 1 J_{1}(E_1)=1 J1(E1)=1 J 1 ( E 2 ) = 2 J_{1}(E_2)=2 J1(E2)=2 第二步:
J 2 ( D 1 ) = m i n { J 1 ( E 1 ) + d ( D 1 , E 1 ) = 4 + 1 J 1 ( E 2 ) + d ( D 1 , E 2 ) = 2 + 2 } = 4 J_{2}(D_{1})=min\left\{ \begin{aligned} J_{1}(E_1)+d(D_1,E_1)=4+1 \\ J_{1}(E_2)+d(D_1,E_2)=2+2 \\ \end{aligned} \right\}=4 J2(D1)=min{ J1(E1)+d(D1,E1)=4+1J1(E2)+d(D1,E2)=2+2}=4则处于 D 1 D_{1} D1级时最优选择是 E 2 E_2 E2,因此 S 2 ( D 1 ) = E 2 S_{2}(D_{1})=E_2 S2(D1)=E2
J 2 ( D 2 ) = m i n { J 1 ( E 1 ) + d ( D 2 , E 1 ) = 6 + 1 J 1 ( E 2 ) + d ( D 2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值