动态规划.ppt
《动态规划.ppt》由会员分享,可在线阅读,更多相关《动态规划.ppt(65页珍藏版)》请在三一办公上搜索。
1、1,第3章 动态规划,History does not occur again,2,学习要点:理解动态规划算法的概念掌握动态规划算法的基本要素(1)最优子结构性质(2)重叠子问题性质掌握设计动态规划算法的步骤(1)找出最优解的性质,并刻划其结构特征(2)递归地定义最优值(3)以自底向上的方式计算出最优值(4)根据计算最优值时得到的信息,构造最优解,3,通过应用范例学习动态规划算法设计策略(1)矩阵连乘问题(2)最长公共子序列(3)最大子段和(4)凸多边形最优三角剖分(5)多边形游戏(6)图像压缩(7)电路布线(8)流水作业调度(9)背包问题(10)最优二叉搜索树,4,F(n)=,1if n=0
2、 or 1F(n-1)+F(n-2)if n 1,Pseudo code for the recursive algorithm:F(n)1if n=0 or n=1 then2return 13else4return F(n-1)+F(n-2),Fibonacci number F(n),5,The execution of F(7),F7,F6,F5,F5,F4,F3,F3,F2,F1,F0,F2,F1,F0,F1,F2,F1,F0,F2,F1,F0,F2,F1,F0,F4,F4,F3,F3,F3,F2,F1,F0,F2,F1,F0,F2,F1,F0,F1,F1,F1,F1,6,The e
3、xecution of F(7),Computation of F(2)is repeated 8 times!,F7,F6,F5,F5,F4,F3,F3,F2,F1,F0,F2,F1,F0,F1,F2,F1,F0,F2,F1,F0,F2,F1,F0,F4,F4,F3,F3,F3,F2,F1,F0,F2,F1,F0,F2,F1,F0,F1,F1,F1,F1,7,The execution of F(7),Computation of F(3)is also repeated 5 times!,F7,F6,F5,F5,F4,F3,F3,F2,F1,F0,F2,F1,F0,F1,F2,F1,F0,
4、F2,F1,F0,F2,F1,F0,F4,F4,F3,F3,F3,F2,F1,F0,F2,F1,F0,F2,F1,F0,F1,F1,F1,F1,8,The execution of F(7),Many computations are repeated!How to avoid this?,F7,F6,F5,F5,F4,F3,F3,F2,F1,F0,F2,F1,F0,F1,F2,F1,F0,F2,F1,F0,F2,F1,F0,F4,F4,F3,F3,F3,F2,F1,F0,F2,F1,F0,F2,F1,F0,F1,F1,F1,F1,9,Idea for improvement,Memoriza
5、tion Store F(i)somewhere after we have computed its value Afterward,we dont need to re-compute F(i);we can retrieve its value from our memory.,F(n)1 if(vn 0)then2 vn F(n-1)+F(n-2)3 return vn,Main()1 v0=v1 12 for i 2 to n do3 vi=-14 output F(n),10,Look at the execution of F(7),v0v1v2v3v4v5v6v7,F7,F6,
6、F5,F5,F4,F3,F3,F2,F1,F0,F2,F1,F0,F1,F2,F1,F0,F2,F1,F0,F2,F1,F0,F4,F4,F3,F3,F3,F2,F1,F0,F2,F1,F0,F2,F1,F0,F1,F1,F1,F1,11,Look at the execution of F(7),v0v1v2v3v4v5v6v7,F7,F6,F5,F5,F4,F3,F3,F2,F1,F0,F2,F1,F0,F1,F2,F1,F0,F2,F1,F0,F2,F1,F0,F4,F4,F3,F3,F3,F2,F1,F0,F2,F1,F0,F2,F1,F0,F1,F1,F1,F1,12,Look at
7、 the execution of F(7),v0v1v2v3v4v5v6v7,F7,F6,F5,F5,F4,F3,F3,F2,F1,F0,F2,F1,F0,F1,F2,F1,F0,F2,F1,F0,F2,F1,F0,F4,F4,F3,F3,F3,F2,F1,F0,F2,F1,F0,F2,F1,F0,F1,F1,F1,F1,13,Look at the execution of F(7),v0v1v2v3v4v5v6v7,F7,F6,F5,F5,F4,F3,F3,F2,F1,F0,F2,F1,F0,F1,F2,F1,F0,F2,F1,F0,F2,F1,F0,F4,F4,F3,F3,F3,F2,
8、F1,F0,F2,F1,F0,F2,F1,F0,F1,F1,F1,F1,14,Look at the execution of F(7),v0v1v2v3v4v5v6v7,F7,F6,F5,F5,F4,F3,F3,F2,F1,F0,F2,F1,F0,F1,F2,F1,F0,F2,F1,F0,F2,F1,F0,F4,F4,F3,F3,F3,F2,F1,F0,F2,F1,F0,F2,F1,F0,F1,F1,F1,F1,15,Look at the execution of F(7),v0v1v2v3v4v5v6v7,F7,F6,F5,F5,F4,F3,F3,F2,F1,F0,F2,F1,F0,F1
9、,F2,F1,F0,F2,F1,F0,F2,F1,F0,F4,F4,F3,F3,F3,F2,F1,F0,F2,F1,F0,F2,F1,F0,F1,F1,F1,F1,16,F1,F0,Look at the execution of F(7),v0v1v2v3v4v5v6v7,F7,F6,F5,F5,F4,F3,F3,F2,F1,F0,F2,F1,F2,F1,F0,F2,F1,F0,F2,F1,F0,F4,F4,F3,F3,F3,F2,F1,F0,F2,F1,F0,F2,F1,F0,F1,F1,F1,F1,17,F1,F0,F2,F1,F0,F1,Look at the execution of
10、 F(7),v0v1v2v3v4v5v6v7,F7,F6,F5,F5,F4,F3,F3,F2,F1,F0,F2,F1,F2,F1,F0,F2,F1,F0,F4,F4,F3,F3,F3,F2,F1,F0,F2,F1,F0,F2,F1,F0,F1,F1,F1,18,F1,F0,F2,F1,F0,F1,Look at the execution of F(7),v0v1v2v3v4v5v6v7,F7,F6,F5,F5,F4,F3,F3,F2,F1,F0,F2,F1,F2,F1,F0,F2,F1,F0,F4,F4,F3,F3,F3,F2,F1,F0,F2,F1,F0,F2,F1,F0,F1,F1,F1
11、,19,F1,F0,F2,F1,F0,F2,F1,F0,F2,F1,F0,F3,F1,F1,Look at the execution of F(7),v0v1v2v3v4v5v6v7,F7,F6,F5,F5,F4,F3,F3,F2,F1,F0,F2,F1,F4,F4,F3,F3,F2,F1,F0,F2,F1,F0,F2,F1,F0,F1,F1,20,F1,F0,F2,F1,F0,F2,F1,F0,F2,F1,F0,F3,F1,F1,Look at the execution of F(7),v0v1v2v3v4v5v6v7,F7,F6,F5,F5,F4,F3,F3,F2,F1,F0,F2,F
12、1,F4,F4,F3,F3,F2,F1,F0,F2,F1,F0,F2,F1,F0,F1,F1,21,F1,F0,F2,F1,F0,F2,F1,F0,F2,F1,F0,F3,F3,F3,F2,F1,F0,F2,F1,F0,F2,F1,F0,F1,F1,F1,F1,Look at the execution of F(7),v0v1v2v3v4v5v6v7,F7,F6,F5,F5,F4,F3,F3,F2,F1,F0,F2,F1,F4,F4,22,F1,F2,F1,F0,F2,F1,F0,F2,F1,F0,F4,F3,F3,F3,F2,F1,F0,F2,F1,F0,F2,F1,F0,F1,F1,F1
13、,F1,Look at the execution of F(7),v0v1v2v3v4v5v6v7,F7,F6,F5,F5,F4,F3,F3,F2,F1,F0,F2,F0,F1,F4,23,ObservationThe 2nd version still make many function calls,and each wastes times in parameters passing,dynamic linking,.In general,to compute F(i),we need F(i-1)&F(i-2)onlyIdea to further improveCompute th
14、e values in bottom-up fashion.That is,compute F(2)(we already know F(0)=F(1)=1),then F(3),then F(4),This new implementation saves lots of overhead.,Can we do even better?,F(n)1A0=A1 12for i 2 to n do3Ai Ai-1+Ai-24return An,24,Recursive vs Dynamic programming,Recursive version:F(n)1if n=0 or n=1 then
15、2return 13else4return F(n-1)+F(n-2),Dynamic Programming version:F(n)1A0=A1 12for i 2 to n do3Ai Ai-1+Ai-24return An,TooSlow!,Efficient!Time complexity is O(n),25,Summary of the methodology,Write down a formula that relates a solution of a problem with those of sub-problems.E.g.F(n)=F(n-1)+F(n-2).Ind
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 动态 规划

链接地址:https://www.31ppt.com/p-2746539.html