Gym 的 Frozen Lake 环境介绍

2020-03-20 11:25:07 浏览数 (1)

Frozen Lake 是指在一块冰面上有四种state:

S: initial stat 起点

F: frozen lake 冰湖

H: hole 窟窿

G: the goal 目的地

agent 要学会从起点走到目的地,并且不要掉进窟窿。

上一篇文章有介绍gym里面env的基本用法,下面几行可以打印出一个当前环境的可视化:

代码语言:javascript复制
import gym # loading the Gym library
env = gym.make("FrozenLake-v0")
env.reset()                    
env.render()

如果想看这个游戏里面有多少state和action可以用下面两行,就上面图例而言,state 有0-15共16个,action有4个:

代码语言:javascript复制
print("Action space: ", env.action_space)
print("Observation space: ", env.observation_space)

在不采用任何算法时,env 可以通过 sample() 方法在每个state上随机选择 action。

将选择的 action 输入给 env.step,同样可以得到 new_state, reward, done, info 这四个返回值。

每次使用 env.render() 都能将当前新的环境布局展示出来。

代码语言:javascript复制
MAX_ITERATIONS = 10
for i in range(MAX_ITERATIONS):
    random_action = env.action_space.sample()
    new_state, reward, done, info = env.step(
       random_action)
    env.render()
    if done:
        break

学习资料:

https://www.google.com/amp/s/reinforcementlearning4.fun/2019/06/16/gym-tutorial-frozen-lake/amp/

0 人点赞