自动驾驶器环境介绍

2020-03-20 11:25:44 浏览数 (1)

在gym里有个自动驾驶的模拟器,它的任务是把乘客从一个地方接起,在另一个地方放下,在这个过程中 需要小车至少遵守下面三个规则:

在正确的地点下车

尽量用最短的路径

不要出事故

如果要用强化学习来解决这个问题,需要明确state,action,reward是什么:

在这个过程会让小车自己学会判断在每个state要采取什么action,小车会在环境中不断地尝试来找到最优策略,这个学习过程的依据就是reward,如何设置奖励机制呢?

因为希望小车最后达成的是成功地将顾客在正确的位置放下,所以这时的奖励要有很大的正奖励

如果在错误位置将顾客放下,就要有惩罚

当小车在每个state上的方向错误时,会有轻微的惩罚,这样的惩罚会让小车迟到,那么有助于它找到最短路径

state 是指小车可能经过的位置,例如整个环境是个 5x5 的网格,在这个格子上有四个位置可以接送顾客,R, G, Y, B or[(0,0), (0,4), (4,0), (4,3)]

例如有个顾客想从 y 到 r,目的地是4个,顾客的位置是5=4个目的地 1个是在车内,所以小车的状态空间是 5×5×5×4=500 个,之所以相乘,是因为顾客的 pick up 的状态,以及目的地的状态,它们所在的位置会变化的,这就构成了一个组合,组合总数就是相乘的结果。

action 空间有6个,在每个state上面可以向四个方向走,还有接顾客和放下顾客两个。

在网格中的四边是墙,如果小车在四周撞到了墙会得到-1的惩罚,这样让小车学着不要撞墙。

参考资料:

https://www.learndatasci.com/tutorials/reinforcement-q-learning-scratch-python-openai-gym/

0 人点赞