動態規劃是對解最優化問題的一種途徑/方法,並不是一種特殊的演算法
讓我來形容的話,思想這個詞可能更加適合一些
多階段決策過程的最優化問題簡單來說就是分階段解決問題,每個階段都選擇最優決策,從而使整個過程達到最優
這裡說到的基本的概念有:
階段,狀態,決策,策略,狀態轉移方程
我這裡用乙個**來解釋上面各位的關係
狀態0決策1→
狀態1決策2→
......
狀態n-1
決策n→
狀態n《階段1
階段1>
《階段2
......
階段n-1>
《階段n
階段n>
也就是說,這裡的每乙個狀態經過乙個對應的決策會產生下乙個狀態
階段就是我們人為劃分的為了解題方便的相互聯絡的部分,將劃分好的階段按照一定的次序去解決即為解的每一步
而這整個過程就是策略
可以看出,當前階段的終點是下乙個階段的起點
那麼我們在決策的過程當中需要將當前狀態轉化為下乙個狀態
這個演變的規律就是狀態轉移方程
能用動態規劃來求解的題目要求有以下的要求:
符合最優化原理和無後效性原則
前者簡單來說就是要每步選取最優導致全域性最優
後者簡單說就是階段n的狀態一旦決定,階段n+1,階段n+2等階段的狀態不再受階段n-1的狀態的影響
因為目前做題少,可能本項不夠準確
當前我的解題思路一般是:
劃分階段
尋找起始階段和推導方向(逆推或順推)
找出在2確定的方向下的狀態轉移方程
這裡的2和3我主要通過分析樣例來推導
本篇是知識點的內容,我覺得動態規劃還是得和題一起理解更好
和題理解的內容在這:總之就是動態規劃
791詞
1045字元
初見動態記憶體
c語言程式中,是放在記憶體中去執行的,我們可以劃分為四大區域。1.棧區 存放函式的引數值,區域性變數等。當函式執行完畢時他們占有的空間自動釋放。2.堆區 由程式設計師分配釋放動態 記憶體的申請 3.資料區 分為兩種一是常量區,存放常量。一種是是全域性區,存放全域性變數和靜態變數。4.程式 區 存放函...
動態規劃 什麼是動態規劃?
先來看看 資訊學奧賽一本通第5版 是怎麼說的 動態規劃程式設計是對解最優化問題的一種途徑 一種方法,而不是一種特殊演算法。不像前面所述的那些搜尋或數值計算那樣,具有乙個標準的數學表示式和明確清晰的解題方法。動態規劃程式設計往往是針對一種最優化問題,由於各種問題的性質不同,確定最優解的條件也互不相同,...
mysql動態規劃 動態規劃
動態規劃 能夠動態規劃的問題具有以下特點 可分解成規模更小的子問題 子問題的結果可復用 關鍵是要理解狀態轉移方程的含義就好啦!數字三角形 問題描述 在數字三角形尋找從頂到底的路徑,使得路徑經過的數字之和最大。規定每一步只能往左下或右下走,求出最大路徑和。遞迴解法 include include us...