多年来,我一直在研究神经进化人工智能程序,让汽车学习如何在赛道上比赛。目前,我有一个基本的适应度函数,它为围绕窗口中心沿 CW 方向行进的每个度数奖励点(删除 CCW dir 中的点),并为每次发生的碰撞删除一定数量的点。汽车在静止和/或与某物相撞的每一刻也会失去积分。我的最终目标是创造出能够比人类控制的汽车更快地完成充满障碍的赛道的汽车。
是否有更好的健身功能可以产生更高效的汽车?
- 更好地利用他们的传感器,
- 可以有效地绕过赛道(不要像醉酒的司机那样编织),并且
- 通常更快(汽车太谨慎了,但这是一场比赛!)
?
一半的人口似乎只是在旋转。
我已经完全实施了我的神经进化计划。这是我的实现。但是,您会发现它并不完美。
我应该如何改变我的健身功能以产生更好的驾驶汽车?
目前,如果外部传感器被激活,汽车只会左转或右转。然而,如果直接在前面的传感器被激活,那么神经网络的配置方式就会“忽略”这个信号。因此,汽车迎面撞上障碍物,但要避开周边的障碍物。我认为这是因为适应度函数(它为 3 秒时间段内的位移评分)过于慷慨,并消除了汽车避开障碍物的动力。我已经尝试改变对碰撞的惩罚和对正确方向驾驶的奖励,但它仍然没有按照我想要的方式执行。
这是一些截图