对于圆桌理论和经典概率判断算法的分析(转)

本文深入分析了概率论算法与圆桌理论在游戏战斗场景下的应用,并通过实例说明了两种算法的优劣与适用场景。重点探讨了闪避效果对战斗结果的影响,以及如何通过装备属性平衡来调整不同属性的优先级。同时,文章还提出了对Blizzard(暴雪)所采用判定方法的猜测与验证,最终结论强调了算法在游戏设计中的重要性和平衡性考量。
摘要由CSDN通过智能技术生成
作者:sewalker
来源:http://wow.17173.com/content/2008-04-16/20080416112747089.shtml


《QS区精华贴读后感:面对战士,我们开闪避带来的是什么?》一文显然引发了一场争论,可以清楚地看到某些玩家坚持原则上的概率论算法,而某些玩家坚持“圆桌定律”,经过了思考和总结后,发现两者并不存在谁对谁错的问题,毫无疑问,都是物理上可实现的(有许多统计学原理是不能够物理实现的),而且更重要的是,各存在优劣,再次将两种判断方法逐一举例说明,并说明其优势和劣势。


一,经典概率论算法
   
   首先我们确定研究的样本,假设有一个战士对于他的目标作出了一次攻击动作,出于简化命题并使之通俗易懂的原理,我们不考虑过多的可能性,我们只考虑躲闪,招架,攻击命中造成普通攻击,攻击命中造成致命攻击四种情况。

   目标的躲闪几率……20%
   目标的招架几率……5%
   战士的致命一击率……30%

   
   在上述条件下,我们可以看到的击中结果有如下几种:
1,目标躲闪此次攻击,几率是20%

2,目标招架此次攻击,几率是(1-20%)*5%,(因为如果出现了躲闪,那么此次攻击的结果被归类为被躲闪),计算得到的值是4%,要低于目标的原始5%招架几率

3,目标无法躲闪或者招架此次攻击,几率是1-20%-(1-20%)*5%=76%(也就是说去掉出现躲闪的几率和去掉出现招架的几率,注意此处两者并没有重叠部分,所以这个计算是合理的),那么在这76%的命中几率中:
   致命一击占76%*30%=22.8%,小于原始30%致命一击率   
   普通攻击占76%*70%=53.2%
最终运算结果是:   
   出现躲闪字样   20%
   出现招架字样   4%(小于5%)
   出现致命一击   22.8%(小于30%)
   出现普通攻击   53.2%


将所有可能性加在一起,20%+4%+22.8%+53.2%=100%,结果是合理的,可以涵盖整个并且不超出样本范围,是物理可行的算法。

当然,这里的优先级别可能有所出入,比方说先进行招架判断再进行躲闪判断,那么最终招架几率是5%,而最终躲闪变为(1-5%)*20%。

可是不管优先级别怎么样排列,处于低级别的判定因素在计算其最终出现几率时,都要乘以(1-n%)的因子,使之低于原始几率。这对于各种因素来讲就造成了不平衡。

比方说,在上述的例子中,目标每提高躲闪1%,就能实实在在的提高1%的几率不被战士攻击到,然而当你提高1%招架的时候,只能提高(1-躲闪几率)*1%的几率不被战士攻击到,受到了衰减,要低于1%,所以相对来说,提高躲闪可以得到更多的收益。在优先级列表中越是靠后的属性,受到的衰减越严重,也就越不平衡。

那么,综上所述,使用传统的概率论算法来进行判定,好处在于,无论如何都会得到可行的结果,最终各种情况所占的比例加起来可以涵盖到并且只能涵盖到一个样本范围,在物理上可行。而坏处在于,逐级判定对于各个属性引入了优先级别概念,使各个属性有了优劣之分,不能平等的影响最终出现的结果。但是,这个结果非常容易平衡,只要在装备属性上将提高不同属性所需要的物品等级加以区别(也就是俗称的分值),就可以起到调整的作用,为什么1%躲闪和1%招架所需要的分值不同?可能就是为了平衡优先级

   考虑开了闪避的情况:
   目标的躲闪几率……70%(20%+50%)
   目标的招架几率……5%
   战士的致命一击率……30%

   最终计算的结果是:
   出现躲闪字样   70%
   出现招架字样   1.5%(减少了3.5%,约为自身2/3)
   出现致命一击   8.55%(减少了15.25%,约为自身2/3)
   出现普通攻击   19.95%(减少了33.25%,约为自身2/3)
   
   结果依然合理,大量增加的躲闪几率受到后面的各个因素分摊,使得出现招架,出现致命一击和出现普通攻击的几率相互之间能够维持一个比较稳定的比例,这使得传统概率论算法对于某些属性的突变具备更强大和更公平的平衡机制,这是传统概率论算法的另一个优势。

