首先回憶上一次的內容:
Bellman Expectation Equation:
【計算時常用】
【計算時常用】
【計算時常用】
Bellman Optimality Equation:
為什麼DP能夠解決MDP問題:
Policy Evaluation:
1)要解決的問題:
也就是說,要評價一個policy π的在每個狀態的最優值Vπ。通常也成為prediction任務。這種任務因為policy π給出了,典型的DP可解決任務。
2)解決方案:
iterative application of Bellman expectation equation即可得到最終的Vπ。
3)一個例子(能計算對錶格中的數字,表示明白了基本原理):
比如上面的-1.7的計算如下:0.25*[(-1)+(-1)]*3+0.25*[(-1)+0]=-1.75。
比如下面的-2.4的計算如下:0.25*[(-1)+(-2)]*2+0.25*[(-1)+0]+0.25*[(-1)+(-1.7)]=-2.425。
Policy Iteration
1)要解決的問題:
也就是說,沒有給出特定的policy π,只給出MDP,希望找到針對該MDP的最優policy π*;同時給出π*在每個狀態的最優值Vπ*。
從上面的描述可以看出,Policy Evaluation是policy iteration的一個子問題。
2)解決方案:
先任意給出一個最簡單的policy(比如上面的random policy),然後對該policy進行evaluation(這個步驟需要迴圈很多輪),再進行policy improvement(比如上面的第二列,greedy policy)。
然後迭代上面的過程,即iterate policy evaluation / policy improvement。
(policy evaluation需要很多輪才能穩定,如果僅僅進行policy evaluation,則一定要等Vπ穩定;但在這裡,可能只需要進行幾步,比如上面的第二列,evaluation迴圈到K=3之後做policy improvement,就可以得到最優policy π*。但在實際中往往不知道evaluation應該迴圈幾輪,這樣可以先迴圈5輪或者10輪的evaluation,然後再進行policy improvement,之後對改進後的policy再進行5輪或者10輪的evaluation,然後再進行policy improvement。)
3)例子:
上面的第二列。
Value Iteration
1)要解決的問題:
和policy iteration一樣,只給出MDP,希望找到針對該MDP的最優policy π*;同時給出π*在每個狀態的最優值Vπ*。
2)解決方案:
可以按照policy iteration的方法,但在policy evaluation階段僅僅迴圈一輪,之後馬上進行policy improvement【這個方案就是value iteration】。
利用optimal policy具有的偏序關係:
這樣,只要我們知道the solution to sub-problems v∗(s') ,v∗(s) 的解就可以通過進行one-step look-ahead來獲得:
The idea of value iteration is to apply these updates iteratively:
3)好處:
更直觀:Intuition: start with final rewards and work backwards
Still works with loopy, stochastic MDPs
Unlike policy iteration, there is no explicit policy (Intermediate value functions may not correspond to any policy )
4)壞處:由於 start with final rewards and work backwards,並且每次只能look-ahead one step,所以直觀上,迴圈輪數會非常大才能收斂到最優策略。
4)例子:
最後給出synchronous Dynamic Programming Algorithms 的總結:
Extensions to Dynamic Programming
1)Asynchronous Dynamic Programming
In-place dynamic programming
Prioritised sweeping
Real-time dynamic programming
2)sample backups
DP uses full-width backups, DP is effective for medium-sized problems(millions of states)
Every successor state and action is considered
Using knowledge of the MDP transitions and reward function
Using sample rewards and sample transitions <S, A, R, S'>:
Advantages:
Model-free: no advance knowledge of MDP required
Breaks the curse of dimensionality through sampling
Cost of backup is constant, independent of n= |S|
3)Approximate Dynamic Programming
注意,上面所有方法的收斂性都已經有了證明,這裡不給出。
How do we know that value iteration converges to v∗?
Or that iterative policy evaluation converges to vπ?
And therefore that policy iteration converges to v∗?
Is the solution unique?
How fast do these algorithms converge?
These questions are resolved by contraction mapping theorem