火花天龙剑 -> 精华区 -> GBA三作的实际命中率研究

<<   1   2  >>  Pages: ( 2 total )

worse&better 2006-06-22 01:38

GBA三作的实际命中率研究

      对于GBA三作的乱数有基本了解的人都知道,命中的判定需要消耗2个乱数,而不是我们所想象中的一个;而且也有很多人对于命中率做过测试,结果也都表明战斗信息窗口中显示的命中率与实际命中的频率存在着不可忽略的偏差。看来这个偏差应该是由于2乱数判定命中所造成的。

    首先定义一下后面将要用到的2个名词:

    理论命中率:战斗信息窗口中显示的命中率

    实际命中率:实际战斗中命中的概率

    注:原则上讲命中率应该是介于0~1之间的一个数值,这里为了便于大家的直观理解以及方便和乱数进行统一,叙述中常常提到的2个词为理论命中和实际命中,它们和游戏中显示的一样,为0~100之间的数值。

 

    下面将介绍Alucard所采用的测试方法:

1.确定在命中的判定中使用的2个乱数的具体数值

      已知圣魔中狙击手的“必的”特技判定是战斗中使用的第一个乱数,那么通过不断修改狙击手等级的方法就可以确切知道这第一个乱数的具体数值(比如30级的狙击手没发动“必的”,而31级发动,那么乱数就是30);连续运用此方法可以依次测试出所需用到的全部乱数。

2.测试2乱数如何判定命中率

      当我们知道了判定命中时所使用的乱数的具体数值后,通过修改角色的能力来调整理论命中值,直到找到一个临界命中值(比如理论命中为78时攻击命中,77时为攻击miss,那么77就是我们要找的临界命中值),然后通过临界命中值与乱数的比较后,发现临界命中值等于2个乱数的平均值!

    因此2乱数判定命中的方法为:

    如果 理论命中>(乱数1+乱数2)/2,那么判定攻击命中;反之判定攻击miss。

    注:除法的小数部分会舍去。

    以上是Alucard的测试所得出的结论,下面对这个结果进行一下分析。

    令average=(乱数1+乱数2)/2

    通常来讲我们可以认为乱数是服从均匀分布的,也就是说乱数的值为0~99的概率都相等,为1%,模拟产生10000个乱数,其分布大致如下:

    而对2个这样的乱数取了均值之后,直观的想象也会知道它的数值更容易在50左右,再分别模拟产生2组10000个乱数,取其均值,分布情况大致如下:

    可以很清楚的看到两种极端的数值很少出现,之后总结出实际命中的判定公式为(数学推导略^_^):

    实际命中=x*(2x+1)/100                      (x<=50)

    实际命中=100-(100-x)*(199-2x)/100    (x>50)

    式子中,x为理论命中,取值0~100

    实际命中,取值0~100

    当然一个数学式子看起来肯定会令多数人感到郁闷,所以下面干脆总结了一个理论命中率与实际命中率对应的表,同时进行了2组模拟:第三列是通过程序生成的伪随机数模拟了1000万次,给出了对应实际命中的频率;第四列则是从GBA的乱数表中取出连续的10000个乱数进行测试,给出了对应实际命中的频率,这两列模拟值也供大家参考:

