- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Dynamic Programming Dynamic Programming Dynamic Programming 串列矩陣相乘 (定義) 串列矩陣相乘(例) Catalan Number 乘法樹 串列矩陣相乘(設計1) 串列矩陣相乘 (設計2) 串列矩陣相乘 (實例) 串列矩陣相乘 (找解) 串列矩陣相乘 (分析) 發展一 DP 演算法的步驟 Elements of Dynamic Programming Longest Common Subsequence (定義) Longest Common Subsequence (設計1) Longest Common Subsequence (設計2) Longest Common Subsequence (例+分析) Optimal Polygon Triangulation Optimal Polygon Triangulation (設計1) Optimal Polygon Triangulation (設計2) 以上為利用此遞迴公式,計算一個有六個矩陣的序列的計算過程。 請注意計算的方式為 j ? i 的值從 1 到 n = 6的方向計算 m[i, j],因為這個方向為子問題由小到大的方向進行,我們稱這樣的計算方式為由下往上(bottom-up)的方式。 計算完成以後,我們所要求的最佳解的計算量會在 m[1, 6] 的位置,在此例,其值為 348。 根據遞迴公式只能算出最佳解的值(即最少計算量),要求出最佳解的作法,仍須進一步的計算,不過實際上最佳解已隱藏在之前的計算中。 要找到最佳解,我們利用到另一陣列 s[i, j] 。我們讓 s[i, j] = k,其中 k為計算 m[i, j] 時,得到最小值所代入的參數值。 有了 s[i, j],我們就可以由上往下的方式(top-down)找出最佳的乘法樹(如動畫所示)。 左下方的圖形是以另一種方式來看 LCS 這個問題,將輸入的兩個序列一上一下放好,想辦法在上下兩序列間畫一些線段,越多越好,但這些線段需滿足以下兩個要求: 1. 線段兩端必須是相同的字母 2. 兩線段不可以相交也不可以有相同端點。 本張投影片論證 LCS 問題具 optimal substructure 的特性。 * * * 與 divide-and-conquer 法類似, 是依遞迴方式設計的演算法. 與 divide-and-conquer的最大差別在於子問題間不是獨立的, 而是重疊的. P(n) P(m1) P(m2) …. P(mk) S1 S2 …. Sk S 給一串列的矩陣 ?A1, A2, … , An?, 其中矩陣 Ai 的大小為 pi?1? pi, 找一計算 A1A2…An 乘積的方式, 使得所用 scalar 乘法的計算量為最少. 例: A1 ? A2 ? A3 ? A4 pi :13 5 89 3 34 (A1(A2(A3A4))), (A1((A2A3)A4)), ((A1A2 )( A3A4)), ((A1(A2 A3))A4), ((( A1A2)A3)A4). 總共有 5 種方式來計算這 4 個矩陣的乘積 : (A1(A2(A3A4))), costs = 26418 (A1((A2A3)A4)), costs = 4055 ((A1A2 )( A3A4)), costs = 54201 ((A1(A2 A3))A4), costs = 2856 ((( A1A2)A3)A4), costs = 10582 A1 ? A2 ? A3 ? A4 13 5 89 3 34 (A1(A2(A3A4)))? A1?(A2A3A4) ? A2?(A3A4) ? A3?A4 cost = 13*5*34 + 5*89*34 + 89*3*34 = 2210 + 15130 + 9078 = 26418 For any n, # ways to fully parenthesize the product of a chain of n+1 matrices = # binary trees with n nodes. = # permutations generated from 1 2 … n through a stack. = # n pairs of fully matched parentheses. = n-th Catalan Number = C(2n, n)/(n +1) = ?(4n/
您可能关注的文档
- 中国美术学院研究生人文素养选修课开课指引.doc
- 中国美术家协会个人会员信息登记表.doc
- 中国职业技术教育学会五年工作规划-中国铁道出版社.doc
- 中国英语教师协会明师国际教育研究院.pdf
- 中国药科大学-考研帮.pdf
- 中国语言学史提纲.doc
- 中国重庆小记者申请表.doc
- 中备考经验介绍.ppt
- 中外课程与教材进行分析和对比研讨会.doc
- 中央美术学院名誉教授-AVisualMini-Encyclopedia.ppt
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)