2018-12-06
动态编程

这几天在耍一耍 rosalind 上面的题目,遇到了几道所谓“斐波那契兔子”的问题,还有一道求最长公共子串的问题。根据题目给的提示,这类“斐波那契”问题都可以归属于动态编程的范畴。那么动态编程具体指的是什么呢?

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

以上是百度百科上的定义,看不懂啊看不懂。不过没关系,经过下面的问题就应该会好懂一点。

Read More