貪心算法、分治算法、動態(tài)規(guī)劃算法間的比較_第1頁
貪心算法、分治算法、動態(tài)規(guī)劃算法間的比較_第2頁
貪心算法、分治算法、動態(tài)規(guī)劃算法間的比較_第3頁
貪心算法、分治算法、動態(tài)規(guī)劃算法間的比較_第4頁
貪心算法、分治算法、動態(tài)規(guī)劃算法間的比較_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

題目:貪心算法、分治算法、動態(tài)規(guī)劃算法間的比較貪心算法:貪心算法采用的是逐步構造最優(yōu)解的方法。在每個階段,都在一定的標準下做出一個看上去最優(yōu)的決策。決策一旦做出,就不可能再更改。做出這個局部最優(yōu)決策所依照的標準稱為貪心準則。分治算法:分治法的思想是將一個難以直接解決大的問題分解成容易求解的子問題,以便各個擊破、分而治之。動態(tài)規(guī)劃:將待求解的問題分解為若干個子問題,按順序求解子階段,前一子問題的解,為后一子問題的求解提供了有用的信息。在求解任一子問題時,列出各種可能的局部解,通過決策保留那些有可能達到最優(yōu)的局部解,丟棄其他局部解。依次解決各子問題,最后一個子問題就是初始問題的解。二、算法間的關聯(lián)與不同1、分治算法與動態(tài)規(guī)劃分治法所能解決的問題一般具有以下幾個特征:該問題的規(guī)??s小到一定程度就可以容易地解決。該問題可以分為若干個較小規(guī)模的相似的問題,即該問題具有最優(yōu)子結構性質。利用該問題分解出的子問題的解可以合并為該問題的解。該問題所分解出的各個子問題是相互獨立的且子問題即之間不包含公共的子問題。上述的第一條特征是絕大多數問題都可以滿足的,因為問題的計算復雜性一般是隨著問題規(guī)模的增加而增加;第二條特征是分治法應用的前提,它也是大多數問題可以滿足的,此特征反映了遞歸思想的應用;第三條特征是關鍵,能否利用分治法完全取決于問題是否具有第三條特征,如果具備了第一條和第二條特征,而不具備第三條特征,則可以考慮貪心算法或動態(tài)規(guī)劃算法;第四條特征涉及到分治法的效率,如果各個子問題不是獨立的,則分治法要做許多不必要的工作,重復地解公共的子問題。這類問題雖然可以用分治法解決,但用動態(tài)規(guī)劃算法解決效率更高。當問題滿足第一、二、三條,而不滿足第四條時,一般可以用動態(tài)規(guī)劃法解決,可以說,動態(tài)規(guī)劃法的實質是:分治算法思想+解決子問題冗余情況2、貪心算法與動態(tài)規(guī)劃算法多階段逐步解決問題的策略就是按一定順序或一定的策略逐步解決問題的方法。分解的算法策略也是多階段逐步解決問題策略的一種表現形式,主要是通過對問題逐步分解,然后又逐步合并解決問題的。貪心算法每一步都根據策略得到一個結果,并傳遞到下一步,自頂向下,一步一步地做出貪心決策。動態(tài)規(guī)劃算法的每一步決策給出的不是唯一結果,而是一組中間結果,而且這些結果在以后各步可能得到多次引用,只是每走一步使問題的規(guī)模逐步縮小,最終得到問題的一個結果。舉例:如圖1有一三角形數塔,求一自塔頂到塔底的路徑,要求該路徑上結點的值的和最大。圖1圖2貪心算法解題過程:自頂向下從第一層9開始,到第二層,選數值較大的15,第三層,在可選路徑中選數值較大的8,同理,第四層選9,第五層選10,這樣就確定了一條路徑:9一15—8—9一10。動態(tài)規(guī)劃算法接題過程:如圖2,階段1:自第五層開始,對經過第四層的2的路徑,在第五層的19、7中選擇數值較大的19,同理,對經過第四層18的路徑,選10,對經過第四層9的路徑,選10,對經過5的路徑選16。以上是一次決策過程,也是一次遞推過程和降階過程。因為以上的決策結果將5階數塔問題變?yōu)?階子問題,遞推出第四層與第五層和為:21(2+19),28(18+10),19(9+10),21(5+16)用同樣的方法還可以將4階數塔問題變?yōu)?階數塔問題,……,最后得到1階數塔問題,這樣也確定了一條路徑:9-12-10-18-10,就是真?zhèn)€問題的最優(yōu)解。顯然,以上數塔問題用貪心算法得不到最優(yōu)解,這里只是用作與動態(tài)規(guī)劃算法的比較。三、適用條件貪心算法:①貪心選擇性質:在求解一個問題的過程中,如果再每一個階段的選擇都是當前狀態(tài)下的最優(yōu)選擇,即局部最優(yōu)選擇,并且最終能夠求得問題的整體最優(yōu)解,那么說明這個問題可以通過貪心選擇來求解,這時就說明此問題具有貪心選擇性質。②最優(yōu)子結構性質:當一個問題的最優(yōu)解包含了這個問題的子問題的最優(yōu)解時,就說明該問題具有最優(yōu)子結構。分治算法:見二、算法間的關聯(lián)與不同中的①②③④。動態(tài)規(guī)劃:(1)最優(yōu)化原理:如果問題的最優(yōu)解所包含的子問題的解也是最優(yōu)的,就稱該問題具有最優(yōu)子結構,即滿足最優(yōu)化原理。(2)無后效性:即某階段狀態(tài)一旦確定,就不受這個狀態(tài)以后決策的影響。也就是說,某狀態(tài)以后的過程不會影響以前的狀態(tài),只與當前狀態(tài)有關。(3)有重迭子問題:即子問題之間是不獨立的,一個子問題在下一階段決策中可能被多次使用到。四、優(yōu)勢:采用動態(tài)規(guī)劃方法,可以高效地解決許多用貪婪算法或分而治之算法無法解決的問題。但貪心算法也有它的優(yōu)勢:構造貪心策略不是很困難,而且貪心策略一旦經過證明成立后,它就是一種高效的算法。參考文獻:《算法設計

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論