0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

论玩小游戏AI不一定比你差

电子工程师 来源:fqj 2019-04-29 14:44 次阅读

一个懂写代码的程序员平常是怎么玩游戏的?想知道吗,一个网名叫做 Code Bullet 的澳大利亚程序员就经常自己在家制造和训练 AI 帮他打游戏。

看过他训练出的 AI 玩的游戏,感觉…再也不想玩游戏了呢。

先来看 AI 玩 Flappy bird 会怎样。

小哥使用的是NEAT(neuro evolution of augmenting topologies)算法,也就是增强拓扑的神经演化算法。

NEAT 是一种结合神经网络和遗传算法(genetic algorithm)的好算法。

遗传算法是什么?

遗传算法类似于一个代码进化系统,它是一种优胜劣汰 AI 的算法。

你要做的,就是告诉计算机,什么是“成功”的标准,还要告诉AI,它可以看到什么,可以做什么。成功的AI可以进行一次繁殖,留下后代,不成功的 AI 就当场去世了。

为了模拟演化,子代 AI 还会和爸爸/妈妈有一点点的不同,类似于遗传突变。

神经网络则是一种具有学习能力的算法,它模拟的是生物神经网络的结构,可以根据经验不断调整。

在 Flappy bird 里,小哥设定 AI 可以看到鸟鸟和柱子的距离、鸟鸟相对于柱子的速度等信息。剩下的该怎么玩 AI 自便。

论玩小游戏AI不一定比你差

在每一代的 AI 里,玩得最好的可以进行繁殖,并把自己的优秀基因遗传给下一代。当然了,下一代也不会照单全收,还是会有小小的突变。

论玩小游戏AI不一定比你差

第六代目就可以妥妥地拿下2000分了...

论玩小游戏AI不一定比你差

好的,小哥用 NEAT 玩坏的第二个游戏,就是 Chrome 浏览器连不上网时候出现的彩蛋小游戏——跳跳恐龙。

论玩小游戏AI不一定比你差

你还不知道有这个游戏?

你能玩到第几关呢?

好的,发现自己技术太差以后,小哥就自行复制出了游戏,并开始无情的 AI 模式了。

第一代AI有500只,每一只控制着一只恐龙。发挥最好的 AI 可以进入繁殖阶段,不行的AI就莫得繁殖。而且下一代的策略会和上一代有一点点不同,类似于遗传突变。

论玩小游戏AI不一定比你差

上面的那些网络就是控制这些 AI 的神经网络,它会一代代地发生变化。

这个神经网络的输入信号就是每个 AI 看到的东西,输出就是每个AI的动作。新的神经网络连接的出现代表着 AI 学会了某种特定的策略。

第一代的基本设定很简单,就是不停地随便乱跳。就和你一开始玩的时候一样。如果你仔细看上面的图,会发现有只AI是一直趴着前进的。

就这样,傻 fufu 的 AI 被一代代刷掉之后,终于有只 AI 搞明白要看清楚距离再跳了。

论玩小游戏AI不一定比你差

好的,玩过这个游戏的人知道,到了一定时间,速度会变得飞快,而且一些鸟鸟飞得太高踩不到,所以在大鸟鸟面前要主动弯腰。

利用遗传算法训练到第八代 AI 的时候,它们看起来就已经很聪明了。

论玩小游戏AI不一定比你差

但是第八代还是没学会在踩不扁的大鸟鸟面前低头。

论玩小游戏AI不一定比你差

到了25代,AI 终于学会了,如果你不能碾压别人,那就要立刻向大佬低头,晚0.1秒都不行。

论玩小游戏AI不一定比你差

到了第40代AI,见识一下什么叫做恐怖。

论玩小游戏AI不一定比你差

第25代 AI 妥妥地拿下了2万分。后来因为小哥的电脑实在吃不消了才没有继续刷出高分。

还有这个世界最难游戏。

论玩小游戏AI不一定比你差

小哥也是因为自己玩得太烂,于是决定用遗传算法算法来海选 AI 帮自己刷分。

每个 AI 依照一套指令(术语叫做 vector)。

和自然选择理论一致,适合度最高的 AI 可以繁殖,做不到的 AI 就只能去死了。小哥规定,AI 要在有限的步数之内完成特定的指令。完成的指令越多,就可以获得更多的步数。

一伙 AI 冲上场的画面。有不怕死的已经当场去世了。

论玩小游戏AI不一定比你差

注意到头是绿的 AI 吗?它们是上一代 AI 里最优秀的后代。

论玩小游戏AI不一定比你差

终于到了第50代,第50代啊同志们,有一个AI来到了终点。

论玩小游戏AI不一定比你差

也是用 NEAT 算法训练的 AI 玩越野赛车。

从没眼看的个位数代目——

再到彪悍的十七代目——

再来看看 AI 玩贪吃蛇。

小哥先利用遗传算法和深度学习(deep learning)训练出了几条优秀的 AI 贪吃蛇,然后利用融合(fusion)的方法把它们的“大脑”合体。相当于一个贪吃蛇的身体里藏着好几条蛇。人类是不是管这个叫做精分?

小哥另外让高级版的贪吃蛇 AI 在不同贪吃蛇 AI 附体时对外展现出不同的颜色。

比如,在发现食物,并且确定能够吃到的时候变成绿色,蓝色表示它确定能离食物越来越近,白色表示它看不到食物在哪里,只能尽量不让自己死掉。

这个精分版的贪吃蛇 AI 是这样玩的。

总之,小哥用 NEAT 算法的套路玩转了各种你耳熟能详的小游戏。效果都是杠杠的。

除了 NEAT 算法,他还用其他算法破解了另一些游戏。

比如,小哥还教 AI 玩55 x 55 x 55的魔方。

