文章目录(Table of Contents)
简介
这一篇介绍一个新的强化学习使用到的环境, Cliff Walking. 我们会在Policy Gradient的实验中使用到这个环境. 这一篇简单介绍一下环境的属性, 包含的动作, reward的相关说明. 同时给出简单的示例代码.
关于这一篇的相关代码, 可以查看github链接: 07_Cliff_Environment_Playground.ipynb
Cliff Walking Playground环境介绍
环境大体介绍
总的环境如下所示, 是一个4*12大小的棋盘:
- 我们从S(在36号位置)出发, 要达到G(第47号位置);
- 每一个网格有四个action, 分别是上下左右;
- 每走一步的reward是-1, 如果走到cliff那么reward是-100;
- 同时若走到The Cliff, 会回到S重新开始;
在这个环境中action:
- 向上移动: 0
- 向下移动: 2
- 向左移动: 3
- 向右移动: 1
关于state:
- 这里state就是格子的编号, 一共有48个格子.
- env.observation_space.n=48
关于reward:
- 每走一步的reward=-1
- 走到cliff区域, reward=-100
- 走到终点G, reward=-1 (走到终点没有额外的奖励).
环境的简单测试
首先是环境的初始化.
- env = CliffWalkingEnv()
接着, 我们与环境进行简单的互动 (执行不同的action, 查看环境的变化).
- print(env.reset())
- env.render()
- """
- 36
- o o o o o o o o o o o o
- o o o o o o o o o o o o
- o o o o o o o o o o o o
- x C C C C C C C C C C T
- """
- print(env.step(0)) # 向上移动
- env.render()
- """
- (24, -1, False, {'prob': 1.0})
- o o o o o o o o o o o o
- o o o o o o o o o o o o
- x o o o o o o o o o o o
- o C C C C C C C C C C T
- """
- print(env.step(1)) # 向右移动
- env.render()
- """
- (25, -1, False, {'prob': 1.0})
- o o o o o o o o o o o o
- o o o o o o o o o o o o
- o x o o o o o o o o o o
- o C C C C C C C C C C T
- """
- 微信公众号
- 关注微信公众号
- QQ群
- 我们的QQ群号
评论