在前不久举行的Defcon黑客大会上,一位来自谷歌的研究人员公布了他开发的工具。通过估算玩家在场上的卡牌价值系数,该工具的预测成功率最高可达97%。
想要在《炉石传说》的对战中预测对手的卡牌,甚至是下一步的动作?先别急着去挂马截屏,不用这么复杂。在前不久举行的Defcon黑客大会上,一位来自谷歌的研究人员公布了他开发的工具。据介绍,通过估算玩家在场上的卡牌价值系数以及对手的职业和打法,该工具可以以最高97%的准确率预测对手的卡牌。
开发这套工具的是Elie Bursztein博士,目前供职于谷歌,负责网络反欺诈相关方向的研究。在Defcon大会的演讲中,Bursztein博士详细介绍了该工具的原理。首先他进行的工作是计算卡牌价值,通过公式计算分析出每一张牌的价值参数,利用它可以从游戏中找出有哪些卡牌的价值是被低估的。随后,他通过统计卡牌之间的亲和度(即两张卡牌之间发生关联的可能性)以及大量回放的统计建立了预测系统的模型。在Bursztein博士的博文中提到,最高预测准确率发生在第3到5轮。而对于对手卡牌的预测,在对方手中有5张牌的时候可以达到80%,而当对方手中有10张牌的时候可以达到56%。
事实上我们可以认为Bursztein博士的工作属于模拟AI的一部分。通过预测卡牌再配合相应的出牌规则,可以建立出一个强大的《炉石传说》AI模型。在大会的PPT中,他公布了该工具的下载地址。但据Bursztein博士说,在正式公布之前,他给Defcon主办方发去的邮件似乎被传到了其他的一些地方,比如暴雪。
据Bursztein博士说,在Defcon上的演示之后,炉石团队和他进行了多次对话。暴雪方面认为,这样的工具将破坏游戏的平衡,同时也会减低游戏的乐趣。最终Bursztein博士做出了一个艰难的决定,删除了在Github上提供的下载链接,尽管他本人对此十分不情愿。
不过这样的研究对于游戏的整体进程有着很大的好处。一方面促使暴雪更加重视对于游戏回放等功能的研发,另一方面,相关的模型的简历也可以帮助炉石团队调整AI的难度,打造更有乐趣的单人冒险模式——不过虽然它很有可能不会再出现了。
附卡牌价值估算方法的简单介绍:
1 法力值与卡牌强度相称
2 卡牌强度是线性增长的
3 卡牌的效果有着直接的价值
4 一张卡牌有着固有价值
5 一张卡牌的价值是它所有属性的综合
一张卡牌的法力值(M)与卡牌属性(攻击力A,生命力H,冲锋C等属性以及固有价值i)存在等式:
M=αA+βH+i+..
比如冰风雪人(4费,4/5)和食人魔拳师(6/6/7),他们单位法力值的参数分别是1a+1.25h+i以及1a+1.17h+i,显然前者要高于后者。
而至于法术牌,伤害型法术牌的价值在于它所造成的伤害。法师火球术的参数为1.5,而炎爆术的参数为1。在了解这些之后,便可以开始估算卡牌的实际价值了。将卡牌的参数按照法力值消耗、攻击力、生命值、冲锋、圣盾、风怒……固有价值这样分类列出,然后对矩阵进行最小二乘法,算出一组标准系数的向量组,并且与每一张牌的参数构成的向量组求点积,得出一个初步的值。
比如,以A=1,H=-1,C=2,D(圣盾)=1,i=1为标准系数,银色指挥官(6费4/2,冲锋)的价值值为6。但与此同时,不同的属性的值还有其计算公式,比如冲锋的参数要用攻击力乘以冲锋系数获得。而每一项执行效果也要有不同的加成(比如沉默)。
在得到所有的值之后,通过计算线性回归的方式,便可以得出有哪些卡牌实际上是被低估的。比如持盾卫士(1/0/4,嘲讽)。更详细的内容,你可以从这份PDF中看到。