理论命中率 实际命中率 程序模拟测试 乱数表测试
0% 0% 0% 0%
1% 0.03% 0.03074% 0.04%
2% 0.10% 0.10137% 0.13%
3% 0.21% 0.21045% 0.20%
4% 0.36% 0.36178% 0.40%
5% 0.55% 0.55251% 0.54%
6% 0.78% 0.78231% 0.78%
7% 1.05% 1.05589% 1.05%
8% 1.36% 1.36706% 1.25%
9% 1.71% 1.71892% 1.57%
10% 2.10% 2.11155% 1.93%
11% 2.53% 2.54281% 2.38%
12% 3.00% 3.01256% 2.73%
13% 3.51% 3.51983% 3.27%
14% 4.06% 4.07097% 3.79%
15% 4.65% 4.66434% 4.13%
16% 5.28% 5.29018% 4.66%
17% 5.95% 5.95889% 5.29%
18% 6.66% 6.66737% 6.08%
19% 7.41% 7.42156% 6.76%
20% 8.20% 8.21108% 7.62%
21% 9.03% 9.04155% 8.29%
22% 9.90% 9.91503% 9.16%
23% 10.81% 10.82690% 10.07%
24% 11.76% 11.77852% 11.16%
25% 12.75% 12.77024% 12.12%
26% 13.78% 13.79873% 13.25%
27% 14.85% 14.86698% 14.23%
28% 15.96% 15.98334% 15.31%
29% 17.11% 17.13541% 16.48%
30% 18.30% 18.32901% 17.48%
31% 19.53% 19.56181% 18.87%
32% 20.80% 20.83595% 20.22%
33% 22.11% 22.15153% 21.50%
34% 23.46% 23.49983% 22.91%
35% 24.85% 24.89771% 24.21%
36% 26.28% 26.33326% 25.87%
37% 27.75% 27.80115% 27.55%
38% 29.26% 29.30989% 29.05%
39% 30.81% 30.86392% 30.53%
40% 32.40% 32.45801% 32.06%
41% 34.03% 34.09230% 33.82%
42% 35.70% 35.76993% 35.44%
43% 37.41% 37.47713% 37.08%
44% 39.16% 39.22865% 38.74%
45% 40.95% 41.02162% 40.52%
46% 42.78% 42.84880% 42.45%
47% 44.65% 44.71423% 44.16%
48% 46.56% 46.62824% 46.21%
49% 48.51% 48.58414% 48.26%
50% 50.50% 50.56887% 50.00%
51% 52.47% 52.53738% 52.01%
52% 54.40% 54.47051% 53.96%
53% 56.29% 56.36575% 55.95%
54% 58.14% 58.21923% 57.88%
55% 59.95% 60.02256% 59.79%
56% 61.72% 61.79352% 61.49%
57% 63.45% 63.51847% 63.22%
58% 65.14% 65.21020% 64.81%
59% 66.79% 66.86027% 66.42%
60% 68.40% 68.46948% 67.97%
61% 69.97% 70.03801% 69.47%
62% 71.50% 71.56699% 71.22%
63% 72.99% 73.05266% 72.59%
64% 74.44% 74.49712% 74.05%
65% 75.85% 75.90488% 75.41%
66% 77.22% 77.26939% 76.88%
67% 78.55% 78.60344% 78.23%
68% 79.84% 79.88986% 79.52%
69% 81.09% 81.13782% 80.68%
70% 82.30% 82.34741% 81.90%
71% 83.47% 83.51864% 83.13%
72% 84.60% 84.65131% 84.07%
73% 85.69% 85.73382% 85.16%
74% 86.74% 86.78381% 86.22%
75% 87.75% 87.79143% 87.44%
76% 88.72% 88.75977% 88.25%
77% 89.65% 89.68472% 89.26%
78% 90.54% 90.56693% 90.24%
79% 91.39% 91.41762% 90.99%
80% 92.20% 92.22597% 91.83%
81% 92.97% 92.98957% 92.62%
82% 93.70% 93.71731% 93.40%
83% 94.39% 94.41074% 94.03%
84% 95.04% 95.05420% 94.71%
85% 95.65% 95.66271% 95.49%
86% 96.22% 96.23342% 96.07%
87% 96.75% 96.75933% 96.67%
88% 97.24% 97.24914% 97.25%
89% 97.69% 97.69771% 97.72%
90% 98.10% 98.10408% 98.12%
91% 98.47% 98.47311% 98.42%
92% 98.80% 98.80415% 98.85%
93% 99.09% 99.09257% 99.15%
94% 99.34% 99.33952% 99.31%
95% 99.55% 99.05033% 99.53%
96% 99.72% 99.71970% 99.75%
97% 99.85% 99.84892% 99.90%
98% 99.94% 99.93941% 99.96%
99% 99.99% 99.98996% 99.99%
100% 100% 100% 100%

        之后个人利用通信斗技场进行模拟战,在77的命中率下攻击200次,命中183次,miss17次,命中频率为91.5%,和表中推算出的89.65%的实际命中率大致相符(有兴趣的朋友也可以做做测试,看看和推算值是否相符)。

      最后对这个2乱数判定命中进行一下总结,从公式或是上面的对应表中,我们可以发现理论命中高于50时,其实际命中会高于理论值(比如理论命中率为70%,实际命中率却高达82.3%);而当理论命中低于50时则正好相反,实际命中会低于理论值。在实际战斗当中,我们所遇到的多数情况是,我方的理论命中高于50,而敌方的理论命中低于50,从而导致我方的实际命中更高,敌方的实际命中更低。因此2乱数判定命中的最终效果就是以一种不易为我们所觉察的方式来降低游戏的难度


