【源码+文档】人工智能作业小车问题

一、任务描述

·必做:使用强化学习算法,解决MountainCar v0;

使用强化学习算法,解决MountainCarContinous v0

环境配置

python(3.6) + gym(0.15.4) + tensorflow(1.2.1) + keras(2.2.4)

二、算法设计

离散版本

问题背景

现有一小车在两座山峰之间的谷底,小车动力有限,无法直接登上右侧山峰,需要借助动能和势能之间的转化才能到达目的地。在离散版本的MountainCar中,小车的行为(action)是离散的,有向左、向右、静止三个选项,每个状态(state)下小车的观测值包含位置(position)和速度(velocity)两个方面,小车从-0.4—-0.6 之间的任意位置开始运动,在一个 episode步)内抵达 0.5 处即为成功,每走一步获得-1 的回报值。

ActionPush leftNo pushPush right
Num012
StateMaxMin
Position0.61.2
Velocity0.070.07

-learning 算法

Q-learning 算法主要流程如图 1 所示,算法借助 Q 表完成,Q 表列出了在不同状态时采取不同行动的行动价值,需要在程序中不断更新。

在每个 episode 开始时初始化 Q 表,在每一步后更新 Q 表,Q-learning 中,行为策略采取 贪心策略,目标策略为贪心策略,从当前状态 S 下选择一个行动 A,有的概率随机选择,1 的概率选取价值最大的行动,获得的 Q 值作为 Q 估计,获得回报 R,进入下一状态S′;在S′状态下根据贪心策略选取最大价值的行动,该最大价值乘以回报因子γ,再加上之前的回报 R,作为 Q 现实;Q 现实减去 Q 估计,乘以学习率,作为误差更新 Q 表,其中学习率代表了从误差中学到新东西的能力。

 图 1 Q-learning 算法

源码和文档都托管在了【WRITE-BUG数字空间】上面了,有需要的可自取~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值