最優子結構
當問題的最優解包含了其子問題的最優解時,稱該問題具有最優子結構性質。問題的最優子結構性質提供了該問題可用動態規劃演算法求解的重要線索。
在動態規劃演算法中,利用問題的最優子結構性質,以自底向上的方式遞迴地從子問題的最優解逐步構造出整個問題的最優解。
重疊子問題
可用動態規劃演算法求解的問題應具備的另乙個基本要素是子問題的重疊性質。在用遞迴演算法自頂向下求解問題時,每次產生的子問題並不總是新問題,有些子問題被反覆計算多次。動態規劃演算法正是利用了這種子問題的重疊性質,對每乙個子問題只解一次,而後將其解儲存在乙個**中,當再次需要此子問題時,只要簡單地用常數時間檢視一下結果。通常,不同的子問題個數隨問題的大小呈多項式增長。因此,用動態規劃演算法通常只需要多項式時間,從而獲得較高的解題效率。
備忘錄方法
就可以在遞迴處理問題的基礎上,將需要後來多次計算的問題進行快取,減少了重複子問題的計算。但是書中所記的備忘錄方法沒有真正的將自上而下的精髓體現出來,若是將自上而下的思想結合最優子結構的思想,則可以對問題進行修剪枝條,在巨集觀出即可去掉一大部分的不需計算的方面,比如乙個問題的劃分可以有兩種,選擇了最優的一種,就可以將另一種非最優情況下的所有計算均省去,然後再對第一次的劃分再次進行劃分,其結構是樹由根向葉,不斷的擇取最優的樹幹,最終至葉子,非最優樹幹直接不計算。
動態規劃基本要素
動態規劃性質 1 最優子結構性質 2 子問題重疊性質 該問題可用動態規劃演算法求解的基本要素 1 最優子結構 當問題的最優解包含了其子問題的最優解時,稱該問題具有最優子結構性質。最優子結構性質提供了該問題的可用動態規劃演算法求解的重要線索。動態規劃,利用問題的最優子結構性質,以自底向上的方式遞迴的從...
動態規劃基本要素
動態規劃性質 1 最優子結構性質 2 子問題重疊性質 該問題可用動態規劃演算法求解的基本要素 1 最優子結構 當問題的最優解包含了其子問題的最優解時,稱該問題具有最優子結構性質。最優子結構性質提供了該問題的可用動態規劃演算法求解的重要線索。動態規劃,利用問題的最優子結構性質,以自底向上的方式遞迴的從...
動態規劃演算法
一 動態規劃演算法原理 將待求解的問題分解成若干個相互聯絡的子問題,先求解子問題,然後從這些子問題的解得到原問題的解 對於重複出現的子問題,只在第一次遇到的時候對它進行求解,並把答案儲存起來。了不去求解相同的子問題,引入乙個陣列,把所有子問題的解存於該陣列中,這就是動態規劃所採用的基本方法。動態規劃...