- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
教材:
[1][王] 王晓东,计算机算法设计与分析(第4版),电子工业.
[2][S] 唐常杰等译, Sipser著, 计算理论导引, 机械工业.
参考资料:
[3][C] 潘金贵等译, Cormen等著, 算法导论, 机械工业.
[4][M] 黄林鹏等译, Manber著, 算法引论-一种创造性方法, 电子.
[5][刘] 刘汝佳等, 算法艺术与信息学竞赛, 清华大学.
[6][L] Lewis等著, 计算理论基础, 清华大学.
计算理论与算法分析设计
刘 庆 晖
第三章 动态规划(DP)
1. 动态规划一般原理(与分治对比), Bellman, OSP
2. 动态规划设计步骤: 矩阵连乘
3. 如何设计动态规划算法: 子结构和策略
最长公共子序列, 最大子段和, 最长递增子序列
4. 拆分方案数与背包问题 (动态规划与贪心对比)
5. 最短路问题 (全路径, Bellman-Ford, Dijkstra)
动态规划与分治
分治的过程: 分解—递归解子问题—合并
若有大量重复子问题, 则不宜分治
一个不太恰当的例子:
f(n) = f(n-1) + f(n-2), f(1)=f(0)=1.
输入n, 输出f(n).
递归:
int f(int n)
{ if(n2) return(1);
return(f(n-1)+f(n-2);
}
2O(n)时间, O(1)空间
动态规划:
f[1]=1;f[0]=1;
for(i=2,in,i++)
f[i]=f[i-1]+f[i-2];
O(n)时间, O(n)空间
Programming的含义:
打表记录中间结果
Fibonacci数矩阵算法与DP
由 f(n) = f(n-1) + f(n-2), 知
求幂问题: 输入: x, n; 输出: xn.
设二进制表示n=(bk…b1b0)2, 则
乘法由n次 降为2logn次
更进一步的 动态规划
最优化问题的动态规划
设计步骤 1) 描述最优解的结构
[王] 2) 递归定义最优解
3) 自底向上计算最优值
4) 由计算结果构造最优解
最优子结构性质, optimal substructure property
OSP: 最优策略的子策略也是最优.
满足OSP的问题可用DP.
Bellman在1955年开始系统地研究
Programming是指使用一种表格化的算法.
Bellman给这个领域提供了坚实的数学基础.
第三章 动态规划(DP)
1. 动态规划一般原理(与分治对比), Bellman, OSP
2. 动态规划设计步骤: 矩阵连乘
3. 如何设计动态规划算法: 子结构和策略
最长公共子序列, 最大子段和, 最长递增子序列
4. 拆分方案数与背包问题 (动态规划与贪心对比)
5. 最短路问题 (全路径, Bellman-Ford, Dijkstra)
矩阵连乘问题([王])
输入: 给定矩阵A1, A2,…, An, Ai与Ai+1可乘
输出: 计算量最小的乘法次序
输入样例: A1(10?100阶), A2(100?5阶), A3(5?50阶),
两种计算次序: ( (A1?A2) ? A3 ), ( A1? (A2?A3) )
A1?A2的计算量: 10?100?5 (乘法次数)
( (A1?A2) ?A3 ) : 10?100?5 + 10?5?50 = 7500
( A1? (A2?A3) ) : 100?5?50 + 10?100?50 = 75000
样例输出: ( (A1?A2) ?A3 )
取整数序列q0,q1,…,qn, 设Ai是 qi-1 ? qi 阶矩阵
n个矩阵连乘不同次序个数:
分析最优解结构、建立递推关系
假设定好了一个乘法次序P
用A[i:j]记连乘积 Ai…Aj , 相应计算量T[i,j]
设P最后乘法在Ak后断开, 即 A[1:k]?A[k+1:n] 那么P的计算量为 T[1,k] + T[k+1,n] + q0?qk?qn.
若P最优, 则P在A[1:k]和A[k+1:n]上也最优
最优子结构性质 : 最优策略的子策略也是最优.
设A[i:j]的最小计算量为m[i,j], 那么
最优值与最优解的区别
输入: 给定矩阵A1, A2,…, An, 整数序列q0,q1,…,qn, Ai是 qi-1 ? qi 阶矩阵
输出: 计算量最小的
您可能关注的文档
最近下载
- 水库堤坝工程预算方案(3篇).docx VIP
- 《与同学们谈地理》 课件 2025七年级地理上册人教版.pptx VIP
- 100ASK_IMX6ULL-QEMU使用及开发教程_高级用户使用手册.pdf VIP
- 饮食配餐食物交换份法.ppt VIP
- 设备监理师《设备监理基础知识和相关法规》试题及答案.doc VIP
- 贵州省2025年高职院校分类考试招生中职生文化综合英语试题.docx VIP
- 2025年秋统编版语文三年级上册全册同步课件(课标版).pptx
- 南京大学普通天文学课件01天文学史.pptx VIP
- Roland罗兰乐器INTEGRA-7 拥有真实技术的音源INTEGRA-7 说明书用户手册.pdf
- 助学贷款申请表.doc VIP
文档评论(0)