Policy Iteration & Value Iteration

 值迭代的缺点:当多个策略有同样的v(s)的时候,可能无法收敛,循环不会停止。

In Policy Iteration algorithms, you start with a random policy, then find the value function of that policy (policy evaluation step), then find an new (improved) policy based on the previous value function, and so on. In this process, each policy is guaranteed to be a strict improvement over the previous one (unless it is already optimal). Given a policy, its value function can be obtained using the Bellman operator.
1.initialization 
初始化所有状态的v(s)以及π(s)(初始化为随机策略) 
2.poicy evaluation 
用当前的v(s)对当前策略进行评估,计算出每一个状态的v(s),直到v(s)收敛,才算训练好了这个状态价值函数V(s) 
3.policy improvement 
既然上一步已经得到了当前策略的评估函数V(s),那么就可以利用这个评估函数进行策略改进啦。 
在每个状态s时,对每个可能的动作a,都计算一下采取这个动作后到达的下一个状态的期望价值。看看哪个动作可以到达的状态的期望价值函数最大,就选取这个动作。以此更新了π(s) 
然后再次循环上述2、3步骤,直到V(s)与π(s)都收敛。
 

In Value Iteration, you start with a randon value function and then find a new (improved) value function in a iterative process, until reaching the optimal value function. Notice that you can derive easily the optimal policy from the optimal value function. This process is based on the Optimality Bellman operator.
1.initialization 
初始化所有状态的v(s) 
2.finding optimal value function(找到最优的价值函数) 
注意伪代码里的max,对每一个当前状态s,对每个可能的动作a,都计算一下采取这个动作后到达的下一个状态的期望价值。看看哪个动作可以到达的状态的期望价值函数最大,就将这个最大的期望价值函数作为当前状态的价值函数v(s) 循环执行这个步骤,直到价值函数收敛,就可以得到最优optimal的价值函数了 
3.policy extraction 
利用上面步骤得到的optimal价值函数和状态转移概率,就计算出每个状态应该采取的optimal动作,这个是deterministic
 

转载地址:https://blog.csdn.net/panglinzhuo/article/details/77752574

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值