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/