Reinforcement Learning(强化学习)-Cliff Walking Playground环境介绍

王 茂南 2020年7月13日07:08:59
评论
1177字阅读3分55秒
摘要这一篇介绍强化学习中的Cliff Walking Playground的环境. 包括环境的大体介绍, 以及环境代码的简单实验.

简介

这一篇介绍一个新的强化学习使用到的环境, 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重新开始;
Reinforcement Learning(强化学习)-Cliff Walking Playground环境介绍

在这个环境中action:

  • 向上移动: 0
  • 向下移动: 2
  • 向左移动: 3
  • 向右移动: 1

关于state:

  • 这里state就是格子的编号, 一共有48个格子.
  • env.observation_space.n=48

关于reward:

  • 每走一步的reward=-1
  • 走到cliff区域, reward=-100
  • 走到终点G, reward=-1 (走到终点没有额外的奖励).

环境的简单测试

首先是环境的初始化.

  1. env = CliffWalkingEnv()

接着, 我们与环境进行简单的互动 (执行不同的action, 查看环境的变化).

  1. print(env.reset())
  2. env.render()
  3. """
  4. 36
  5. o  o  o  o  o  o  o  o  o  o  o  o
  6. o  o  o  o  o  o  o  o  o  o  o  o
  7. o  o  o  o  o  o  o  o  o  o  o  o
  8. x  C  C  C  C  C  C  C  C  C  C  T
  9. """
  10. print(env.step(0)) # 向上移动
  11. env.render()
  12. """
  13. (24, -1, False, {'prob': 1.0})
  14. o  o  o  o  o  o  o  o  o  o  o  o
  15. o  o  o  o  o  o  o  o  o  o  o  o
  16. x  o  o  o  o  o  o  o  o  o  o  o
  17. o  C  C  C  C  C  C  C  C  C  C  T
  18. """
  19. print(env.step(1)) # 向右移动
  20. env.render()
  21. """
  22. (25, -1, False, {'prob': 1.0})
  23. o  o  o  o  o  o  o  o  o  o  o  o
  24. o  o  o  o  o  o  o  o  o  o  o  o
  25. o  x  o  o  o  o  o  o  o  o  o  o
  26. o  C  C  C  C  C  C  C  C  C  C  T
  27. """

 

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

发表评论

匿名网友 填写信息

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