多智能体强化学习-Gymnasium-05 MountainCarEnv环境代码
它包括一辆随机放置在正弦谷底部的汽车,唯一可能的动作是可以在任何方向上应用于汽车的加速度。gymnasium的山地车域car domain有两种形式:一种是离散动作,一种是连续动作。这个MDP的目标是策略性地给汽车加速,以实现目标:使汽车到达正确的山顶。这个版本是具有离散动作的版本。mountain car这个环境是一个确定性的。
MountainCarEnv(gym.Env)
环境文件位置:
D:\pytorch\anaconda\anaconda_file\envs\GYAM\Lib\site-packages\gymnasium\envs\classic_control\mountain_car.py
说明注解:
mountain car这个环境是一个确定性的马尔可夫决策过程MDP。它包括一辆随机放置在正弦谷底部的汽车,唯一可能的动作是可以在任何方向上应用于汽车的加速度。
这个MDP的目标是策略性地给汽车加速,以实现目标:使汽车到达正确的山顶。
gymnasium的山地车域car domain有两种形式:一种是离散动作,一种是连续动作。
这个版本是具有离散动作的版本。该MDP最早出现的文章:
Andrew Moore's PhD Thesis (1990)](https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-209.pdf)
Observation Space
观察到的是一个形状为‘(2,)’的‘ narray ’,其中的元素对应如下:
序号 | 观察Observation | 最小值 | 最大值 | 符号
0 | car在x轴上的位置 | -1.2 | 0.6 | position (m)
1| car的速度 | -0.07 | 0.07 | velocity (v)
Action Space
有3种离散的确定性行为:
0:向左加速
- 1:不要加速
- 2:向右加速
Transition Dynamics:
给定一个动作,山地车遵循以下过渡动态:
其中force= 0.001,gravity= 0.0025。
两端的碰撞是非弹性的,与壁面碰撞时velocity设为0。
position被剪辑到范围‘[-1.2,0.6]’,velocity被剪辑到范围‘[-0.07,0.07]’。
Reward:
目标是尽可能快地到达放置在正确的山顶上的旗帜,因此代理在每个时间步中都会受到-1的奖励。
Starting State:
汽车的位置在*[-0.6,-0.4]*中被分配一个均匀的随机值。
汽车的起始速度总是被赋值为0。
Episode End:
如果发生以下任何一种情况,本集结束:
1. 终止:车的位置大于等于0.5(目标在右坡上的位置)
2. 截断:这一集的长度是200。
Arguments:
Mountain Car有两个gym参数。用‘ render_mode ’和‘ goal_velocity ’制作'。
在重置时,‘ options ’参数允许用户更改用于确定新随机状态的边界。
更多推荐
所有评论(0)