回溯法解決01背包問題_第1頁
回溯法解決01背包問題_第2頁
回溯法解決01背包問題_第3頁
回溯法解決01背包問題_第4頁
回溯法解決01背包問題_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、回溯法是一個(gè)既帶有系統(tǒng)性又帶有跳躍性的搜索算法。 它在包含問題的所有解的解空間樹中按照深度優(yōu)先的策略,從根節(jié)點(diǎn)出發(fā)搜索解空間樹。算法搜索至解空間樹的任一節(jié)點(diǎn)時(shí), 總是先判斷該節(jié)點(diǎn)是否肯定不包含問題的解。如果肯定不包含,貝U跳過對以該節(jié)點(diǎn)為根的子樹的系統(tǒng)搜索,逐層向其原先節(jié)點(diǎn)回溯。否則,進(jìn)入該子樹,繼續(xù)按深度優(yōu)先的策略進(jìn)行搜索。運(yùn)用回溯法解題通常包含以下三個(gè)步驟:*針對所給問題,定義問題的解空間;確定易于搜索的解空間結(jié)構(gòu);以深度優(yōu)先的方式搜索解空間,并且在搜索過程中用剪枝函數(shù)避免無效搜索;在0/1背包問題中,容量為M的背包裝載。從n個(gè)物品中選取裝入背包的物品,物品i的重量為Wi,價(jià)值為Pi。最佳

2、裝載指裝入的物品價(jià)值最高,即XPiXi(i=1.n)取最大值。約束條件為刀WiXi M 且 Xi 0,1(1 i n)。在這個(gè)表達(dá)式中,需求出Xi的值。Xi=1表示物品i裝入背包,Xi = 0表示物品i不裝入背包。即判斷可行解的約束條件是:刀 WiXi 0,Xi 0,1(1 i 0,Xi=0 或 1 (0in )0/1背包問題是一個(gè)自己選取問題,適合于用子集樹表示 0 /1背包問題的解空間。在搜索解空 間樹時(shí),只要左兒子節(jié)點(diǎn)是一個(gè)可行節(jié)點(diǎn),搜索就進(jìn)入左子樹,在右子樹中有可能包含最優(yōu)解才 進(jìn)入右子樹搜索,否則將右子樹剪去。程序分析:將物品個(gè)數(shù),每個(gè)物品體積/價(jià)值輸入,計(jì)算總物品體積 S,輸入背包

3、體積V,如果VS則前置條件錯(cuò)誤,即背包體積輸入錯(cuò)誤,否則順序?qū)⑽锲贩湃氡嘲?。假設(shè)放入前i件物品,背包沒有裝滿,繼續(xù)選取第i+1件物品,若該物品“太大”不能裝入,則棄之繼而選取下一件直到背包裝滿為止;如果剩余物品中找不到合適物品以填滿背包,則說明“剛剛”裝入的第 物品不合適,應(yīng)將i拿出,繼續(xù)從i +1及以后的物品中選取,如此重復(fù),直到找到滿足條件的 解。回溯求解,物品放入的規(guī)則是“后進(jìn)先出”,所以要用棧存儲符合條件的解剪枝(限界)函數(shù)設(shè)當(dāng)前剩余物品價(jià)值總和為r,當(dāng)前結(jié)點(diǎn)x價(jià)值為cp,當(dāng)前x結(jié)點(diǎn)上界函數(shù)值為bp。L為當(dāng)前 已搜索到的答案結(jié)點(diǎn)中受益的最大值,當(dāng)cp+r=bpL 時(shí)可剪去以X為根的子樹。計(jì)算右子樹中解上界方法是將剩余物品按單位重量價(jià)值排序,一次放入物品直至裝不下為止,再裝入部分未裝入物品直至裝滿背包,由此得到的價(jià)值是右子樹解上界。遞歸方式:遞歸第i+1個(gè) 物品開始打印輸出順序方式:無剪枝函數(shù):有剪枝函數(shù):

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論