Reinforcement Learning(强化学习)-Windy Gridworld Playground环境介绍

王 茂南 2020年6月9日07:37:02
评论
1 1237字阅读4分7秒
摘要这一篇文章介绍强化学习中的一个环境Windy Gridworld Playground, 主要围绕observation, action和reward三个详细展开, 并给出模拟的例子.

简介

这里介绍一个新的强化学习的环境, Windy Gridworld Playground. 之前我们讲过Reinforcement Learning(强化学习)-BlackJack环境介绍. 但是因为我们并不知道blackJack的最优策略是什么, 所以有的时候我们无法判断最后给出的结果的好坏, 于是这里介绍一个新的环境, Windy Gridworld Playground.

参考资料

可以查看下面的链接, 里面有详细的notebook (在第5周的内容里面): 强化学习_Windy Gridworld Playground环境测试

 

Windy Gridworld Playground环境介绍

总的一个环境如下所示, 我们从S出发, 要达到G. 有上下左右四个方向可以走. 下面格子0, 1, 2表示风力, 也就是我们在不同的列会受到风力的影响, 导致实际的方向和我们走的会有一些区别.

Reinforcement Learning(强化学习)-Windy Gridworld Playground环境介绍

详细的每个格子的编号如下图所示:

Reinforcement Learning(强化学习)-Windy Gridworld Playground环境介绍

下面是文字版, 可以方便复制, 也是方格的序号的对应关系.

  1. 00, 01, 02, 03, 04, 05, 06, 07, 08, 09
  2. 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
  3. 20, 21, 22, 23, 24, 25, 26, 27, 28, 29
  4. 30, 31, 32, 33, 34, 35, 36, 37, 38, 39
  5. 40, 41, 42, 43, 44, 45, 46, 47, 48, 49
  6. 50, 51, 52, 53, 54, 55, 56, 57, 58, 59
  7. 60, 61, 62, 63, 64, 65, 66, 67, 68, 69

 

详细介绍observation, action和reward

接下来我们详细介绍observation, action和reward:

  • observation为格子所在的编号, 起始的编号是30;
  • action的组成: 有4个动作, 分别是上下左右, 数字与action的对应关系如下;
    • 0, UP
    • 1, RIGHT
    • 2, DOWN
    • 3, LEFT
  • reward: 每走一步reward=-1, reward越大也就是走的步数越少;

 

仿真的部分代码

首先是环境的初始化.

  1. state = environment.reset()
  2. print(state) # 返回的是格子的编号(30也是起点的位置)
  3. >> 30 # 从状态30开始, 是起点

我们可以通过下面的方式进行可视化.

  1. # 结果可视化
  2. environment._render()
Reinforcement Learning(强化学习)-Windy Gridworld Playground环境介绍

其中x表示现在所在的位置, T表示终点.

接着我们可以执行不同的action, 并查看返回的结果.

  1. observation, reward, done, _ = environment.step(0)
  2. print("observation:{}, reward:{}, done:{}".format(observation, reward, done))
  3. >> observation:20, reward:-1.0, done:False

 

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王 茂南
  • 本文由 发表于 2020年6月9日07:37:02
  • 转载请务必保留本文链接:https://mathpretty.com/12296.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: