演算法學習 動態規劃

2021-06-19 16:14:58 字數 3073 閱讀 3324

動態規劃是解決多階段決策過程最優化的一種方法。

對於離散問題,解析數學無法施展,動態規劃則成為非常有效的工具。

兩個弱點:

1.       得出目標函式方程後,尚無統一的處理方法,必須根據具體問題的性質結合相應的數學技巧來求解;

2.       維數障礙。

動態規劃模型的分類:

根據決策過程的時間參量是離散的還是連續的變數

1.       離散(多段)決策過程

2.       連續決策過程

根據決策過程的演變是確定性的還是隨機性的

1.       確定性決策過程

2.       隨機性決策過程

1.       由於它的特殊性,可將過程劃分為若干互相聯絡的階段

2.       在它的每乙個階段都需要作出決策,並且乙個階段的決策確定以後,常影響下乙個階段的決策,從而影響整個過程的活動路線;

3.       各個階段所確定的決策就構成乙個決策序列,通常稱為乙個策略

4.       每乙個階段可供選擇的決策往往不止乙個,對應於乙個策略就有確定的活動效果

5.       多階段決策問題,就是要在允許選擇的那些策略中間,選擇乙個最優策略,使在預定的標準下達到最好的效果

階段(stage)

把所給問題的過程,恰當地劃分成若干個相互聯絡的階段,以便於求解。通常用k表示階段變數。

狀態(state)

狀態表示某段的出發位置。它既是該段某支路的始點,同時也是前一段某支路的終點。通常乙個階段包含若干個狀態。

描述過程狀態的變數,稱為狀態變數。常用xk

表示在第k段的某一狀態。第k段狀態集合可表示為

xk=

故第三階段的狀態集合就可記為

x3 = =

或  x

3 = 

決策(decision)

決策就是某階段狀態給定以後,從該狀態演變到下一階段某狀態的選擇。

描述決策的變數,稱為決策變數。

常用uk

(xk)表示第k段當狀態處於xk

時的決策變數。決策變數的取值往往限制在某一範圍之內,此範圍稱為允許決策集合。通常以dk

(xk)表示第k段的允許決策集合。

uk(xk

) ∈dk

(xk)

策略(policy)

由過程的第1階段開始到終點為止的過程,稱為問題的全過程。

由每段的決策ui

(xi)(i=1,2……,n)組成的決策函式序列就稱為全過程策略,簡稱策略,記為p1,n。

即  p1,n

(xk)=

由第k段開始到終點過程稱為原過程的後部子過程(或稱為k子過程)。

其決策函式序列稱為k字過程策略,簡稱子策略。即

pk,n

(xk)=

在實際問題中,可供選擇的策略有一定的範圍,此範圍稱為允許策略集合,用p表示。從允許策略中找出達到最優效果的策略稱為最優策略

指標函式和最優指標函式

在多階段決策過程最優化問題中,指標函式是用來衡量所實現過程的優劣的一種數量指標,它是乙個定義在全過程和所有後部子過程上的確定數量函式,常用vk,n

表示。•   指標函式vk,n

的最優值,稱為相應的最優指標函式。記為fk

(xk).

•   在例1中,fk

(xk)表示從第k段xk

點到終點g的最短距離。如f

4(d1)就表示從第4段中的d

1點到g 點的最短距離。

4.動態規劃最優化原理

作為整個過程的最優策略具有這樣的性質:即無論過去的狀態和決策如何,對前面的決策所形成的狀態而言,餘下的諸決策必須構成最優策略。

可逆過程

可以把段次顛倒過來球最優解的多階段決策過程稱為可逆過程。

順序解法和逆序解法只表示行進方向的不同或始端的顛倒。但用動態規劃方法求最優解時,都是在行進方向規定後,均要逆著這個規定的行進方向,從最後一段向前逆推計算,逐段找出最優途徑

建立動態規劃模型時,除了要將實際問題恰當地劃分若干個階段(一般是根據時間和空間而劃分的)外,主要明確以下四個方面:

1.     正確選擇狀態變數xk, 使它既能描述過程的狀態,又要滿足無後效性。

動態規劃中的狀態與一般所說的狀態概念是不同的,它必須具有三個特性:

1)      要能夠用來描述受控過程的演變特徵。

2)      要滿足無後效性。 所謂無後效性是指:如果某段狀態給定,則在這段以後過程的發展不受前面各階段狀態的影響。

3)      可知性。即是規定的各段狀態變數的值,由直接或間接都是可以知道的。

2 確定決策變數uk

及每段的允許決策集合dk

(xk)=。

3 寫出狀態轉移方程

1)      如果給定第k段狀態變數xk

的值,則該段的決策變數uk

一經確定,第k+1段狀態變數xk

+1的值也就完全確定。

2)      xk

+1的值隨xk

和uk的值的變化而變化的這種對應關係,用

1.       xk+1 

= tk

(xk,uk

) 表示。

3)      它表示由k段到k+1段的整體轉移規律,稱為狀態轉移方程。

4   根據題意,列出指標函式vk,n

關係,並要滿足遞推性。

正確列出指標函式關係,必須使它具有三個性質:

1)      它是定義在全過程和所有後部子過程上的數量函式;

2)      要滿足遞推關係。

演算法學習 動態規劃實踐

完成日期 2017.10.26 1.實踐題目 數字三角形 2.問題描述 給定乙個由 n行數字組成的數字三角形如下圖所示。試設計乙個演算法,計算出從三角形 的頂至底的一條路徑 每一步可沿左斜線向下或右斜線向下 使該路徑經過的數字總和最大。3.演算法描述 1 首先該問題有最優子結構和重疊子問題的性質,因...

演算法學習08 動態規劃

遞迴問題 暴力遞迴轉換成動態規劃 動態規劃本身就是暴力遞迴的優化,是一種用空間換時間的策略 動態規劃 我們不知道怎麼計算n 但我們知道 n 與 n 1 之間存在一定關係n n n 1 得到遞推的狀態轉移公式.當暴力遞迴到頭得到0 1,得到base case,這樣得到了遞迴的方法.public sta...

演算法學習(十)動態規劃!!!

1.先上一波官方解讀提提神 動態規劃 英語 dynamic programming,簡稱dp 是一種在數學 管理科學 電腦科學 經濟學和生物資訊學中使用的,通過把原問題分解為相對簡單的子問題的方式求解複雜問題的方法。動態規劃常常適用於有重疊子問題和最優子結構性質的問題。官方術語太多?不能理解?wha...