重温强化学习之OpenAI经典场景

官网:http://gym.openai.com/envs/#classic_control

经典应用1:CartPole-v1

CartPole在OpenAI的gym模拟器里面。游戏里面有一个小车,车上有一根杆子。小车需要左右移动来保持杆子竖直。如果杆子的倾斜的角度大于15度,游戏结束。小车也不能移出一个范围(中间到两边各2.4个单位长度),如下图所示:

物理图解:

                      

在gym的Cart Pole环境(env)里面,左移或右移小车的action之后,env都会返回一个+1的reward。到达200个reward之后,游戏也会结束。

环境状态:

                                 

初始状态:

                    四个环境观测值,从U(-0.05,0.05)中随机抽取

动作:

                               

奖励:

               每一步的奖励都是1,包括最后一步

 

终止条件:

              杆子的倾斜角度大于15度

              小车的位移大于+(-)2.4

              奖励达到200

 

经典应用2:Pendulumn-v0

       倒立摆是强化学习的一个经典问题。在这个问题中,钟摆开始在一个随机位置,我们的目的是左右摆动它,让他保持直立。

状态:

           Pendulum 的角度(sin和cos)和角速度,记为th和thdot

              

动作空间:

         对于Pendulum问题来说,action space只有一个维度,就是电机的控制力矩,且有最大值和最小值的限制

                

奖励:

       reward = -costs

       costs包含三项:

          1)angle_normalize(th)**2 对于当前倒立摆与目标位置的角度差的惩罚

                    

 

                                  

   2)  .1*thdot**2  对角速度的惩罚,如果我们在到达目标之后,如果还有较大的速度,就会过去,不会保持竖直

   3) .001*(u**2)    对输入力矩的惩罚,所使用的力矩越大,惩罚越大

                

 

经典应用3:MountainCarContinuous环境

一辆汽车位于两个山脉之间的轨道上。目标是在右侧上山,但是这个?的发动机动能不够,不能一次成功爬山。所以,要想爬山的途径就是来回驱动,来建立动力,如下图所示:

连接:https://gym.openai.com/envs/MountainCar-v0/

Step函数

                     

状态

       从上图中可以看出,小车的状态包括位置(position)和速度(velocity)

                         

observation space与state space一致,包括位置和速度,二者都有上下限,如下图所示:

                        

而action space是一维的,前进或倒车。要让小车到右手边的山峰,所以goal_position为0.5,这是相对初始位置(最低点)而言的,最低点position为0,向左为负,向右为正。

   

                             

每执行一个step,就会检查看自己是否越过右边的山峰,据此来给done赋值,如果没有越过山峰,则在这一个step,reward将会记为-1

其它经典应用

               Gym Box2D

               LunarLander

               CarRacing

               Atari 2600

               Pong :http://www.ponggame.org/

 

参考连接:https://blog.csdn.net/cuiwader/article/details/77483363

 

实现demo如下所示:

有需要demo的可自行下载哈,github地址:https://github.com/wangtao666666/Reinforcement-Learning

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值