朝神毕业论文:关于炉石传说随机概率

来源:18183 作者:朝神 时间:2016-01-28 分享到:

炉石传说以来一直觉得自己水平还不是那么太烂,但也没写过啥攻略之类的,以前爱打竞技场,每个月基本上了传说也不怎么打天梯,冲个排名却月月打个100多名没法在榜单上露脸好装逼。

朝神毕业论文:关于炉石传说随机概率

最近呢就爱瞎组一堆逗逼卡组,去天梯各种找虐偶尔直播,但总感觉对炉石也没啥贡献,没弄个中外炉石第一人(cai)的美名对不起自己,所以想想就写点东西吧,写完这个估计也不写别的了,总不能写自传吧,所以尽量写的好点不留遗憾。

这文章主要是一个菜鸡对炉石传说这个游戏一些乱七八糟的想法,希望可以对大家理解游戏有所帮助。

第一章:概率与随机

炉石是一款运气游戏这好像是大家的共识,这游戏到底是不是运气游戏我们以后再探讨。所谓运气游戏就是说这游戏充满了各种随机性、起手、摸牌、飞刀、25仔、奥弹、传送门、砰砰博士的两个蛋蛋各种随机性。

经常有人问我说炉石里啥啥概率怎么算?这类问题最经典的就是奥弹打死精灵龙的概率。这个问题起源于炉石刚内测时法爷的强大,大家纷纷带精灵龙针对,当时贴吧漫山遍野的问这个问题以及求削弱精灵龙。

OK,我稍微回答一下这个问题好了,当然我们假设对面英雄血量超过3,对方场上只有精灵龙,己方场上没有法伤火妖之类的牌。最简单的求法是你假设精灵龙有3血或者更多,但是只要受2点伤害就会死 由于精灵龙吃到2发奥弹后无法再吃,这个假设是不影响求解的,于是奥弹打脸0或1精灵龙死,打精灵龙0或1则不死,由对称性这答案是二分之一,不需要1秒就能算出来。

对于经常得到的3分之一、7分之3,我只想说用乘法原理这种答案在0.00001秒内就可以排除。

下面这段写给高中生学概率论第一章的大学生以及所有感兴趣的玩家,我尽量说的详细保证人人都能看懂。

我们稍微复杂一下问题:万一场上有血法(没有用狗头代替)、蓝龙、火妖、丛林枭兽、伟伦的恩泽 、年迈的法师buff过的,对面万一是欢笑姐妹、姐夫、黑暗教徒圣殿加过血或进行过随从交换。你丢的万一是机关枪或者10费的那张不知道啥玩意。

总之就是对面场上有且只有一个n血的随从,你打了一发随机m点的伤害,对面英雄血量足够多(就是大于等于m 小于m的有兴趣自己算)打死那个随从概率是多少?当然m到大于等于n,不然就是0。

我们分析一下这个问题:

一发随机伤害打出去,打脸打随从各是二分之一;如果随从死亡了,那只能以概率一打脸,因此不需要计算分母肯定是2的幂。

然后我们考虑随从在第几发后刚好死亡,设为k,这个k大于等于n,也就是说k发之前各0.5打脸打怪,之后只能打脸,发生这事概率为2的k次幂分之一 。

这样的事件有多少呢?就是前面的k-1发有哪n-1发打怪了,所以是组合数(k-1 n-1)这个乘以2的k次幂分之一,再从n到m进行sigma求和就是答案。

如果我算错了欢迎大家指正,毕竟我数学不太好,关键不能误人子弟。

但是上面的答案是对的吗?其实严格上来说不对,哪里错了?关键在于奥弹打脸打怪是不是真的是二分之一。

所谓的随机只是数学上的第一定义而已,一般对于古典概率空间,认为这些事发生的概率相等。然而到目前为止现实中并没有纯随机的例子,你就算抛硬币也是由硬币的造型,你的力度、空气的阻力、抛下的高度等等决定的,随之而来的问题是:电脑也没法产生随机事件。那么炉石是怎么决定你开的卡是金橙还是白卡?你起手摸的是肉酱还是伊瑟拉?奥弹干的是脸还是怪呢? 伪随机数就是一列0到1之间的数,伪随机数有很多的产生办法。我也只是略知一二,大家初中高中数学书后面会有的什么随机数表就是最简单的伪随机数。伪随机数就是大家说的发牌员

