用神经网络和遗传算法,玩转Flappy Bird,很简单的。 这个GitHub项目里,所有代码都是用HTML 5写的。 神经网络的部分,用了突触神经网络(Synaptic Neural Network)库。 首先,创建一个拥有10只小鸟的种群,它们要在游戏的过程中繁衍和进化。 这10只小鸟,都是靠随机的神经网络,决定下一步扇不扇翅膀。神经网络有三层: 输入层:两个神经元 隐藏层:六个神经元 输出层:一个神经元 每输入一个小鸟的当前的位置,就会经过三层网络,输出一个0到1之间的值:大于0.5就扇翅膀,不大于就不删。 游戏过程中,需要观察每只小鸟的资质,用到的是适应度函数 (fitness function) 。适者生存嘛。 当整个种群都死了之后,四只成绩最好的小鸟获得奖励,并繁育10只后代。 这里的“自然法则” (即运算) 有三种: 一是选择 (Selection) ; 二是杂交 (Crossover) ; 三是变异 (Mutation) 。 规则是: · 前两名,杂交生出一个后代 · 4只中随机选两只,杂交生出三个后代 · 4只中随机选两只,分别直接复制,生成两个 (和上代一样的) 后代 · 给每个后代施加一些变异
点赞 评论

相关推荐

牛客网
牛客企业服务