动态规划(入门)【不骗人,真的好理解的啦】(一)

初入动态规划

动态规划(入门)【不骗人,真的好理解的啦】(一)_第1张图片
动态规划很重要,我认为它是进入信息学的第二个门槛。第一个门槛是什么捏,当然是下载编程程序了。别笑,很多人因为不会下而放弃了QWQ。
所以,你应该很庆幸地努力度过它,至少你会下载c++。

好的,信息学和某些学科比较相似。我们就拿数学开刀举例子。
比如现在我们学习三角形。老师一般会先告诉你,什么叫做三角形,也就是它的定义。(定义(Definition),原指对事物做出的明确价值描述。)
以下是三角形的定义

三角形是由不在同一直线上的三条线段‘首尾’顺次连接所组成的封闭图形叫做三角形.常见的三角形按边分有普通三角形(三条边都不相等),等腰三角形(腰与底不等的等腰三角形、腰与底相等的等腰三角形即等边三角形);按角分有直角三角形、锐角三角形、钝角三角形等,其中锐角三角形和钝角三角形统称斜三角形。【也有等腰直角三角形】

好的,信息学也是这样。老师教你东西时一定会先把这个算法,数据结构。。。的定义先告诉你。那么老师教你,就一定会告诉你:

动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程(multistep decision process)的优化问题时,提出了著名的最优化原理(principle of optimality),把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解,创立了解决这类过程优化问题的新方法——动态规划。1957年出版了他的名著《Dynamic Programming》,这是该领域的第一本著作。

上面好多废话,精简就是

把大问题分成若干小问题,然后逐一求出最优答案,使答案最优

我知道你已经看不下去了,说实话我自己也看不下去了.所以我准备扯蛋
动态规划(入门)【不骗人,真的好理解的啦】(一)_第2张图片
这位是了不起的盖茨比 比利 比尔盖子
比尔盖茨(终于讲对了)
他曾经说过:所以人都应该学好动态规划。
所以我们接着讲(QWQ这哪门子扯淡)

阶段

用动态规划,需要将问题的全过程恰当地分成若干个相互联系的的阶段。
以便按一定顺序求解。


这就好比你妈生了若干个child,然后让你们站成一排,让你的最大的哥哥/姐姐一直传一桶水到最小的口渴的弟弟或妹妹。

这就相当于你妈把传水这个大的问题分解成让你的若干兄弟姐妹分开做,让每个人把水传到也就是每个阶段,然后传到口渴的弟弟妹妹就是答案。

动态规划(入门)【不骗人,真的好理解的啦】(一)_第3张图片

状态

状态是什么?
某一阶段的出发位置称为状态,通常一个阶段有若干个状态。
回到刚刚的例子

这就好比你妈生了若干个child,然后让你们站成一排,让你的最大的哥哥/姐姐一直传一桶水到最小的口渴的弟弟或妹妹。

这里的兄弟姐妹们传水的状态(例如有没有洒水,打翻水)就是我们说的状态。。。

未完待续……
敬请期待动态规划

《(入门)【不骗人,真的好理解的啦】(二)》

你可能感兴趣的:(算法,c++中)