【莫烦强化学习】视频笔记(二)2.编写一个Q学习的小例子

第5节 编写一个Q学习的小例子


本节使用python编写一个简单的Q学习例子,来体会Q学习中各种参数及更新过程。

最后的效果是什么样的呢?

这次要编写的是机器人寻宝,是一个线性的环境,o代表机器人,T代表终点,也就是宝藏所在处,当然也可以使用自己的符号表示。环境(只是外表,奖励值也是环境的一部分,但是是不可见的)长下面这样:

-o---T

这只是一个示例,空间长度是6,也可以自定义环境,更好的也可以是手动输入环境。
最终会以命令行的形式不断更新显示环境,到达终点算作一次过程(episode),每挪动一个位置算一步,结果应该是随着过程数目增加,机器人找到宝藏的速度越来越快。
每次episode结束显示所走步数。


哪些准备?

首先需要明确什么是状态s和动作a,状态即机器人所处的位置,动作即向左或向右。(当然撞墙了就不能走了,即两端的状态是不同的)
接下来是Q表了,一个二维数组,大小为 s i z e ( s ) ∗ s i z e ( a ) size(s)*size(a) size(s)size(a)。每一个状态 s i s_i si对应所有的动作 a 0 , a 1 … a_0,a_1… a0,a1,每一个格子对应着一个Q值,如下表所示:

a 1 a_1 a1
s 1 s_1 s1 Q ( s 1 , a 1 ) Q(s_1,a_1) Q(s1,a1)
s 2 s_2 s2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值