强化学习经典算法笔记(二):策略迭代算法Policy Iteration

强化学习经典算法笔记——策略迭代算法

  上一篇讲了价值迭代算法,这一篇介绍另一个动态规划算法——策略迭代算法(Policy Iteration)。

简单介绍

  Value Iteration的思路是:先迭代找出一个最优的Value Function,然后再根据Value Function迭代出一个最优策略。

  Policy Iteration的思路是反着的,首先给定一个初始化的策略函数,一般是随机策略。给予这个策略,可以得到每个状态下采取的动作,进而得到reward和下一状态,利用更新法则,更新value function。

  然后,根据更新后的value function更新之前的随机策略。如此,就完成了value-policy的交替更新,直至收敛。

  

编程实现

  还是以FrozenLake游戏为例,实现Policy Iteration算法。

import gym
import numpy as np

env = gym.make('FrozenLake-v0')

def compute_value_function(policy, gamma=1.0, threshold = 1e-20):
    '''
    计算value function
    '''
    # len=16
    value_table = np.zeros(env.nS)
    
    while True:
        updated_value_table = np.copy(value_table)
        for state in range(env.n
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值