3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

打印 上一主题 下一主题

[分享] 【中高级蓝翔技校实战指导】(实测)常规技能发动率按算术加法叠加

  [复制链接]

69

主题

2055

帖子

3831

积分

云游仙境

Rank: 12Rank: 12Rank: 12

贡献度
121
金元
33069
积分
3831
精华
4
注册时间
2015-4-13
跳转到指定楼层
主题
发表于 2015-4-13 13:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我又来了,今天招募价格刷新,然后我抽到了很多 价(háo)廉(wú)物(yì)美(yì) 的人物。


于是我把限发动一次的吕布去掉,再来做一次实验。上次的试验帖我过会儿去删掉。


实验目的:
测试技能发动率的计算方式。


实验猜想A:普通技能满足发动条件时发动率按概率乘法叠加
实验猜想B:普通技能满足发动条件时发动率按算术加法叠加


实验材料:
【1】主角装备宿命锻铁锤,24%无条件发动
【2】3只长弓射手,每只7%无条件发动
【3】路西法,13%无条件发动
【4】赵子龙,12%无条件发动
【5】黑色屠杀者,12%无条件发动
【6】大天使米色尔,4%无条件发动
【7】赤眼阿菲德,14%无条件发动
以上共9人,不触发任何组合技

以上9人,发动率算术加和为100%
以上9人,若按概率乘法,所有技能都不发动的概率,也即普攻概率为
0.76 × 0.93 × 0.93 × 0.93 × 0.87 × 0.88 × 0.88 × 0.96 × 0.86 = 34%


实验步骤:
自己与自己对战,记录每回合技能释放及普攻情况。




实验记录:
致命挥舞-11111-11111-11111-11111-11111-11111-11111-11111-11111-11111-11
要害射击-11111-11111-11111-11111-11111-11111-11111-11111-
末日燃烧-11111-11111-11111-11111-11111-111
流星★突-11111-11111-11111-11111-1111
静脉切割-11111-11111-11111-11111-11
天使一闪-11111-1
噩梦凝视-11111-11111-11111-11111-11111-111
普通攻击-


实验统计:
总回合数-200回合
致命挥舞-52次,占26%
要害射击-40次,占20%
末日燃烧-28次,占14%
流星★突-24次,占12%
静脉切割-22次,占11%
天使一闪-06次,占03%
噩梦凝视-28次,占14%
普通攻击-00次,占00%


实验总结:
如果说猜想A是正确的,那么本该 34% 概率出现的普攻却连续 200 次没有出现。
这种情况发生的概率仅有
0.66^200 = 8/10000000000000000000000000000000000000
(即10的37次方分之8)
所以结论是,猜想A是错误。猜想B是正确。
也就是说,10 只 Saber 无普攻。

其实这是很早就有的结论了,只是我一直不信。



结果昨晚在群里看到有人讨论组合技能发动的问题,扯到了常规技能的发动率上。


有人告诉我就是加法叠加,我打死不信,难道我概率和编程是白学的吗?


于是我自己就来做实验了。


最后成功将自己打脸。




说白了还是程序员怎么编程的问题。
一般来说,如果要我来写,我肯定会写成这样:
从首位英雄开始依次往后。
若有满足发动条件的技能,则进行发动判定,掷骰一次。
(比如发动率10%,就产生0-99随机数,若为0-9则发动,其余值则不发动)
若发动则回合结束,若不发动则向后移位,对下一个满足发动条件的技能进行发动判定,掷骰一次。


如果是这样的话,那就是概率乘法叠加了。两个10%发动的技能总发动率会是19%。


但是事实上程序员不会这么写。因为这样写,每回合战斗,为了判定一支队伍是否发动技能、发动哪个技能,都要进行多次掷骰。
而整个服务器运行过程中,发生战斗的次数、总回合数是非常多的,这样每回合都进行多次掷骰与判定会给服务器增加很大的负担。


所以实际上程序员采用了这种算法:
从首位英雄开始依次往后。
若有满足发动条件的技能,则对应它的发动率,给其分配判定值。
(比如有两个10%发动率的技能,那么给第一个分配0-9,第二个分配10-19)
若所有满足条件的技能都分配了判定值,还没用完100的话,剩下的分配给普攻;
(比如有两个10%发动率的技能,那么给第一个分配0-9,第二个分配10-19,普攻分配20-99)
若100已经分配完毕,则排在后面的溢出发动率不加入判定。
(比如有三个60%发动率的技能,那么给第一个分配0-59,第二个分配60-99,第三个不分配)
分配结束后,一次掷骰,产生1-100随机数。
按照随机数判定释放那个技能或普攻。


使用这样的算法,每回合只用进行一次掷骰。服务器负担减小的不是一点两点。


这样一来,技能发动率就成了算术加法叠加,两个10%发动的技能总发动率会是20%。
也就是 10 只 Saber 无普攻。


而且也可以看到,只要发动率不溢出,英雄排列顺序对发动率而言,事实上是毫无意义的。
1楼的实验统计也证明了这一点。
英雄排列顺序只对于发动率溢出的情况有意义而已。
比如上面的例子,如果你有两个60%的技能摆在最前面,那么第一个发动率是60%,第二个是40%,摆在其后所有技能全部不发动。


最后,本实验刻意规避了组合技能(事实上我平时是4弓手队),因为组合技能的发动需要再进一步讨论。

其实34%的假设普攻率,统计50回合没出普攻就基本能否定这个假设了。不过我比较无聊所以直接统计了200回合。
值得一提的是,在我测试的过程中,发生了两件非常有趣的事情。


当然肯定不是蹦出一个全身是蓝猫品牌产品的光头吴克啦,我又没去秦皇岛和石家庄。
╮(╯▽╰)╭


一件事情就是昨晚测试,为了凑足100%算术和的发动率,我把金币抽、徽记抽都抽到没法再抽了,还是不够发动率,如果花碎片换神殿里的也不够,于是只有上一只紫的吕奉先。
技能是30%发动,仅限一次。
所以昨天做实验时规定,只要任一方的吕布发动了技能,本场战斗其后的所有回合数全部作废,不加入统计。
这样是可行的。
昨天统计了79个有效回合,也是没有普攻。
但是总归是不放心,于是今天招募价格刷新之后赶紧抽了十几发,重新做了实验。


另一件事情就是今天早上我做实验时,一开始主角是拿的崩山槌,25%无条件发动,然后赤眼阿菲德本来是用的静怡守卫,13%无条件发动,发动率算术和也是100%,乘法假设算出的普攻率有33.946%。
结果统计到第50多回合时,居然出了一次普攻。
我当时愣了,都不知道怎么解释,但是细想之后觉得,肯定是某个人的发动率有问题。
因为就算加法假设是错的,那也不至于50回合才出一次普攻。
结合昨晚的测试,我觉得应该是主角的问题。
于是把崩山槌换成了锻铁锤,静怡守卫换成了赤眼阿菲德。
进行200次统计没有出现普攻。
所以其实是主角的崩山槌发动率,说明显示25%,实际上是24%或者更低,使得队伍实际发动率之和没有达到100%,才会在50多回合时出现了一次普攻。


换了之后做实验就是今天1楼的结果了。


那么就是这样。如果不相信的话,那不妨自己凑一队发动率之和为100%的卡试一试,不过一定不要让主角拿崩山槌。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-4-11 16:26 , Processed in 0.027809 second(s), 16 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表