之前也在看算法相关的书、在被称为黑书的《算法导论》里看过关于动态规划的讲解

只是当时研究不深、最近突来兴趣对动态规划做了个小的总结、所以就分享下

不足之处多多指正、

先对动态规划做一个简单的介绍吧:

动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。20世纪50年代初美国数

学家R.E.Bellman等人提出了著名的最优化原理(principle of optimality),把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解,

创立了解决这类过程优化问题的新方法——动态规划。
动态规划是信息学竞赛中选手必须熟练掌握的一种算法,他以其多元性广受出题者的喜爱.  动态规划成为信息学奥赛的必考算法之一。
动态规划问世以来,在经济管理、生产调度、工程技术和最优控制等方面得到了广泛的应用。例如最短路线、库存管理、资源分配、设备更新、排序、装载等问题。

Main idea:
solve several smaller (overlapping) subproblems
record solutions in a table so that each subproblem is only solved once
final state of the table will be (or contain) solution

对于动态规划,我是这样理解的:
把待解决的问题分为一个规模较原问题小的子问题、

然后要考虑的就是如何更具这个子问题如何得到原问题的解已经如何解决这个子问题

当然、原问题和子问题需要有相同的解决方式、它们只有问题规模的区别。

这样讲有点抽象、用一个简单的图来说明下:

可以简单的这样理解、把原问题划分为小的问题(能组合成原问题的,小的问题再划分、持续下去,找到简单解

反方向计算回来(记下每一步结果)最后就能得到解。

听起来似乎不难,但是要作比较深入的理解还是得通过实例说话

后面会跟几个经典例子、诸如背包问题等等的都会有我自己的理解、

如果都能理解的话、恭喜你,动态规划入门了

转载于:https://www.cnblogs.com/yanlingyin/archive/2011/11/12/2246624.html

dynamic programming动态规划初步理解【-1】相关推荐

  1. Solve TSP with dynamic programming——动态规划解决旅行商(邮递员)问题

    无向简单图的TSP算法 小规模精确解: 算法思想: 小规模精确解的算法中心思想是动态规划思想. 假设给定顶点集合V为{0,1,2,3,4,... .n}.由于图为无向完全图,我们可以很自然地将0视为输 ...

  2. Dynamic Programming (动态规划问题)

    动态规划定义: 我们在运用分治原理解决问题时,会将问题分成好几个子问题进行递归地求解:然而存在这样一个问题:如果子问题并非相互独立的,运用分治原理将重复地计算公共的子问题,浪费许多时间. 在解决一类特 ...

  3. 动态规划(Dynamic Programming)与贪心算法(Greedy Algorithm)

    文章目录 动态规划算法(Dynamic Programming) 动态规划问题的属性 应用实例:最长公共子序列问题(Longest Common Subsequence, LCS) 贪心算法(Gree ...

  4. ADPRL - 近似动态规划和强化学习 - Note 7 - Approximate Dynamic Programming

    Note 7 - 近似动态规划 Approximate Dynamic Programming 7. 近似动态规划 (Approximate Dynamic Programming) 7.1 近似架构 ...

  5. 强化学习(二)- 动态规划(Dynamic Programming)

    3.动态规划 3.1 介绍 术语动态规划(DP:Dynamic Programming) 指的是一个算法集合,可以用来计算最优策略,给定一个完美的环境模型,作为马尔可夫决策过程(MDP).经典的DP算 ...

  6. 一道有关动态规划(Dynamic Programming)的网易面试题

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:机器学习算法实验室 最近遇到一道很经典的有关动态规划的网 ...

  7. 数据结构与算法(C++)– 动态规划(Dynamic Programming)

    动态规划(Dynamic Programming) 理解动态规划的好文:https://www.sohu.com/a/153858619_466939 1.基础 **定义:**递归算法经常会有一些重复 ...

  8. 动态规划|Dynamic Programming

    由于最近课设要用动态规划,翻阅资料学习一下. 动态规划 解决复杂问题的方法,把它们分解成更简单的子问题. 一旦我们看到一些例子,这个定义就有意义了.实际上,我们今天只看解问题的例子 解决DP问题的步骤 ...

  9. 动态规划(Dynamic Programming, DP)简介

    动态规划(Dynamic programming,DP)是一种在数学.计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法. 动态规划常常适用于有重叠子问题和最优子结 ...

  10. 动手学强化学习(三):动态规划算法 (Dynamic Programming)

    动手学强化学习(三):动态规划算法 (Dynamic Programming) 1. 简介 2. 悬崖漫步环境 3. 策略迭代算法 3.1 策略评估 3.2 策略提升 3.3 策略迭代算法 4.价值迭 ...

最新文章

  1. 方法论 | 产品经理的原型工作流
  2. 如何正确配置Nginx+PHP
  3. JavaScript调用WebServices
  4. 兼容的min-height
  5. JVM垃圾回收机制GC详解
  6. jeesite如何配置swagger_Spring Boot 2.x基础教程:Swagger接口分类与各元素排序问题详解...
  7. 经典网页设计:20个与众不同的国外 HTML5 网站
  8. 羿的后人证明上古历史不是神话
  9. ODI知识模块--IKM Oracle Incremental Update
  10. 安卓res资源混淆器
  11. 光猫接交换机,交换机下接无线路由器,电脑网线连接交换机进不去无线路由器后台是为什么?
  12. 无法安装冰点还原_系统还原软件介绍与功能
  13. 条码打印机、色带、碳带的知识分享 | 条码打印机色带碳带的选购经验 | 鸿顺捷知识分享
  14. 在龙门吊上,看到破浪而来的智能时代
  15. 原生Js弹窗插件|web弹出层组件|对话框
  16. html如何实现左右布局,前端中的左右布局实现
  17. DNS域名服务器114.114.114.114和8.8.8.8
  18. 抽奖转盘,实现后台概率控制
  19. java面向对象一些基本练习题4
  20. Swagger 3.0

热门文章

  1. 古代气候暖和时,雪山雪线如何变化
  2. 管理感悟:派谁进行技术合作
  3. MySQL到mongodb中间件_Bifrost: Bifrost ---- 面向生产环境的 MySQL 同步到Redis,MongoDB等服务的异构中间件...
  4. mysql返回的数据是什么格式_磁盘格式化后能恢复数据吗?先了解什么是格式化...
  5. ImportError: cannot import name 'imresize'
  6. android用户界面是通过组件,[科技]Android 用户界面---定制组件(Custom Components)(一)...
  7. activiti 启动tomcat乱码_使用 IntelliJ IDEA 创建 Web 工程以及启动 Tomcat 乱码问题处理...
  8. python linux调试_linux怎么调试python
  9. android安装管理,android-使用下载管理器下载后安装apk,并退出...
  10. vue computed 传参_前端面试时面试官想要听到什么答案(关于一些Vue的问题)