luyiilike 2006-06-22 01:43
看完后感慨良多:命中率大于50%时,实效命中高于理论命中。

worse&better 2006-06-22 01:44
说明一下,2乱数如何判定命中的测试方法及结论均是由Alucard所提出并实现,我所做的工作是对这个结果进行数学意义上的分析,并给出了理论命中与实际命中间的对应关系。

DragonLord 2006-06-22 03:52
恩,有道理,以前一直感觉是60%高10左右,觉得这样的原因是调整偏低的命中率计算公式。

命运骑士 2006-06-22 04:18
其实我觉得这应该是个类似概率的问题吧??比如说以必杀率1%,2%发动必杀,相信谁都见多了,命中1%,2%的打中了,那就很少见了。因为很难想象两个1或2的乱数会老是一起出现
我记得我被敌人击中的最小命中是4%(惨痛的记忆),不过基本上,10%以下是很少能打中的

One2Free 2006-06-22 08:16
斗技场中暗魔的攻击命中老是不高不低50左右...
却还是命中的多.原来是这个原因啊.

hyllg1984 2006-06-22 08:26
楼主研究的好细腻啊

BRUNIA 2006-06-22 12:51
不愧是军师!
这样的FE研究已经到了研究生级了吧^ ^

孤月蒼夜 2006-06-22 13:01
既然命中是由两个乱数来判定,那么这结果也是必然的
这也是我初次玩烈火时会误把低于50%的命中率视为MISS的原因呐……

ORO_DeviL 2006-06-22 13:37
又是透过现象看本质的文章, 赞

kingzero 2006-06-22 14:46
研究的好透彻啊 佩服

Heero Rainie 2006-06-22 15:10
这个就是昨天晚上的工作?
苦力拉的是渣A啊?..........
一会来细读

baozhangming 2006-06-22 15:10
55~59的增加值相当高,以前就吃过这个苦头。

hct 2006-06-22 15:25
这个真是精华哦
对命中的判定可以变得更细致

DragonLord 2006-06-22 19:38
狂人快加精

自由龙骑士 2006-06-22 20:58
怪不得烈火2x命中总是打不着

Ring 2006-06-22 21:39
呼,还真把渣A的理论拿来实践了,做的时候头要晕了么?

worse&better 2006-06-22 21:51
下面是引用Heero Rainie于2006-06-22 15:10发表的:
这个就是昨天晚上的工作?
苦力拉的是渣A啊?..........
一会来细读

研究出2乱数如何判定命中的是渣A,我所做的是对这个结果加以数学上的分析;苦力还是我自己 [s:8]

worse&better 2006-06-22 21:54
下面是引用Ring于2006-06-22 21:39发表的:
呼,还真把渣A的理论拿来实践了,做的时候头要晕了么?

哪里,我对数学还是比较有信心的,这比考试要有趣的多

maomao 2006-06-22 21:54
技术贴
不太懂的说

cxmtyd 2006-06-22 22:35
强烈建议大家去学学概率,无论对于游戏还是对于实际生活都是大有裨益啊

lz置顶普及一下概率知识吧^_^

mosessophy 2006-06-23 00:04
用数学来证明看起来很不让人在意的现象真是很有感觉啊!
顶!!!

worse&better 2006-06-23 12:28
下面是引用maomao于2006-06-22 21:54发表的:
技术贴
不太懂的说

其实不懂也没关系,我觉得看看实际命中率那张表有个大致印象就行了,至少以后80以上的命中我基本可以放心的去砍了。

Heero Rainie 2006-06-23 15:42
下面是引用worse&better于2006-06-22 21:51发表的:

研究出2乱数如何判定命中的是渣A,我所做的是对这个结果加以数学上的分析;苦力还是我自己 [s:8]

