- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
不合法-联合大学.ppt
Course 6動態規劃Dynamic Programming
▓ Outlines
本章重點
Divide-and-Conquer v.s. Dynamic Programming
Dynamic Programming v.s. Greedy Approach
Floyds Algorithm for Shortest Paths
Chained Matrix Multiplication
Dynamic Programming and Optimization Problems
由前一單元得知,Divided-and-Conquer即為遞迴解法。
以費氏數 (Fibonacci Number) 說明:
終止條件
遞迴關係
▓ Divide-and-Conquer v.s. Dynamic Programming
Recursive Fibonacci Algorithm
inputs: num identified the ordinal of the Fibonacci number
outputs: returns the nth Fibonacci number
void Fib(int num)
{
if (num is 0 OR num is 1)
return num;
else
return (Fib(num-1) + Fib(num-2));
}
Based on recursive function, 求取Fib (8)的過程如下:
Top-Down求算方式
子問題重覆 (Overlapping Subproblem)
?是Divided-and-Conquer主要的問題所在
以人的方式求算:
求算F8和F7時,F6會被用到2次,但我們用表格記錄已算過的部份!!
Bottom-Up求算方式
動態規劃 (Dynamic Programming)是一種表格式的演算法設計原則。
其精神是將一個較大的問題定義為較小的子問題組合,先處理較小的問題,並將其用表格儲存起來,再進一步地以較小問題的解逐步建構出較大問題的解。
Programming: 用表格存起來,有 “以空間換取時間”之涵意
屬於作業研究 (OR)的技巧
n
0
1
2
3
4
5
6
7
8
Fn
0
1
1
2
3
5
8
13
21
Divide-and-Conquer 和 Dynamic Programming都是將問題切割再採用遞迴方式處理子問題,但是:
Divide-and-Conquer可能會對相同子問題進行重覆計算
Dynamic Programming會使用表格將子問題的計算結果加以儲存,在後面階段如果需要這個計算結果,再直接由表格中取出使用,因此可以避免許多重覆的計算,以提高效率。
Divide-and-Conquer v.s. Dynamic Programming
Divide-and-Conquer
Dynamic Programming
額外記憶體空間
不需額外記憶體空間
需要額外記憶體空間
解題方式
Top-Down
Bottom-Up
適用時機
適用non-overlap子問題
適用overlap子問題
▓ Dynamic Programming v.s. Greedy Approach
對於具有限制的最佳化問題,可以採用 “貪婪法則” 或 “動態規劃” 來設計演算法則。
Greedy Approach:
是一種階段性 (Stage) 的方法
具有一選擇程序 (Selection Procedure),自某起始點(值) 開始,在每一個階段逐一檢查每一個輸入是否適合加入答案中,重複經過多個階段後,即可順利獲得最佳解
較為簡單 (?若遇最佳化問題,先思考可否用Greedy Approach解,若不行再考慮用Dynamic Programming)
如果所要處理的最佳化問題無法找到一個選擇程序,則需要考慮所有的可能情況,就是屬於Dynamic Programming
Dynamic Programming
先把所有的情況都看過一遍,才去挑出最佳的結果
考慮問題所有可能的情況,將最佳化問題的目標函數表示成一個遞迴關係式,結合Table的使用以找出最佳解
Ex 1. 有一Graph如下,每一個邊都有一權重值,試找出 “具最小權重值總合且不包含Cycle” 的 Graph。
Sol: (選擇程序) 從最小的邊開始逐一選擇,挑選出來的邊不能構成Cycle,直到所有的邊都被選完為止。
或
Ex 2. 一有向加權圖Graph如下,該圖可分成2個部份,請找出由第一個部份的出發頂點到最後部份的目的地頂點的最短距離路。
Sol: 找不到一個選擇程序,可自某起始點(值) 開始逐一
您可能关注的文档
- 《WCDMA移动通信接入网运行维护》2.2.2逻辑信道2.2空中接口技术2.2.ppt
- 《中北大学IP地址管理系统》使用说明.doc.doc
- 《事业单位图片压缩》使用手册.doc
- 《信息分析》教学大纲.doc
- 《信息系统安全等级保护定级报告》范例.doc
- 《单片机原理与接口技术》课程复习资料一、填空题当RS1=1,RS0=0时.doc
- 《商务沟通》学习指导.doc
- 《商务礼仪》.-劳务派遣.doc
- 《商务礼仪》练习题(一).doc
- 《国际合同使用电子通信公约》介评-中南财经政法大学.doc
- 2025江苏国瑞检测技术有限公司模拟试卷含答案解析.docx
- 2025年医保支付改革对医患关系的影响及对策研究.docx
- 2025年农产品电商市场调研报告:农村电商生态构建的挑战与应对策略分析.docx
- 2025江苏商贸职业学院招聘模拟试卷含答案详解.docx
- 2025年物流园区智能化物流园区智能物流平台案例分析报告.docx
- 2025江苏商贸职业学院招聘考前自测高频考点模拟试题含答案详解.docx
- 2025年物流园区智能化物流园区物流信息化建设案例剖析报告.docx
- 2025江苏南通市通州区机关车辆管理中心驾驶员招聘2人模拟试卷含答案详解.docx
- 2025江苏句容市教育局所属学校招聘紧缺教育人才5人模拟试卷含答案详解.docx
- 2025年物流园区智能化物流园区物流园区物流园区管理案例分析报告.docx
最近下载
- 【内蒙古冷链物流行业发展现状、问题及完善建议11000字】.docx
- 弱溶剂型喷墨打印吸收涂层的制备的研究.pdf
- [青岛]2025年山东青岛市经信委所属市互联网工业创新发展中心招聘拟聘用笔试历年参考题库附带答案详解.pdf
- 形势与政策-教学大纲.doc VIP
- 创业基础(暨南)中国大学MOOC慕课 章节测验期末考试答案(期末考试题目从章节测验中选出,题目没对上,可以在章节测验中查找).docx
- 2025年混凝土缺陷修补方案(修改版).pdf VIP
- 2024麦肯锡中国汽车消费者洞察报告.pdf
- 麦肯锡2024生物医药行业报告 -重新搭建通往创新的桥梁.pdf
- 初中英语作文指导策略的探讨教学研究课题报告.docx
- 高中数学内涵与外延的教学策略分析教学研究课题报告.docx
文档评论(0)