![課件算法第六次_第1頁](http://file4.renrendoc.com/view/0dc00745406df0ce9e9b988e0dd86525/0dc00745406df0ce9e9b988e0dd865251.gif)
![課件算法第六次_第2頁](http://file4.renrendoc.com/view/0dc00745406df0ce9e9b988e0dd86525/0dc00745406df0ce9e9b988e0dd865252.gif)
![課件算法第六次_第3頁](http://file4.renrendoc.com/view/0dc00745406df0ce9e9b988e0dd86525/0dc00745406df0ce9e9b988e0dd865253.gif)
![課件算法第六次_第4頁](http://file4.renrendoc.com/view/0dc00745406df0ce9e9b988e0dd86525/0dc00745406df0ce9e9b988e0dd865254.gif)
![課件算法第六次_第5頁](http://file4.renrendoc.com/view/0dc00745406df0ce9e9b988e0dd86525/0dc00745406df0ce9e9b988e0dd865255.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1第六章動態(tài)規(guī)劃(DynamicProgramming)6.1動態(tài)規(guī)劃方法的基本步驟描述問題的最優(yōu)解(optimalsolution)結(jié)構(gòu)特征遞歸定義最優(yōu)解值自底向上計算最優(yōu)解值從已計算得到的最優(yōu)解值信息中構(gòu)造最優(yōu)解26.2裝配線調(diào)度問題(Assembly-lineScheduling)問題的提出
S1,1S1,2S1,n
line1進(jìn)入退出
line2
S2,1S2,2S2,n其中:Si,j表示第i條裝配線中第j個裝配站,i=1,2,…..,n ai,j表示在第i條裝配線、第j個裝配站裝配某個部件所需的時間 ti,j表示從裝配線i、裝配站j切換到裝配線j所需的時間
ei表示進(jìn)入裝配線i所需的時間
xi表示退出裝配線i所需的時間問題是如何找一條從開始到退出的最快路線?(如圖15-2,P193)a11a12a1na21a22a2nt11t21t12t22t1n-1t2n-1x1x2e1e232.枚舉法求解3.動態(tài)規(guī)劃方法求解step1:描述問題的最優(yōu)解結(jié)構(gòu)特征觀察從開始到某個裝配站S1,j的最優(yōu)路線①ifj=1then從開始到S1,1只有一條路線②ifj=2then從開始到S1,2有兩條路線,一條是S1,1直接到達(dá)S1,2,另一條是從S2,1切換到達(dá)S1,2。同理可知,從開始到S1,j也只有兩條路線,一條是從S1,j-1直接到達(dá),另一條是從S2,j-1切換到達(dá)。那么從開始到達(dá)S1,j的最優(yōu)解結(jié)構(gòu)特征是什么呢?分析如下:假設(shè)從開始到S1,j的一條最優(yōu)路線是從開始到S1,j-1再直接到達(dá)S1,j的,那么子路徑P1從開始到S1,j-1也一定是最優(yōu)的。4proof:(采用cutandpaste方法證明)
∵如果子路徑P1從開始到S1,j-1不是最優(yōu)的,那么一定存在一條從開始到S1,j-1的更優(yōu)子路徑P2,當(dāng)用P2去替換原子路徑P1后,將得到一條比原路徑更優(yōu)的路線,這與假設(shè)從開始到S1,j是一條最優(yōu)路線矛盾。
∴子路徑P1一定也是最優(yōu)的同理可知,若從開始到S1,j的一條最優(yōu)路線是從開始到S2,j-1再切換到達(dá)S1,j的,那么子路徑從開始到S2,j-1也一定是最優(yōu)的。5以上這種最優(yōu)解結(jié)構(gòu)特征有稱為最優(yōu)子結(jié)構(gòu)(optimalsubstructure)性質(zhì),即如果問題的解是最優(yōu)的,則所有子問題的解也是最優(yōu)的。step2:遞歸定義最優(yōu)路線的最快時間令fi[j]為經(jīng)過裝配站Si,j的最快時間則f1[n]表示經(jīng)過裝配站S1,n的最快時間則f2[n]表示經(jīng)過裝配站S2,n的最快時間∴從開始進(jìn)入到退出的最快時間為:
f*=min(f1[n]+x1,f2[n]+x2)要得到f*值,需要計算fi[j]的每個值
f1[j]=min{f1[j-1]+a1,j,f2[j-1]+t2,j-1+a1,j} f2[j]=min{f2[j-1]+a2,j,f1[j-1]+t1,j-1+a2,j}6遞歸初始值為:
f1[1]=e1+a1,1
f2[1]=e2+a2,1step3:自底向上計算最快時間先確定此問題的底,然后再自底向上計算最優(yōu)解值算法Fastest-Way見書P196。容易看出該算法的時間為Θ(n)。step4:構(gòu)造最優(yōu)解結(jié)構(gòu)(輸出最優(yōu)路線)算法Print-Station見書P196。76.3矩陣鏈乘(Matrix-chainMultiplication)問題的提出給定一個矩陣序列<A1,A2,…,An>,其中矩陣Ai的維數(shù)為Pi-1×Pi,要求計算A1×A2×…×An矩陣鏈乘的乘法次數(shù)最少?例:四個矩陣相乘A1×A2×A3×A4的鏈乘順序有:
(A1(A2(A3A4))) 又稱為矩陣完全加括號形式 (A1((A2A3)A4)) fullyparenthesized ((A1A2)(A3A4)) ((A1(A2A3))A4) (((A1A2)A3)A4)共有五種鏈乘順序8例:假設(shè)有三個矩陣A1×A2×A3,其中矩陣的維數(shù)為:10×100,100×5,5×50。對于矩陣鏈乘問題首先檢查枚舉法是否可行?2.動態(tài)規(guī)劃方法求解此問題step1:問題的最優(yōu)子結(jié)構(gòu)假設(shè)子問題Aij的解(AiAi+1…Aj)是一個最優(yōu)解,則在Aij中一定存在一個最佳分裂點k(i≤k<j),使得子鏈Aik和Ak+1j的解(AiAi+1…Ak)和(Ak+1…Aj)也是最優(yōu)的。9proof:cutandpaste方法證明
假設(shè)子鏈Aik=(AiAi+1…Ak)不是最優(yōu)的完全加括號形式,則一定存在一種更優(yōu)的完全加括號形式Aik’=(AiAi+1…Ak),使得Aik’的乘法次數(shù)比Aik更少,即|Aik’|<|Aik|,那么當(dāng)我們用Aik’去替換Aik后將得到一個比原問題Aij更少乘法的完全加括號形式。即:原最優(yōu)解Aij
=((Aik)(Ak+1j)),乘法次數(shù)為|Aij|=|Aik|+|Ak+1j|
+Pi-1×Pk×Pj
新的解Aij’=((Aik’)(Ak+1j)),乘法次數(shù)為|Aij’|=|Aik’|+|Ak+1j|+Pi-1×Pk×Pj∵|Aik’|<|Aik|∴|Aij’|<|Aij|,這與Aij最優(yōu)是矛盾的∴子鏈Aik一定是最優(yōu)的同理可證子鏈Ak+1j也一定是最優(yōu)的10step2:遞歸定義最優(yōu)解值令m[i,j]存放子鏈Aij=(AiAi+1…Aj)的乘法次數(shù)則m[1,n]表示所有n個矩陣鏈乘的乘法次數(shù)∵if
i=jthen只有一個矩陣∴m[i,i]=0,i=1,2….n∵ifi<jthen根據(jù)矩陣鏈乘的最優(yōu)子結(jié)構(gòu)性質(zhì)可知,此時存在一個最佳分裂點k,使得Aij可分裂為二個子鏈
Aik和
Ak+1j∴m[i,j]=m[i,k]+m[k+1,j]+Pi-1×Pk×Pj∵原問題是求最少的乘法次數(shù)11step3:自底向上計算最優(yōu)解值 matrix-chain-order(P) nlength[p]-1 fori1ton dom[i,i]0 forl=2ton //l為鏈長 dofori1ton-l+1 //具有n-l+1個鏈長為l的組合 doji+l-1 m[i,j]∞
forkitoj-1 //找最佳分裂點k doqm[i,k]+m[k+1,j]+Pi-1PkPj ifq<m[i,j] thenm[i,j]q s[i,j]k //記錄最佳分裂點 returnmands12算法時間分析:∵算法matrix-chain-order包含三重循環(huán)又∵每重循環(huán)的次數(shù)≤n∴算法時間為O(n3)。step4:輸出最優(yōu)解結(jié)構(gòu)算法見書P201根據(jù)S數(shù)組記錄的最佳分裂點k值可構(gòu)造出n個矩陣鏈乘的最優(yōu)加括號形式如書P200,圖15-3所示。136.4動態(tài)規(guī)劃的要素最優(yōu)子結(jié)構(gòu)性質(zhì)最優(yōu)子結(jié)構(gòu)性質(zhì)是應(yīng)用動態(tài)規(guī)劃方法的必要前提,即所解問題必須具有最優(yōu)子結(jié)構(gòu)性質(zhì)才能用動態(tài)規(guī)劃方法求解。所謂最優(yōu)子結(jié)構(gòu)性質(zhì)是指一個問題的最優(yōu)解中所包含的所有子問題的解都是最優(yōu)的。對于一個問題發(fā)現(xiàn)其最優(yōu)子結(jié)構(gòu)性質(zhì)的幾個因素:①檢查問題的解所面臨的選擇②假定某種選擇為一最優(yōu)解③分析這種選擇將產(chǎn)生多少子問題④證明子問題的解也是最優(yōu)的14最優(yōu)子結(jié)構(gòu)的細(xì)節(jié)問題:特別需要指出的是當(dāng)問題本身不具有最優(yōu)子結(jié)構(gòu)性質(zhì)時不能濫用最優(yōu)子結(jié)構(gòu)性質(zhì)。例如:對于一個有向圖G=(V,E).如果問題是找圖G中頂點u,v∈V的最短路徑152.重疊子問題雖然問題分解后是否存在重疊子問題不是應(yīng)用動態(tài)規(guī)劃方法的必要前提,但存在重疊子問題應(yīng)用動態(tài)規(guī)劃方法可以提高算法效率。Recursive-matrix-chain(P,i,j)
ifi=jthenreturn0 m[i,j]∞
forkitoj doqRecursive-matrix-chain(P,i,k) +Recursive-matrix-chain(P,k+1,j)+Pi-1PkPj ifq<m[i,j] thenm[i,j]q returnm[i,j]1617183.記憶法(Memorization)記憶法是動態(tài)規(guī)劃方法的一種變
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 光纖熔接合同范本
- 醫(yī)用口腔耗材采購合同范本
- 二手農(nóng)村土地買賣合同范本
- 某公安局業(yè)務(wù)技術(shù)用房建設(shè)工程項目可行性研究報告(可編輯)
- 買房補充合同范本
- 代理產(chǎn)品區(qū)域合同范本
- 供銷煤炭合同范本
- 2025年度保障性住房回遷房銷售合同
- 中外合作公司合同范本
- 烏魯木齊代理記賬合同范例
- 浮力及浮力的應(yīng)用
- 公司培訓(xùn)員工職務(wù)犯罪預(yù)防講座之職務(wù)侵占
- 化學(xué)選修4《化學(xué)反應(yīng)原理》(人教版)全部完整PP課件
- 《煤礦安全規(guī)程》專家解讀(詳細(xì)版)
- 建筑公司工程財務(wù)報銷制度(精選7篇)
- 工程設(shè)計方案定案表
- 最新2022年減肥食品市場現(xiàn)狀與發(fā)展趨勢預(yù)測
- 第一章-天氣圖基本分析方法課件
- 暖氣管道安裝施工計劃
- 體育實習(xí)周記20篇
- 初二物理彈力知識要點及練習(xí)
評論
0/150
提交評論