原来这样,辛苦辛苦...
对了军师,我问下,你平时高数多少?

熊猫酒仙 2006-06-23 16:19
昨晚竟然梦到了自己玩封印的同时在想这帖的理论......

阿拉卡 2006-06-23 20:52
…………拜神!!!
不过始终对95%以下的命中不敢放心,RP太差了啊~~

天蝎猫 2006-06-24 09:41
关于概率的问题我从来都不看数据
我更倚望自己的RP

无德小强 2006-06-24 09:56
看完之后有个想法:那些99命中但是没打到的是不是太倒霉了。。。。。。。

DragonLord 2006-06-24 11:12
概率是很难的东西,并不全是我们口头上从几个东西里面抽取几个东西,概率是多少的问题。
这种问题不是概率论主要研究的部分。
没有大学的数学基础,学不了的。

haiyi 2006-06-24 11:24
到了大学都要学线数,到时就觉得不是件容易的事了

worse&better 2006-06-24 17:59
下面是引用2641483于2006-06-24 09:56发表的:
看完之后有个想法:那些99命中但是没打到的是不是太倒霉了。。。。。。。

GBA上我是从来没遇到过,估计也没什么人遇到吧……遇上的话可以买彩票了

worse&better 2006-06-24 18:02
下面是引用DragonLord于2006-06-24 11:12发表的:
概率是很难的东西,并不全是我们口头上从几个东西里面抽取几个东西,概率是多少的问题。
这种问题不是概率论主要研究的部分。
没有大学的数学基础,学不了的。

这实际命中率的公式推导倒还算简单,因为乱数是0~99的离散值,所以用古典概率模型就可以解决了。

mike_308 2006-06-24 22:29
精品贴!运用数学原理简单明了的解释了问题.值得学习!

椋瓊 2006-06-24 23:21
汗,这里达人好多,看到很多类似这种某某研究的帖

炎之魔神 2006-06-25 10:57
这个现象记得测乱数方法刚出来时666大仙提过
问题是,GBA三作的乱数是伪随机数,有乱数表的,所以和这贴中的情况还是有区别的

dain 2006-06-25 11:08
好美的曲线图啊
终于明白了当时我75%的命中怎么还能频频命中的
攻城的那几关,对方的远程魔法怎么说都是在40%左右哦徘徊,我一样的闲庭信步的走到他们面前!

孤月蒼夜 2006-06-25 11:09
下面是引用worse&better于2006-06-24 17:59发表的:

GBA上我是从来没遇到过,估计也没什么人遇到吧……遇上的话可以买彩票了

[举手]
我一般都把90%+当成必中,所以遇到这种情况是很郁闷+惊喜的……

worse&better 2006-06-25 11:34
下面是引用炎之魔神于2006-06-25 10:57发表的:
这个现象记得测乱数方法刚出来时666大仙提过
问题是,GBA三作的乱数是伪随机数,有乱数表的,所以和这贴中的情况还是有区别的

只要这伪随机数基本上是服从均匀分布的,比如系谱的这张(不知道GBA几作有没有统计过):
cvurl('http','://www.pegasusknight.com/mb/fe4/et_rand2.html')
那么我相信有大数定理保证这个区别基本是可以忽略的,就像你可以认为必杀的概率和必杀的计算公式得出的结果基本相同一样。

PS:其实想验证这个区别的最好方法就是大量实验。

maxumi 2006-06-26 11:01
下面是引用worse&better于2006-06-24 17:59发表的:

GBA上我是从来没遇到过,估计也没什么人遇到吧……遇上的话可以买彩票了


看来我错过了买彩票的最佳时机XD

brave 2006-06-26 14:46
封印
困难模式与普通难度下
所用的修正公式不一样
楼主试试便知
困难模式下
40+%
的命中率实际上远高于40+%

kingzero 2006-06-26 15:05
问楼主个问题: 实际命中跟人物的运有没有关系呢?比如说有2个人物的理论命中都是50%, 一个人物幸运满 一个幸运为零,那么他们的实际命中有没有差别呢?

navydern 2006-06-26 15:28
恍然大悟!

勇者罗兰812 2006-06-26 15:46
怪不得偶的摩达被石化女妖的魔法2%的命中都石化了

