浅谈动态规划

1|0什么是动态规划?

动态规划 (Dynamic Programing)算法是解决 的通用方法。在这类问题中,可能有多个可行解。每一个解都对应着一个值,而我们希望找到的是

要了解动态规划的概念,首先要知道什么是

1|1多阶段决策问题

如果一类活动过程可以分为 ,在每一个阶段都需(采取措施),一个阶段的决策确定以后,常常影响到下一个阶段的决策,从而就完全地确定了一个过程的活动路线,则称它为

1|2策略

各个阶段的决策构成一个,称为一个。每一个阶段都有若干个决策可供选择,因而就有许多策略供我们选取,对应于一个策略可以确定活动的效果,这个效果可以用数量来确定。策略不同,效果也会有所不同。多阶段决策问题,就是要在可以选择的策略之间,使

1|3举个例子:最短路径问题求解

HIGUYS
A 到达 E 的最短距离。
思考:仔细观察本图路径的特殊性,可以分成四个阶段。

第一阶段(Stage 1) :
A 有两条通路:AB1AB2;

第二阶段(Stage 2) :
B1 有三条通路:B1C1 , B1C2 , B1C3;
B2 有两条通路:B2C2 , B2C4;

第三阶段(Stage 1) :
C1 有两条通路:C1D1C1D2;
C2 有一条通路:C2D1;
C3 有一条通路:C3D3;
C4 有一条通路:C4D3;

第四阶段(Stage 1) : D1 有一条通路:D1E;
D2 有一条通路:D1E;
D3 有一条通路:D1E.

解决方法:倒着推 (设 F(x) 表示 x 点到 E 点的最短路径的长度)

不难想到:F(x)=min{xy+F(y)}

名词解释: 我们把 F(x) 称为当前x ;每一的阶段的选择当前的状态,又随即;一个决策序列{ED3C4B2A}就是在中产生的,故有的含义。

1|4小结

三个基本的概念
1.: 问题的过程被分成若干个相互联系的部分,我们称之为阶段,以便按一定的次序求解。
2.: 某一阶段的出发位置称为状态,通常一个阶段包含着若干个状态。
3.: 对问题的处理中做出的每种选择的行动就是决策。即从该阶段的每个状态出发,通过一次选择性的行动移至下一个阶段的相应状态。

__EOF__

本文作者WANGYUYAO
本文链接https://www.cnblogs.com/atronomia/p/elementary-introduction-of-dynamic-programming.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   LG532626  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示