什么样的“多阶段决策问题”才可以采用动态规划的方法求解
一般来说,能够采用动态规划方法求解的问题,必须满足最优化原理和无后效性原则:
1、动态规划的最优化原理。作为整个过程的最优策略具有:无论过去的状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略的性质。也可以通俗地理解为子问题的局部最优将导致整个问题的全局最优,即问题具有最优子结构的性质,也就是说一个问题的最优解只取决于其子问题的最优解,而非最优解对问题的求解没有影响。
在最短路径问题中,A到E的最优路径上的任一点到终点E的路径,也必然是该点到终点E的条最优路径,即整体优化可以分解为若干个局部优化。
2、动态规划的无后效性原则。所谓无后效性原则,指的是这样一种性质:某阶段的状态旦确定,则此后过程的演变不再受此前各状态及决策的影响。也就是说,“未来与过去无关”,当前的状态是此前历史的一个完整的总结,此前的历史只能通过当前的状态去影响过程未来的演变。
由此可见,对于不能划分阶段的问题,不能运用动态规划来解;对于能划分阶段,但不符合最优化原理的,也不能用动态规划来解;既能划分阶段,又符合最优化原理的,但不具备无后效性原则,还是不能用动态规划来解;误用动态规划程序设计方法求解会导致错误的结果。
为什么动态规划比搜索要快?就是因为动态规划的最优性原理和无后效性。在动态规划推导出一个阶段的结果时,会将其保留,再次遇到这个结果直接调用,而不需要注重结果时怎么来的(像愚蠢的搜索,后效性),这也是剪枝——记忆化搜索,最经典的例子就是搜索和记忆化搜索一起做斐波那契数列。
标签:无后效,动态,原理,最优,解析,规划,最优化 来源: https://blog.csdn.net/cool99781/article/details/118872965
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。