二,圆桌理论算法

   起初我认为圆桌理论算法是荒谬的,因为我无法理解为什么圆桌理论要为了让所有属性不受影响的反应出原始出现几率而牺牲掉其中某种因素,使之呈现出完全依附于别的属性的,不可预测的特性(也就是大多数圆桌理论者津津乐道的吃完普通攻击吃致命一击),可是经过思考后,我发现这正是圆桌理论的优越之处。

   对于同样的例子:
   目标的躲闪几率……20%
   目标的招架几率……5%
   战士的致命一击率……30%


   圆桌理论的算法是:保证每一个影响因素都能在统计中呈现出原始的出现几率,以普通攻击填充样本中没有被覆盖到的部分。

   结果几乎不需要进行运算:
   出现躲闪字样的几率   20%
   出现招架字样的几率   5%
   出现致命一击的几率   30%
   出现普通攻击的几率(1-20%-5%-30%)=45%


   我们可以看到相对于传统的概率论算法只有第一个被考虑的因素能反应出原始出现几率的特点,圆桌理论所计算出的结果中,几乎所有被考虑的因素都能够直接在大量的攻击中表现出原始的几率,不存在优先级造成的衰减因子,而作为唯一的牺牲品,普通攻击的出现几率完全依附于其他的因素,也即相当于,将躲闪,招架,致命一击处于同一优先级,而普通攻击作为最低级的因素存在。

   同时牺牲了普通攻击的优先级后,我们发现结果是合理的100%,为了证明他的可行性,我可以举出一种可行的判断方法:系统考虑了目标和战士的各个属性后,生成一张表格(也可以说是数组),1-20号元素代表躲闪,21-25号元素代表招架,26-55号元素代表致命一击,56-100号元素代表普通攻击,判断结果的时候只要生成一个随即的1-100的数作为指针的指,即可按照相对的元素内容来判断结果,这个判断方法完全可行并且准确反映了圆桌理论的运算结果
   
   所以我们可以看到,在这个例子中,圆桌理论的结果也是100%,物理可行,同时相对于传统的概率论算法,圆桌理论以牺牲普通攻击(当然后面会讨论到其它情况下对其它属性的牺牲)的方法,使得每一个元素都能准确地按照其原始出现几率反映在样本中,其余因素中不存在优先关系,也不存在衰减因子,这是圆桌理论的优势,以一种近似于统计统筹的方法来平衡元素使之合理,而不是依靠单纯的概率理论来维持其合理性

   看似圆桌理论是平等的,只牺牲一个因素就能保证其余因素的公平公正的优秀方法,但是事实并非如此,这里就要探讨吃完普通攻击吃致命一击的问题了很明显,当各种因素的出现几率增加的时候,会出现普通攻击即使全部被牺牲掉,也不能满足结果100%的合理性要求的情况。这种情况下,就要有另一个因素作出牺牲,以维持算法的物理可实现性,举个例子:
   
   目标的躲闪几率……70%(20%+50%开了躲闪)   
   目标的招架几率……5%
   战士的致命一击率……30%

   
   此时按照刚才的圆桌理论算法结果为:
   出现躲闪字样的几率   70%
   出现招架字样的几率   5%
   出现致命一击的几率   30%
   出现普通攻击的几率(1-70%-5%-30%)=-5%
   
   很明显,是不合理的,所谓的-5%无法反映在实际的物理器件和自然界之中,所以造成这个结果不可能有相匹配的算法来实现。
   
   所以,为了使圆桌理论能够在任何情况下保持其可实现性和合理性,只靠牺牲普通攻击是不够的,这里我们需要牺牲致命一击的属性,将最终结果调整为:

   出现躲闪字样的几率   70%
   出现招架字样的几率   5%
   出现致命一击的几率   25%(30%-5%)
   出现普通攻击的几率   0
   

   使之合理。

   那么,随着属性的增加,也就要继续吃掉其他属性,例如当躲闪提高到90%,招架提高到15%的时候,会出现如下的属性:
   出现躲闪字样的几率   90%
   出现招架字样的几率   10%(15%-5%)
   出现致命一击的几率   0%
   出现普通攻击的几率   0%

   
   这一次,作出牺牲的是普通攻击,致命一击还有招架,其中致命一击已经完全被牺牲掉,这对于结果的公平性是很大的负面影响。
   
   那么,现在可以看出圆桌理论的全部特性了,也就是说,在属性的某一特定的变化范围内,牺牲特定的属性,使得其它属性能够体现出原始的出现几率,优点是在所能够反映出原始几率的这些因素中保证互相平等,在体现出0%几率的元素中保证互相平等,缺点在于,仍然引入了属性的优先级,只不过这个优先级是分为三级,第一级的所有元素可以不受影响的反映出原始出现几率,第二级元素受到第一级元素的极大冲击和制约,但是仍然能够体现出一部分原始属性,第三级元素则完全被牺牲掉,永远不会发生,对于他们完全不存在公平性可言。换句话说,对于某一属性的突发猛烈变化,圆桌理论的协调方式是残忍而且不公平的(它会无条件的使某些因素永远不会发生),这毫无疑问不够和谐(orz一个),是一个极大的劣势。

三,对于blz所采用的判定方法的猜测和举例验证

   测试结果基本是符合圆桌理论的,在一个闪避17%的dz开闪避后,我25%致命几率对他造成的平砍伤害……只要能造成伤害,全部是致命,在几次实验中没有出现例外,当然也可能我的运气太好了,(而我的闪避26%开了闪避后他基本没能伤害到我),这里只考虑了平砍伤害,受到双手持武的影响miss率+躲闪率+招架率基本已经吃光了普通攻击伤害。

   我本想上传其中一次实验的结果(这次命中的最多),但是大小不允许,我正在编辑图片,所有闪避状况下我造成的平砍全部是致命一击,我想的确是采用了圆桌理论进行判定,我要为之前不负责任的言论道歉。

 另外感谢加精,家里突然断网,这两天都没能上游戏我会尽快缴费,不过依照目前的实验结果来看,基本能够保持未命中〉躲闪〉招架,当躲闪堆的足够高的时候,未命中增加的时候基本能够在结果中反映出来。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值