无后效性

动态规划的概念

在上例的多阶段决策问题中,各个阶段采取的决策,一般来说是与时间有关的,决策依赖于当前状态,又随即引起状态的转移,一个决策序列就是在变化的状态中产生出来的,故有"动态"的含义,称这种解决多阶段决策最优化问题的方法为动态规划方法。

动态规划的最优化概念是在一定条件下,我到一种途径,在对各阶段的效益经过按问题具体性质所确定的运算以后,使得全过程的总效益达到最优。

应用动态规划要注意阶段的划分是关键,必须依据题意分析,寻求合理的划分阶段(子问题)方法。而每个子问题是一个比原问题简单得多的优化问题。而且每个子问题的求解中,均利用它的一个后部子问题的最优化结果,直到最后一个子问题所得最优解,它就是原问题的最优解。

1.3 动态规划适合解决什么样的问题

准确地说,动态规划不是万能的,它只适于解决一定条件的最优策略问题。

或许,大家听到这个结论会很失望:其实,这个结论并没有削减动态规划的光辉,因为属于上面范围内的问题极多,还有许多看似不是这个范围中的问题都可以转化成这类问题。

上面所说的"满足一定条件"主要指下面两点:

(1)状态必须满足最优化原理;

(2)状态必须满足无后效性。

动态规划的最优化原理是无论过去的状态和决策如何,对前面的决策所形成的当前状态而言,余下的诸决策必须构成最优策略。 可以通俗地理解为子问题的局部最优将导致整个问题的全局最优在上例中例题1最短路径问题中,A到E的最优路径上的任一点到终点E的路径也必然是该点到终点E的一条最优路径,满足最优化原理。

动态规划的无后效性原则某阶段的状态一旦确定,则此后过程的演变不再受此前各状态及决策的影响。也就是说,"未来与过去无关",当前的状态是此前历史的一个完整总结,此前的历史只能通过当前的状态去影响过程未来的演变。具体地说,如果一个问题被划分各个阶段之后,阶段 I 中的状态只能由阶段 I+1 中的状态通过状态转移方程得来,与其他状态没有关系,特别是与未发生的状态没有关系,这就是无后效性。

相关推荐
她说人狗殊途1 分钟前
Spring IoC容器加载过程 vs Bean生命周期对应关系图
java·开发语言·rpc
MediaTea25 分钟前
Python 编辑器:PyCharm
开发语言·ide·python·pycharm·编辑器
0wioiw042 分钟前
Go基础(⑦实例和依赖注入)
开发语言·golang
会跑的葫芦怪43 分钟前
Go test 命令完整指南:从基础到高级用法
开发语言·后端·golang
大飞pkz1 小时前
【设计模式】代理模式
开发语言·设计模式·c#·代理模式
JAVA学习通1 小时前
微服务项目->在线oj系统(Java-Spring)--增删改
java·开发语言·spring
闲人编程1 小时前
告别Print: Python调试入门,用PDB高效找Bug
开发语言·python·bug·调试·pdb·断点设置
AI量化投资实验室1 小时前
年化422%,回撤7%,夏普比5.4| Deap因子挖掘新增qlib因子库,附python代码
开发语言·python
Dontla1 小时前
Next.js项目演示(从零创建Next.js项目)Next.js入门实战
开发语言·javascript·ecmascript
eqwaak01 小时前
科技信息差(9.29)
开发语言·科技·学习·算法