cs229第19課微分動態規劃

吳恩達cs229第19課,微分動態規劃這一部分,看了兩遍纔看明白。

趕緊記下來:

微分動態規劃是基於LQR(線性二次型)的,

後者能夠比較簡潔地計算最優策略,但要基於一個前提,就是 t+1 時刻的狀態,是 t 時刻的狀態和 t 時刻採取行爲的線性函數。

然而,有很多控制系統,它的t+1的狀態 是 t 時刻狀態和行爲的“非”線性函數(下文稱爲“狀態轉換函數”)。

沒關係,我們可以做線性近似,其實就是在真實的狀態轉換函數找個固定點,近似認爲狀態轉換函數是這個經過這個點與真實函數相切的線性函數,這樣就又可以用LQR了。

這樣近似的話,下一個問題就是找哪個固定點(切點)呢?

對於一些控制問題,如果控制過程正常,大部分狀態和行爲都在某個小的局部範圍之內,那麼我們可以選擇這個局部中心作爲上述固定點。

但另一些控制問題,整個控制過程會沿着轉換函數有較大的變化,這時候要還想用線性二次型這種簡潔地算法做基本算法,那麼就可以用微分動態規劃的思路。簡單說,就是在真實的狀態轉換函數的多個點(切點)上做線性近似,每一步(每個時間點)使用一個專用的切點。

那麼,每一步用哪個切點呢? 我們就要看看每一步“大概”會處在什麼狀態和選擇什麼行爲,但我們還沒有算出最優策略,怎麼知道每一步在哪裏? 好,我們用個“將就”能用的非優策略作爲起點,用這個非優策略先虛擬地控制一遍,產生一個“名義軌跡”(原文 nominal trajactory),在這個軌跡上的每一步,就是“大概”每一步的狀態和所選擇的行爲了,這些“大概”的狀態和行爲,就可以作爲線性近似函數的切點。然後,以這一組狀態轉換近似函數(每一步一個近似函數,LQR算法是支持“隨時間而變的狀態轉換函數”的)就是下一輪迭代的基礎。每次迭代下來,名義軌跡會越來越接近我們的控制過程要達到的目標軌跡。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章