2013年 伦敦的deepmind 发了一篇workshop paper:
Playing Atari with Deep Reinforcement Learning
当时真是“天空一声巨响老子闪亮登场”,看完这篇paper和同事都惊呆了,虽然思路上并没有特别奇特的点,但是就这么一个理论上应该可以实现,真正实现的时候,大家还是在感叹, 这样这样也行.
2014年 deepmind 被google收购了,有人说$400+m, 有人说$600+m. 在这个钱比什么都便宜的时代,这个价钱也没什么稀奇。近几年的cs research里面,英国一直在主流之外,但现在 deepmind 以完全不同于主流进化路线的方式野蛮生长着。(想起大洋洲上独立的进化)。包括之后出的neural turing machine,让人觉得他们所在进行的项目或许是超越这个时代的,或者才是正确的方向。
回到游戏ai,有人说dota风靡全球不可缺少的因素就是因为有ai地图。不知道这是不是真相,但我现在还记得大学宿舍里12点断电后,黑暗里摸着键盘在ai地图里练补刀。
defending mid无论是warcraft还是starcraft,游戏的核心其实就是伤害判定和范围判定,因为范围判定,才衍生了走位的问题。ai 的关键就是决定什么时候追逐什么时候逃跑,什么时候触发攻击,触发什么样的攻击。传统的 ai 一般是有限状态机,根据玩家出的兵种,生产对应的兵种;根据对方兵力的强弱,决定是打架还是逃跑;dota里面根据自己的血量,离塔的远近,决定追敌人还是跑回家。就是因为这个实现,所以经常有半血ai追残血英雄到塔下却半路跑回家,要是人类玩家估计就咬咬牙上了。
但是像dota这样动辄接近100个英雄,写起这种状态机,应该会是一个噩梦。看了眼 google code 上开源的 dota ai, 不知道这个是不是网上流传的 ai 地图。觉得他们尝试的artificial neural network 的思路,才是应该努力的方向。deepmind 的reinforcement learning就是在这个方向上更近了一步。当然deepmind所实现的ai离即时战略ai的距离还很遥远,论文针对的是好多年前的atari 游戏,是黑白机时代的游戏,小蜜蜂,潜艇等。
还有一个跟着鼠标跑的,操作更加浮夸。
Infinite Mario AI- Mario follows Mouse
这个比赛里,一开始大家也是用特别fancy的Bayesian去做,做到后来有人发现因为可以直接接触到mario内部的状态,所以 a* path search 也能跑得很好,然后Bayesian也做不过 a* , 每年的冠军好像都是通过 a* path search 实现的. 一旦这个 ai problem 不valid了,主办的人也放弃了这个比赛。
还有berkeley的overmind项目,Berkeley Overmind 是星际的ai,作者好像是星际高玩,认为虫族飞龙是这里面最实惠地兵种,单纯暴飞龙,1024线甩飞龙,然后一路过关斩将最后夺冠。隐约记得之后还有一篇文章介绍关于甩飞龙的微操作是怎么实现的,好像是用了一个特别诡异的数学模型。
你以为你以为的就是你以为的结尾想起robotics里的一个小故事,做机器人的教授特别羡慕小狗的捡球能力,就想做一个能捡球的机器人,觉得不和人比 和狗比还是有信心的。于是开发了各种抛物线模型,牛逼空气动力,研究抛球的姿势,最后。。。。。还是捡不过小狗。小狗捡球完全不用这些高大上的数学,只要保持45度仰望球,球就会自然而然的进入嘴里。度数小于45度了,就跑远一些,度数大了,就跑近一些。
万一奥特曼打不赢小怪兽
那就扶他逃回到小小星球
有阳光 有鲜花 什么都有
也不缺女粉丝温柔包扎伤口
不久后神功练就 小怪兽捏在指缝
reference:
网友评论