首页 > 其他分享 >浅谈动态规划

浅谈动态规划

时间:2023-06-12 13:23:01浏览次数:44  
标签:状态 通路 浅谈 color 决策 阶段 动态 规划 red

什么是动态规划?

动态规划 \((\mathbb{D}ynamic~\mathbb{P}rograming)\)算法是解决 \(\color{red}多阶段决策过程最优\) 的通用方法。在这类问题中,可能有多个可行解。每一个解都对应着一个值,而我们希望找到的是 \(\color{red}最优值的解\)。

要了解动态规划的概念,首先要知道什么是 \(\color{red}多阶段决策问题\)。

多阶段决策问题

如果一类活动过程可以分为 \(\color{red}若干个相互联系的阶段\) ,在每一个阶段都需\(\color{red}做出决策\)(采取措施),一个阶段的决策确定以后,常常影响到下一个阶段的决策,从而就完全地确定了一个过程的活动路线,则称它为\(\color{red}多阶段决策问题\)。

策略

各个阶段的决策构成一个\(\color{red}决策序列\),称为一个\(\color{red}策略\)。每一个阶段都有若干个决策可供选择,因而就有许多策略供我们选取,对应于一个策略可以确定活动的效果,这个效果可以用数量来确定。策略不同,效果也会有所不同。多阶段决策问题,就是要在可以选择的策略之间,\(\color{red}选取一个最优策略,使在预定的标准下达到最好的效果\)。

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

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

第一阶段\((Stage~1)\) :
\(A\) 有两条通路:\(A \to B_1\) 和 \(A \to B_2\);

第二阶段\((Stage~2)\) :
\(B_1\) 有三条通路:\(B_1 \to C_1\) , \(B_1 \to C_2\) , \(B_1 \to C_3\);
\(B_2\) 有两条通路:\(B_2 \to C_2\) , \(B_2 \to C_4\);

第三阶段\((Stage~1)\) :
\(C_1\) 有两条通路:\(C_1 \to D_1\) 和 \(C_1 \to D_2\);
\(C_2\) 有一条通路:\(C_2 \to D_1\);
\(C_3\) 有一条通路:\(C_3 \to D_3\);
\(C_4\) 有一条通路:\(C_4 \to D_3\);

第四阶段\((Stage~1)\) : \(D_1\) 有一条通路:\(D_1 \to E\);
\(D_2\) 有一条通路:\(D_1 \to E\);
\(D_3\) 有一条通路:\(D_1 \to E\).

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

不难想到:\(\color{red}F(x) = min\{所有x点指向的点y之间的路径长度 + F(y)\}\)

名词解释: 我们把 \(F(x)\) 称为当前\(\color{red}x~的状态\);每一的阶段的选择\(\color{red}依赖于\)当前的状态,又随即\(\color{red}引起状态的转移\);一个决策序列\(\color{blue}\{E\to D_3\to C_4\to B_2\to A\}\)就是在\(\color{red}变化的状态\)中产生的,故有\(\color{red}“动态”\)的含义。

小结

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

标签:状态,通路,浅谈,color,决策,阶段,动态,规划,red
From: https://www.cnblogs.com/atronomia/p/elementary-introduction-of-dynamic-programming.html

相关文章

  • 企业信息化总体规划
                                                                     ......
  • 联通战略规划与行动规划实践
                                                                       ......
  • 浏览器关闭后动态更改数据库数据
    窗口:卸载前事件   beforeunload当窗口、文档及其资源即将卸载时,将触发 beforeunload 事件。此时,文档仍然可见,并且事件仍可取消。此事件使网页能够触发确认对话框,询问用户是否确实要离开页面。如果用户确认,浏览器将导航到新页面,否则将取消导航。 //浏览器刷新和退出提......
  • 数字电路基础(6)——CMOS的动态特性
    上面的文章介绍完了CMOS门电路的基本构造,但我们分析的时候,给电路的输入信号都是不变的,展示的是门电路在稳定时候的特性,现在我们要把输入信号变成动态变化的信号,观察CMOS电路在动态变化时候的特性。另外,本小节涉及到模拟的特性,本来是应该拿着实物的逻辑门芯片搭电路用示波器观察......
  • 使用.net4引用Delph写的动态链接库DLL,you经验的大佬看一下
    vs2017、net4、无法引用?是Delph动态链接库的问题吗?也把dll放bin同目录底下啦这个是用vs打开的dll是机器代码请有经验的大佬指点一手......
  • Spring配置动态数据库
    前言本文主要介绍使用springboot配置多个数据库,即动态数据库开始搭建首先创建一个SpringWeb项目——dynamicdb(spring-boot2.5.7)然后引入相关依赖lombok、swagger2、mybatis-plus,如下:<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/......
  • 2.5再探宝可梦、数码宝贝分类器 — 浅谈机器学习原理
    1.引入问题  在之前的课程中,我们对"参数过多就会导致过拟合"这个概念处于提出但没有证明的状态,现在来以宝可梦和数码宝贝的分类例子来说明这个问题.2.分类器定义  我们观察宝可梦和数码宝贝的图片可以发现,宝可梦的图片线条比较少,而数码宝贝的线条比较多.或许可以以边......
  • 对数据进行模糊匹配搜索(动态规划、最长公共子串、最长公共子序列)
    在搜索时常常在输入一半或者输入错误时,搜索引擎就给出智能提示。已知的搜索推荐主要包括以下几个方面:包含:“清华”和“清华大学”相似:“聊天软件”和“通讯软件”相关:“明星”和“刘亦菲”纠错:“好奇害死毛”和“好奇害死猫”其中包含模糊匹配可以使用动态规划算......
  • 对数据进行模糊匹配搜索(动态规划、最长公共子串、最长公共子序列)
    在搜索时常常在输入一半或者输入错误时,搜索引擎就给出智能提示。已知的搜索推荐主要包括以下几个方面:包含:“清华”和“清华大学”相似:“聊天软件”和“通讯软件”相关:“明星”和“刘亦菲”纠错:“好奇害死毛”和“好奇害死猫”其中包含模糊匹配可以使用动态规划算......
  • 算法学习day52动态规划part13-674、300、718
    packageLeetCode.DPpart13;/***674.最长连续递增序列*给定一个未经排序的整数数组,找到最长且连续递增的子序列,并返回该序列的长度。*连续递增的子序列可以由两个下标l和r(l<r)确定,*如果对于每个l<=i<r,都有nums[i]<nums[i+1],*那么子序列[nums[......