强化学习:从网格世界到Q学习与深度Q学习
1. 环境基础与网格世界概述
在强化学习中,环境是智能体交互的基础。以推车杆(CartPole)环境为例,它有终止标志(True或False)以及包含辅助信息的Python字典。 env 对象还有 render() 方法,可在每一步或一系列步骤后执行,以可视化环境以及杆和推车的移动。当杆相对于垂直轴的角度超过12度,或者推车位置距离中心超过2.4个单位时,回合终止。奖励的定义是最大化推车和杆在有效区域内的稳定时间,即通过最大化回合长度来最大化总奖励。
接下来,我们转向网格世界环境。这是一个简单的环境,有 m 行 n 列。以 m = 4 和 n = 6 为例,该环境有30种不同的可能状态。其中4个是终止状态:状态16有一罐黄金,状态10、15和22是陷阱。进入这4个终止状态之一会结束回合,但黄金状态和陷阱状态有区别。落在黄金状态获得正奖励+1,落在陷阱状态获得负奖励 -1,其他状态奖励为0。智能体总是从状态0开始,每次重置环境,智能体都会回到状态0。动作空间包括四个方向:上、下、左、右。当智能体处于网格边界时,选择离开网格的动作不会改变状态。
2. 在OpenAI Gym中实现网格世界环境
为了通过OpenAI Gym试验网格世界环境,强烈建议使用脚本编辑器或IDE而不是交互式执行代码。具体步骤如下:
1. 创建一个名为 gridworld_env.py 的新Python脚本,导入必要的包和两个用于构
超级会员免费看
订阅专栏 解锁全文
2799

被折叠的 条评论
为什么被折叠?



