开发者说丨动态规划及其在Apollo项目Planning模块的应用
【今日推荐】:为什么一到面试就懵逼!>>> 本文作者:Apollo开发者社区 动态规划的英文为:Dynamic Programming,这里的“Programming”并非指编写程序代码,而是指一种表格计算法(A tabular method),即基于表格查询的方法计算得到最优结果,因此中文将其翻译成“动态规划”不甚严谨。关于动态规划算法的原理,MIT出版的专著:“ Introduction to Algorithms Third Edition (Thomas H. Cormen, Charles E. leiserson, Ronald L. Rivest, Clifford Stein)”(中文版 《算法导论》 )讲解得不错,本文的算法原理及示例均摘自该书。 本文由 社区荣誉 布道师——贺志国 撰写,对 动态规划及其在Apollo项目Planning模块的应用 进行了详细讲解,希望这篇文章能给感兴趣的开发者带来更多帮助。 以下,ENJOY 一、动态规划算法原理 动态规 划与分治 法 (The Divide-and-Conquer Method)有些类似,也是将问题分解为多个子问题,并且基于子问题的结果获得最终解。二者的区别是,分治法将初始问题划分为多个不关联(Disjoint)的子问题(Subproblem)(即子问题相互之间互不依赖),递归地解决子问题