比如程序员可以写这随机数在0到0.5之间打脸0.5到1之间打怪,什么区间摸知识古树什么区间摸咆哮等等。

这样就有一个几乎可以忽略不计的问题,一般而言其实你摸树人和摸咆哮的概率是不一样的(这个例子可能不对 取决于摸牌的程序是如何实现的,至少奥弹打两个精灵龙就会有这个问题)。因为计算机精度有限无法保存无限小数,所以对于因子不止2和5时就会出现不等可能的情景,但这个差距小到可以忽略。

最大的问题和最大的机遇在于下面

刚才说过伪随机数有很多产生办法,但是有个长度 这个长度之后就出现了循环(这就是为什么大家总说这局我看过的原因)。不过据说现在的数学已经可以做到这个伪随机数列足够长到一个人在有生之年几乎无法用完这个数列,但炉石用的是啥我就不知道了。

如果炉石用的是个固定的伪随机数列,那么好当两个会玩的人对战时,发牌员决定好了所有的牌序(如果牌序是游戏开始之前就决定的话)。

然后之后所有的随机事件,所以胜负几乎是决定好的(我们以后会说到只要是“会玩”的那么胜负就是决定好了)又发现不对,有随从站位和出场顺序的影响。

我们只是一步步去实习那么开始就设定好的事情,你可以影响的只是改变随机事件发生的时间来扭转胜负,同时随从的站位和出场的先后顺序将至关重要!如果奥弹飞刀的目标是根据随从位置来标记时,站位将是关键。如果是根据随从出场顺序来标记的,先摇报告再下收割机还是先下收割机再摇报告又是关键,考虑到有个亡语结算的问题,我更相信是后者,所以不要随便怀疑别人的出牌顺序,说不定人家是看穿了发牌员!

但是如果炉石用的是别的伪随机数时,比如我知道c语言里有个由当前时间决定种子的伪随机数时,会有一个天大的机遇。想想暴雪的程序员知道随机数是怎么个顺序,然后伪随机数是怎么转化成伪随机事件的,那么他可以在恰好的时间开包、包包出金橙、可以奥弹想打脸打脸想打怪打怪、元气弹发发打20。这游戏真不知道怎么输。细思级恐,所以烧绳是有道理的,捏着连环爆裂祷告也是有道理的,因为这样可以改变伪随机数种子而致胜。

说了这么多其实都是废话,我们都不知道炉石的源代码。在我们不知道的这个条件下就是原来的古典概率空间,问题还是这么简单,上面算的概率都没有任何问题。

既然如此像文章开头快速计算至少是估算简单的概率是非常重要的,因为在这种充满随机性的游戏里 你必须选择使自己获胜概率最大的方式进行游戏。例如大家几乎每局都可能面对的如何处理砰砰博士的两个蛋蛋,这也就是暴雪爸爸经常说的虽然随机但是却可以体现技术的所在,然而我觉得这句话非常片面。概率和随机就写到这吧,剩下的以后再写。

PS:小k离朝神,只有一个清华的距离。

相关热点:

炉石传说朝神百科 中美对抗赛一战封神

朝神和朝神的女朋友多张萌照欣赏

免责声明:文中图文均来自网络,如有侵权请联系删除,18183手游网发布此文仅为传递信息,不代表18183认同其观点或证实其描述。

相关内容

炉石传说

游戏类型:卡牌游戏

游戏语言:简体中文

礼包论坛专区

特征:宅男,奇幻,单机

开发:

传奇开服表

现在居然还能靠玩传奇打米?赶快叫上兄弟们一起来打米吧

为传奇玩家推荐真的能打米的传奇游戏、传奇页游和传奇端游,想要什么样的传奇游戏这里全都有,赶快叫上自己的好友们开启新一轮的热血传奇吧!
查看原文》》
18183
游戏下载 礼包领取 游戏助手