xelloss_shuu 2006-06-26 16:41
其实以前一直对概率学毫无好感,近来才逐渐对其刮目相看
真是伟大的文,不错的测试方法,佩服研究者的毅力
顺便一说,本人在gba三作中有98%命中miss的经历,真可怕

xelloss_shuu 2006-06-26 16:44
to 40 楼:
应该没有,因为命中已把运计算进去了
命中率 =装備武器的命中率+技×2+幸運÷2+支援効果+武器相性修正 [%]

mosessophy 2006-06-27 00:15
下面是引用brave于2006-06-26 14:46发表的:
封印
困难模式与普通难度下
所用的修正公式不一样
楼主试试便知
困难模式下
.......

不懂

迪菲亚 2006-06-27 08:42
是不是一次攻击命中的概率和多次攻击(假设100次)命中的概率之间有个感官的区别.
我的意思是如果你只攻击一次,只要打中都算100%命中(假设).那么在你整体的攻击次数中,此次攻击命中率就是100%(如果10%的命中也打中敌人就算100%)

我们知道如果系统提示50%命中,自己测试10次的话可能5中5不中,更多可能是4中6不中,或相反.
但整体攻击次数是不能确定的(我可以只攻击1次,我也可以攻击1000次)
假设我命中率50%,那么我攻击1000次,理论上500次命中,500次MiSS是符合逻辑的.

我想提的问题出来了,这500次命中和MISS的先后顺序分布是一个问题,(可能1次间隔1次,也可以先500次MISS,再500次命中),对于整体1000次攻击的命中来说,都是50%命中.
那么对于后一种不对称的结论(我只是举了极端的例子,但1次间隔1次同样也是一种极端),是否就是我们在整体次数少的情况下的变异呢?
我认为只要整体次数(就是测试次数)越多,这个顺序间隔越平均!但我们在一次游戏时间内是不可能达到那么多的实验次数的,所以相对来说人为感觉就要占了主观了(也就是LZ所说50%以下命中实际更低,50%以上命中实际更高)其实就是整体1000次(假设)攻击中,我们只用了100次甚至只有10次,那么系统提示的50%命中(假设)就让我们感觉不准确了.
以上纯属个人YY,感官行事而已,对于理论,偶更偏向实际.

星划月破 2006-06-27 12:42
原来烈火中 显示15%的命中率只有4.65%。。。晕啊,
我就奇怪昨晚我 郝克托耳15%的命中率打封魔者,怎么凹了20多下就一下都没中呢?

worse&better 2006-06-27 16:14
下面是引用迪菲亚于2006-06-27 08:42发表的:
是不是一次攻击命中的概率和多次攻击(假设100次)命中的概率之间有个感官的区别.
我的意思是如果你只攻击一次,只要打中都算100%命中(假设).那么在你整体的攻击次数中,此次攻击命中率就是100%(如果10%的命中也打中敌人就算100%)

我们知道如果系统提示50%命中,自己测试10次的话可能5中5不中,更多可能是4中6不中,或相反.
但整体攻击次数是不能确定的(我可以只攻击1次,我也可以攻击1000次)
.......

我想你混淆了2个概念:概率(probability)与频率(frequency)

频率就是N次实验中事件发生的比例,比如你买1次彩票,中奖1次,那么你中奖的频率为1;

如果你买1000次彩票,中奖1次,那么你中奖的频率是0.001;

而对于概率的一个简单理解就是事物发生的可能性,它和实验的次数无关,当实验的次数趋于无穷大时,频率会收敛于概率。

你所提到的问题实际是一个频率的问题,实验次数较少导致频率和概率之间存在区别,这是很正常的事。

我所提出的实际命中率是一个概率的问题,公式是从纯数学的角度进行推导的(因为乱数是0~99的离散情况,所以采用的是概率统计中的古典概率模型,不然需要使用微积分),与实验无关;实验的结果是用来检验我的理论是否与实际相符的。而不是根据实验的数据总结出一个经验公式。

无用之斧 2006-06-27 18:00
唉... 理论,又是理论,看的偶真是头疼啊!


查看完整版本: [-- GBA三作的实际命中率研究 --] [-- top --]


Powered by PHPWind v3.0.1 Code © 2003-05 PHPWind
Gzip enabled

You can contact us