卡内基梅隆大学博士 Tom Murphy 写了一个可以通关《超级马里奥兄弟》等任天堂经典游戏的程序。这个程序可以玩基本上所有的任天堂游戏,但是它不一定每个都能够打赢。
这种程序算是一种比较简单的人工智能,它的算法是机器学习的一种。NES 游戏主机只有 2kb 的内存,其中会主要记录游戏的状态,包括游戏分数和人物所在位置。Murphy 通过记录 NES 游戏主机内存在玩游戏中的演变,以提升游戏的分数为目标,训练人工智能做出正确的选择或操作。它的决策方法也包括一些贪婪法类的算法。
经过几次迭代之后,Murphy 的程序可以打通《超级马里奥兄弟》的前两关,世界 1-1 和世界 1-2。因为这个人工智能的设计,它会做所有加分的行为,比如吃币。Murphy 还发现在无形之中,这个人工智能发现了很多他以前都不知道的《超级马里奥兄弟》中的小 bug,而且自动开始利用这些 bug 去通关。比如,你知道 Mario 如何可以用头去干掉敌人吗?人工智能知道:Mario 在跳起后的下降时是无敌的,所以头和脚都可以干掉敌人。人工智能能够如此精准地发现而且利用其它程序中的漏洞,很明显,未来的黑客大战将是人工智能对人工智能,因为毕竟人工智能的第一语言就是机器语言。
Murphy 也试着让这个程序去打其它的任天堂游戏,比如《俄罗斯方块》。虽然它不能赢,但是效果还是很有趣的。在它快要输的时候,人工智能会把游戏暂停,因为这是它在那时能做的最好的选择。看来人工智能也会耍赖。
太令人震惊了啊!!!