- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 动态规划_作业-3.22
课后练习 练习1:已知一组连乘矩阵A1A2A3A4A5的行列数如下面p向量所示: 如使用函数直接递归调用(穷举法)的形式求解,则是无效算法,请画出函数递归调用的递归树树形,并说明有哪些子问题被重复计算。 请用动态规划法求解最优计算顺序,写出计算过程以及加括号的计算顺序表达式。p = (5, 3, 9, 2, 2, 4) A1A2A3A4A5 p = (5, 3, 9, 2, 2, 4) 用动态规划法求解最优计算顺序,写出计算过程以及加括号的计算顺序表达式。 课后练习 练习2:假定有6个键值,k1、k2、k3、k4、k5、k6,其中k1≤k2≤k3≤k4≤k5≤k6。它们被搜索的概率分别为 {0.24,0.18,0.09,0.13,0.3,0.06},请使用动态规划算法求一颗最优二叉搜索树,要求: 给出该树的平均查找长度; 画出树形。 则由两个矩阵值得到最优二叉搜索树树形为: 课后练习 练习3:假如你正在管理SD纪念馆公路的广告牌的建设,这条路从西到东M英里,是一段旅行量大的路程。广告牌的可能的地点用数字x1, x2, …., xn给出,每个均处在区间[0, M]中(沿这条公路规定它们的地点,从路地西端用英里量度)。如果你放一块广告牌在地点xi,你就得到ri>0的收益。 课后练习 国家公路局得征税规定要求两块广告牌相对不能位于小于或等于5英里之内。你需要找一组地点来放置广告牌以使得你的总收益在这个限制下达到最大。 例如:M=20, n=4 { x1, x2, x3, x4 } = { 6, 7, 12, 14 } { r1, r2, r3, r4 } = { 5, 6, 5, 1 } 问题的最优子结构性质: { x1, x2, ……, xn } 的最优解一定包含{ x1, x2, ……, xn-1 } 的最优解,该结论可以用反证法证明。 最优解为:n个地点放置两个广告牌的方案,同时使总收益最大。 最优值设计为:总收益。 解题思路:考虑对于给定输入实例的一个最优解,在地点xn或者放广告牌,或者不放。 如果不放,那么在地点x1, x2, ……, xn上的最优解实际上与在地点x1, x2, ……, xn-1上的最优解一样。 如果放,那么应该去掉xn以及与它在5英里之内的所有其他地点,并且找在剩下地点上的最优解。 当考察仅前j个地点x1, x2, ……, xj所定义的问题时,同样的推理也适用:在最优解中包含或不包含xj ,具有同样的结果。 令e(j)表示编号比j小且距xj大于5英里的最东边的地点xi。 因为地点是从西到东编号的,一旦选择在xj放一块广告牌,地点x1, x2, ……, xe(j)仍旧是有效的选项,但地点xe(j)+1, …, xj-1不是。 如此得出了如下的递推式,另OPT(j)表示从x1, …, xj中地点的最优子集得到的收益。 * 函数递归调用的递归树树形 1:5 1:1 2:5 1:2 3:5 1:3 4:5 1:4 5:5 2:2 3:5 2:4 5:5 1:1 2:2 3:3 4:5 3:4 5:5 …… …… …… …… …… …… …… …… A1A2A3A4A5 p = (5, 3, 9, 2, 2, 4) 5×5 M矩阵 5×5 S矩阵 0 0 0 0 0 1 2 3 4 5 1. 计算m[i,i+1] (i=1, 2, 3, 4): (矩阵链长度为2) m[1][2] = min 1≤k<2 {m[1][1]+m[2][2]+p0p1p2} = 135 m[2][3] = min 2≤k<3 {m[2][2]+m[3][3]+p1p2p3} = 54 m[3][4] = min 3≤k<4 {m[3][3]+m[4][4]+p2p3p4} = 36 m[4][5] = min 4≤k<5 {m[4][4]+m[5][5]+p3p4p5} = 16 135 54 36 16 1 2 3 4 A1A2A3A4A5 p = (5, 3, 9, 2, 2, 4) 5×5 M矩阵 5×5 S矩阵 0 0 0 0 0 1 2 3 4 5 135 54 36 16 1 2 3 4 2. 计算m[i,i+2] (i=1, 2, 3): (矩阵链长度为3) m[1][3] = min 1≤k<2 {m[1][1]+m[2][3]+p0p1p3, m[1][2]+m[3][3]+p0p2p3} = min{84, 225} = 84 m[2][4] = min 2≤k<4 {m[2][2]+m[3][4]+p1p2p4, m[2][3]+m[4][4]+p1p3p4}
文档评论(0)