区别:
1.Policy Iteration通常是policy evaluation+policy improvement交替执行直到收敛
2.Value iteration通常是寻找Optimal value function+一次policy extraction,它们不用交替执行,因为值函数最优,策略通常也是最优
3.寻找optimal value function也可以被看作是policy improvement(due to max)和截断版的policy evaluation的组合(仅在一次扫描所有状态后重新分配V(s)而不考虑其收敛性的组合)
其实策略迭代就是先估计,在改进策略,直到收敛,如果不收敛就继续估计继续改进。。。实现后其实可以得知策略迭代是先求解出最优解,然后再去和环境进行交互求得最大收益,之所以在和环境交互前能求最优策略是提前知道了环境的转移概率P和回报函数R,然后再利用动态规划和贝尔曼最优方程,但真实世界中哪里能做到先知先觉呢?恐怕转移概率和回报函数一个都得不到。
策略迭代和值迭代都属于动态规划算法,DP算法的一个主要缺点是涉及对MDP的整个状态集的操作,也就是说它们需要对整个状态集进行遍历。如果状态集很大,那么即使是单次遍历也会十分昂贵。
DP算法有一个特殊的性质,所有的方法都根据对后继状态价值的估计,来更新对当前状态价值的估计。也就是说,他们基于其他估计来更新自己的估计。我们把这种思想称为自举法。