動態規劃
價值迭代(value iteration)
策略迭代在改進每個策略之前會把它完整評估一遍,這有時很浪費。價值迭代走了捷徑:它不把評估跑到收斂,而是對每個狀態只做一次回溯,並把改進那一步直接揉了進去。在整個迴圈裡,你根本不儲存任何策略——只是不斷把價值往最佳水準推。
每一輪掃描都套用貝爾曼最適回溯:一個狀態的新價值,是在所有動作中取「期望獎勵加上下一狀態折扣價值」的最大值。這個取最大值,就是把策略評估與改進合而為一。迭代值會收斂到最佳價值函數,之後再做一次貪婪掃描就能取出最佳策略。它比策略迭代更好寫,常是不錯的預設選擇。
v_{k+1}(s)=\max_a\sum_{s',r}p(s',r\mid s,a)\big[r+\gamma v_k(s')\big]
貝爾曼最適回溯——注意是對動作取最大值。
另见