小哥说不能做更大的魔方了,它电脑要中风了。

小哥用Q学习(Q-Learning)练的玩钢琴块游戏的 AI。

Q学习属于增强学习算法,增强学习算法就是要记录学习过的策略,并且根据奖励(目标)来调整策略的算法。

AI 的目标是找到屏幕上的黑框,然后使劲地摁就好了。一键玩到电脑中风的样子——

你玩过扫雷吧。小哥也造了一个扫雷 AI。看 AI 玩 64 x 36 的扫雷觉得莫名舒爽有木有?

好的,看完了上面这些 AI 打游戏的精彩片段我们知道,永远也不要嘲笑一个会繁殖的 AI 和一个玩不好游戏的程序员。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    87

    文章

    29652

    浏览量

    267990
  • 代码
    +关注

    关注

    30

    文章

    4714

    浏览量

    68196

原文标题:AI 学会你最拿手的小游戏之后…

文章出处:【微信号:smartman163,微信公众号:网易智能】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    论坛基于labview的小游戏合集(绝对精彩)

    `老虎机:*** labview黑白棋小游戏制作详细解析https://bbs.elecfans.com/jishu_209415_1_1.html l令人叹服的abview象棋程序(暴强
    发表于 03-01 15:29

    网友可能不一定很了解的时间单位

    时间单位有的网友可能不一定很了解,特别是搞FPGA的网友,提供。 无限可分,没有最小。 s(秒)以下的时间单位(千进制): 1s (秒) =1000 ms (毫秒) 1ms (毫秒) =1000
    发表于 01-11 11:59

    基于LabVIEW小游戏11款合集

    小编给大家整理了些基于LabVIEW制作的小游戏,供大家学习,如果大家有更好的设计,不论是程序或者是界面上面有改进的话欢迎大家分享,起讨论哈!1、labview黑白棋小游戏制作详细
    发表于 12-10 15:16

    gpio和中断断开发现唤醒后中断不一定及时响应是为什么?

    断开,发现唤醒后中断不一定及时响应,即使响应了系统也死掉了,请问这种情况怎么解决呢?我在idle_profile的基础上做的实验。deepsleep模式的功耗有点儿高了。
    发表于 06-12 16:42

    AI学习】第 1 篇--活用创新模板学 AI

    创造新模版,也支持不熟悉编程者,善用模版来创造形形色色的 AI 模型。所以,不一定需要写程序,不一定需要高深数学,大家都可以利用模板来创作 AI 智能模型。那么如何使用
    发表于 11-02 10:38

    为什么高速USB并不一定表示手机拥有高速性能

    为什么高速USB并不一定表示手机拥有高速性能 数码多媒体向日用电器的发展改变了消费者接触和享受多媒体娱乐节目的方式。现在消费者可以通过扑克牌大小的设备来
    发表于 01-04 11:21 619次阅读
    为什么高速USB并<b class='flag-5'>不一定</b>表示手机拥有高速性能

    科普:深度解析GPU 知道不一定就懂

    或许都知道 3D 游戏少不了它,但具体发挥什么作用也许说不清楚,这回我们就来揭开 GPU 的神秘面纱。
    发表于 06-01 16:33 1072次阅读
    科普:深度解析GPU 知道<b class='flag-5'>不一定</b>就懂

    推箱子小游戏设计

    推箱子小游戏设计
    发表于 06-09 09:49 97次下载

    小米或打响同股不同权第枪,业界却称不一定赚钱

    后向香港交易所(00388.HK,下称港交所)递表,最快可于6月底至7月初挂牌,有望成为同股不同权新股的第股。而市场人士认为,尽管很多新经济公司上市的时候异常火热,但在香港打新却不一定赚钱。 据港媒报道,小米的上市筹备工
    发表于 04-30 22:50 767次阅读

    只有洁碧才是全民信赖的水牙线品牌吗?那可不一定

    身体健康就一定要保证口腔健康。使用水牙线已经是很多西方家庭会使用的清洁口腔内部的办法,对于国内的消费者来说,水牙线还算是新鲜玩意,所以面对多种多样的水牙线品牌,觉得只有洁碧,这个水牙线的创始品牌才是值得信赖的,那可不一定
    发表于 04-16 20:31 471次阅读

    正确的原理图不一定能产生正确的 PCB 设计

    作者:黄刚个“xue淋淋”的案例告诉大家:正确的原理图不一定就能产生正确的PCB设计。原理图设计与PCB设计都是研发流程中的必经阶段,我们知道,原理图设计是PCB设计的前端流程,之前的案例也分析过个错误的原理图必然会导致
    的头像 发表于 12-24 13:22 2321次阅读

    基于STM32设计的拼图小游戏

    基于STM32设计的拼图小游戏
    发表于 11-23 17:51 30次下载
    基于STM32设计的拼图<b class='flag-5'>小游戏</b>

    Oneflow 实现强化学习 Flappy Bird 小游戏

    本文主要内容是如何用Oenflow去复现强化学习 Flappy Bird 小游戏这篇论文的算法关键部分,还有记录复现过程中些踩过的坑。
    发表于 01-26 18:19 2次下载
    Oneflow 实现强化学习<b class='flag-5'>玩</b> Flappy Bird <b class='flag-5'>小游戏</b>

    基于STM32设计的拼图小游戏详解

    拼图游戏在小时候还是经常,玩法也比较简单,这里就使用STM32设计个拼图小游戏分享出来起学习。 目前
    的头像 发表于 02-28 13:45 3080次阅读
    基于STM32设计的拼图<b class='flag-5'>小游戏</b>详解

    4个并不一定比3个难对付

    4个并不一定比3个难对付
    发表于 11-03 08:04 0次下载
    4个并<b class='flag-5'>不一定</b>比3个难对付