//没登陆

欢迎您来到凯恩之角,奈非天!

帖子:144

符文:3

跳转到指定楼层
1#
发表于 2012-11-11 22:21:23 |只看该作者 |倒序浏览 来自:法国
本帖最后由 jarszm 于 2012-11-16 22:35 编辑

纯吐槽这个"技术帖":
[技术贴][技术宅改变世界]非工科慎入!关于技能百步穿杨收益计算方式http://bbs.d.163.com/thread-172401753-1-1.html

我先说说我的结论:
1.该文的计算方式错误,已经不能用误差来形容。

2.该计算方式产出数据(等效暴击率)与真实数据差距有0.75%以上,影响甚大。

3.百步的站桩输出等效爆率提升非常低,按目前普遍40+爆率,接近2攻速来看,等效爆率只有2%左右。

4.在等效爆率这么低的情况下,根据这个去取舍用不用百步纯粹蛋疼,大概变化就像从2%提升到2.2%.who cares?

5.所以百步存在的意义不是站桩,而是为了取得高爆的先手。

下文从浅到深,先简单说理,正规的数学推导放在最后,不想看的话只看前面的就可以了。

先说说3,这里有一个别的论坛的参考贴,是别人用真实模拟的方法测出来的,效果会比较准确(注意该模拟为了方便假设百步每秒增加5%爆率):
http://bbs.ngacn.cc/read.php?tid=5335893
从那里可以看到,在攻速不高的情况下,每秒增加5%爆率在基础45爆的情况下等效约3%爆。所以说如果按真实情况每秒增加3%爆的话,等效2%爆左右是比较合理的推断

为什么会这么低?
因为按照主流数据(为方便计算按50%爆,1.8-2攻速算),在百步重置后的第一秒内(此时无加成)可以放出两箭,这两箭有75%(1-1/2*1/2)几率至少出一次爆,百步又得重置了。只有25%概率进入第二秒享受加成,而第二秒内至少能射两箭,出爆的概率有75%。也就是说93.75%(=1-25%*25%)的情况下,百步在两秒内重置,射出去四箭里有最多两箭享受到3%爆率的加成,所以平均提升只有1.5%(当然要往小的算就是0.75%,假设只有一箭享受到加成)。如果继续算剩下的情况这个数字会向2%再靠拢一下,但不会太多。


为了说明1原文公式错误,先给出一个直观的反例(在原文我已给出):
假如c=50%,s=2。没有百步的话平均1秒出爆
有百步的话,按照你的公式刚好也是1秒(根号里(100-3)^2+1200刚好就是103的平方)。
而且只要c*s=1,按照你的公式算出来都是1秒

也就是说,按照那位作者的公式,只要爆率*攻速=1的话,有百步和没百步的效果是一样。
看到这里我觉得有点辨别能力的都会觉得这个公式错了吧?
在原文我举出反例之后,我也觉得这作者总该认错了吧,这么大谬误难道还不说明他的公式出问题?
但是他又开始说他什么实测过,误差在0.001以内云云来抵赖他的公式出错,因为这是“可以接受的误差”

2那现在来看看这个误差有多少。
从等效爆率来看,50%爆率,2攻速的情况我上面已经计算过,百步的等效爆率在1.5%左右,也就是按照该作者的算法误差达到了1.5%(偏差100%)(从有效果算成了没效果,这“误差”其实已经够大的了)
不过这位作者老是神神叨叨要换成平均暴击时间(也就是平均暴击一箭需要的时间)来说明数据误差很小。
公式都错了,算了等于没算,谈什么误差?

这里就用一个简单的算法来告诉大家爆率提升对平均暴击时间的影响:
就拿基础爆率50%,攻速2 和 爆率52%,攻速2作比较

前者平均50箭(用时25秒)爆25箭,后者平均50箭爆26箭,所以一般来说要射50箭才会体现出差距。
那时间上前者平均25/25=1秒爆1箭,后者平均25/26秒爆1箭,差距在1/26秒,大概是0.04秒。
如果爆率相差1%,差距就约在0.02秒。
从这个角度看,百步的效果真的很小。

关于45,我觉得就很显然了。
对于站桩来说,提升撑死不到3%爆率的被动(从前面转帖的模拟效果,大概基础爆率30%的话才有3%提升),它的使用重心不在这里,而是在很多人都提到过的用来保证开场高爆的先手或者持续技能的全程高伤。那么在这里研究站桩时提升了1.5%还是2%有什么意义呢?难道低了0.5%你就不用这技能了?

这里我很佩服原作者忽悠的能力(的确是论文水平了),当计算百步的收益的时候(为了显示他的计算有意义),他一次都没有展示过他说了半天的“平均暴击时间”或者“平均爆率”在不同攻速,爆速之下的差别,所有的图表都是用DPS来体现,几千几千的差距当然大。
但是一谈到误差,他立马就不说DPS了,又换算成平均暴击时间,大家一看,哦,才差了零点零几秒,较真什么,可以接受啊。

问题是百步的站桩效果就只有这零点零几秒。

当然效果小不代表不可以研究,但请用正确的计算方法。

===========以下部分比较数学,我会尽量讲得通俗,但怕看了头痛的可以略过===========
现在再来看一下我觉得原作者错掉了的那条公式,说说为什么错。
他提出平均爆率=(c+(c+0.03)+(c+0.03*2)+...+(c+0.03*(x-1)))/x    其中c是基础爆率,x是平均暴击时间
首先说这个公式已经是错误,所以其下的各种求解求导都是错误的。
为什么说错误呢?从分母来看,这个式子是在算平均暴击时间内的某个平均值。
但我们要求这个“平均第一次暴击所需时间”的话是这样求的吗?
如果学过期望的话就会知道,我们要求的是

∑第i秒出现第一次暴击的概率*i秒

这里i从1一直到正无穷(实际上到20左右就停了,因为此时爆率超过1,暴击必须产生)
从分子(c+(c+0.03)+(c+0.03*2)+...+(c+0.03*x))这个东西来看,作者放弃考虑了x秒之后的事情,认为这个可以忽略。所以就出现了前面反例提到的当x=1(攻速*爆率=1)时,有百步等于没有百步这种荒谬的结论,因为在1秒之后可能发生的事情,作者都不去考虑了,百步的加成自然就没有体现。

在主流数据下,x的值在1.5以下,所以作者算了半天的公式其实只考虑整个过程前一点几秒的事情,这无疑是错误的,其产生的误差我前面也算过,是不可忽略的。

退一步来说,就当我理解有误,原作者其实在计算前X秒的平均爆率(虽然意义不明),那么这个数据是这样求的吗?
(c+(c+0.03)+(c+0.03*2)+...+(c+0.03*(x-1)))
这里假设的是,前x秒都没有暴击,然后把这x秒的暴击率加起来。
但这里的意义是什么?

我尝试了一下去理解他的思路,他可能是想,把百步下的各种情况“平均”一下,得出一个“平均x秒会出爆”的平均情况,然后计算这个平均情况下的爆率。
如果是这样想的话,那实际上就等效为x秒前必不出暴,第x秒必出爆然后循环。
那么要计算爆率的话,直接用暴击次数/攻击次数=1/(x*s)就好了,何必弄这么多东西?
=====================================


关于对原作者的态度,似乎对于我说他不是数学系相当不爽,但他自己题目就叫做“非工科慎入”,是觉得非工科都很难理解他的高深东西吗?(我承认那些偏导啥的蛮能唬人)
但实际上他的东西从一开始最重要最基础的模型建立就错了,后面的一大堆求导画图说实话没什么技术含量,最重要的是模型,如何在准确度和计算方便程度间权衡才是关键。
我一开始还语气比较软地指出他有错误,他却总是认为是我的问题,什么误差很少balabala。

我承认我一开始没有说到点子上,但这是很正常的,不是吗?
作者和他的朋友去做这个研究也要花上几个小时吧,还有相互之间讨论,还能借助计算机模拟来修正。
我不过是偶尔看到然后自己算上两笔,所以一开始我就提出了了一些直觉上的推断,到最后才给出反例以及为什么原文的公式错了,这个过程是渐进的。
原作者却说是我没事找事为了挽回尊严,哎哟...

至于那句作者概率学不好的,我承认是难听了点,不过这个问题实际上是一个基础的马尔科夫链问题,求的是某状态(出现暴击)的平均抵达时间。如果看过这方面的内容的话,是明白这个问题应该怎么设立模型,而且严谨求解一般牵涉到解矩阵方面的东西,没有原文那样“巧妙”地解个二次方程就完事的。

如果你说刷MP3好还是刷MP0好,1.06出了XX装备要升还是跌这种变数很大的问题,我就是有不同意见也不会跟你较真。
但如果是数学方面的问题,我觉得你错了就一定会指出到底。

至于态度问题,说我“徒有虚名,纯粹扯谈,歪曲事实”的人,我自然没必要继续与人为善。
==========================
16/11/2012更新
本来由于一方消失我也不想再回这个贴,因为我本意是想就让他纠正他自己的加色贴里的错误。
这里的错误指的是算法的错误。

anyway,有人回帖了我就再更新一点东西吧,当回馈读者

这里粗浅介绍一个暴雪的伪随机算法。

由于科技问题,计算机里面用到的随机其实都是由电脑模拟出来的,而这种随机方式从结果上来说分两种。

一种是基本严格按照目标概率分布,每次结果相互之间独立(或者至少看起来是独立)
物理一点的例如可以通过测温,测时间,取小数点后几位。ex. 要一个0-1的随机数,而当前温度 35.18753℃,就取0.753
数学一点的,取两个很大的互质的自然数n,m,(n<m)然后每次计算m*k (k=1,2,3...)除以n的余数,再用这个余数除以n,就可以得出一个0-1的数。

另一种是我重点要讲的,这种随机从期望上来说和目标概率一样,但是分布方式却不一样。
举一个简单的例子,我要模拟抛出若干次硬币正反面的情况,复杂一点的可以用上面提到过的办法,偷懒一点的,我可以让一串重复的循环作为结果(1正0反),
例如100101011010  .....例1
这么一串数字不断循环,其中1和0出现的比例从长远来说趋向1:1
当然这么一串数字说不定被有心人记录下来就露陷,但我可以把它弄得长一点,例如1万位,那再细心的人也察觉不出来。

那这样做的问题是什么呢?用回例1来说,尽管你会发现正反出现的比例几乎一致,但如果再长时间观察一点,你可能会发现,从来没有3次连续的正面或者3次连续的反面出现,也就是00后面的一定是1, 11后面的一定是0这显然与真实情况不符。
这就是我所说的尽管期望相同,但是分布不一样。

现在就来介绍一个暴雪的伪随机方法,该方法被广泛应用在魔兽争霸里(所以同理也在dota里)。
该原理其实和百步类似。
例如现在我希望一个技能表现出来的是“xx效果每次攻击有A%机会触发”,但暴雪并不让每次攻击的触发几率都恰好等于A%。
它是找出一个数值C,第一次使用这个技能触发几率是C%,假如没有触发,那么下次触发几率就增加到2C%,再没触发就增加到3C%...一直到触发了就重置,从C%重头开始。
不难理解,每个A都能找出一个C,使得两者的期望相同。

这里是暴雪的数据表
具体表格:
概率     理论C值   游戏中C值  理论最大值k   实际最大值k  实际概率
5%  |   0.00380   |0.00380 |       263       |     263    | 5.0%
10% |   0.01475   |0.01475 |       67        |     67     | 10.0%
15% |   0.03222   |0.03221 |       31        |     31     | 15.0%
20% |   0.05570   |0.05570 |       17        |     17     | 20.0%
25% |   0.08474   |0.08475 |       11        |     11     | 24.9%
30% |   0.11895   |0.11895 |       8         |     8      | 29.1%
35% |   0.15798   |0.14628 |       6         |     6      | 33.6%
40% |   0.20155   |0.18128 |       4         |     5      | 37.8%
45% |   0.24931   |0.21867 |       4         |     4      | 41.6%
50% |   0.30210   |0.25701 |       3         |     3      | 45.7%
55% |   0.36040   |0.29509 |       2         |     3      | 49.4%
60% |   0.42265   |0.33324 |       2         |     3      | 53.0%
65% |   0.48113   |0.38109 |       2         |     2      | 56.4%
70% |   0.57143   |0.42448 |       1         |     2      | 60.1%
75% |   0.66667   |0.46134 |       1         |     2      | 63.2%
80% |   0.75000   |0.50276 |       1         |     1      | 66.7%
85% |   0.82353   |0.57910 |       1         |     1      | 70.3%
90% |   0.88889   |0.67068 |       1         |     1      | 75.0%
95% |   0.94737   |0.77041 |       1         |     1      | 81.3%


概率是指想要模拟的概率A,理论C值是和A对应的C(和A期望相同),游戏中C值是暴雪设定的C(期望不一定相同)
k值:最多连续k次不出效果。k=min{n,n*c ≥ 1}
实际概率就是这个“游戏中C值”所模拟出来的实际效果。

通过对比“概率”(标称)和“实际概率”(游戏里实际效果)可以看出,暴雪爸爸偷偷坑玩家的习惯可谓源远流长

为什么要这样设置呢?
这样做的话每次触发的几率就不独立,而是和上一次有没有触发有关。
通过观察还能发现,这样能够降低某个几率效果多次连续生效或者多次连续不生效的机会

具体例子,用一个15%暴击的剑圣/幻刺为例(你不知道是啥?)

例如说:假如刚暴击了一次,几率被重置。

在真随机中,
它再连爆2次的概率是0.15^2=2.25%
在第二种伪随机中:0.032^2=0.1%
差了22倍。

真随机中,它连续10次不爆的概率是:(1-0.15)^10=20%
第二种伪随机:13%《--式子繁琐,就不写了

暴雪这样做,算是弱化运气的成分,好运不会一直来,差运也不会。
(以上参考旧作《由剑圣大招说起》:http://bbs.replays.net/thread-1888726-1-1.html

扯回D3
暂时未知哪里使用了这个随机方法,主要是现在只是PVE,小怪不会说怎么你连爆两次把我直接打死了。
但到了PVP,这就难说了。
目前PVP不推出的原因是平衡性问题,什么竞技场模型的早造好了,但就是一直平衡不来。
本来伤害方面可以用D2的方法统一减个90%之类的,更大问题是各种控制技能和无节操的暴击。
前者如各种几率晕和太强的减速(淫兽突袭,80%减速暴风雪之类的无脑控,还有无CD的减速技能),后者如先祖之锤这种可以基本保持暴击的100W一下的技能(如果PVP减伤能让这个100W不那么致命,那么那些十几万爆一下的技能不是挠痒么?)

个人觉得现存的问题:
1.无脑硬控CD太短甚至无CD
2.几率控结合现阶段攻速几率太高
3.暴击伤害过高让伤害难以平衡

推测可能的解决办法
1.降低硬控对玩家的效果,加入衰减
2.几率控触发内置CD(像Dota里XX脸的晕),使得控制时间<CD
3.PVP时设置暴击概率上限,降低暴击伤害效果,引入伪随机减少连爆连晕的几率。

当然这些工作非常复杂,机制和数值之间的平衡很难调配,还涉及到几个职业搭配时可能产生imba连技等。
结合虫群之心明年三月出,所以D3要是一年内能出PVP就烧高香了。

====================================
最后转回本帖的内容。
鉴于某人概率没学好让他写正规表达式写不出然后消失同时一直用一个没有其它人见过的“测试数据”来做挡箭牌————误差只有0.001秒哦

我花10分钟做了个excel的表格,用这个公式的计算结果和本文开头的转帖的结果作对比
<
初始爆率百步等效爆率平均暴击时间某人公式平均暴击时间(原文的X)
误差
某人公式百步等效爆率(X*0.025)
误差
误差/爆率
0%
12.44%
6.354613
6.145401
0.209212
15.36%
-2.92%
-23.50%
5%
10.52%
5.093517
5.145401
-0.051884
12.86%
-2.34%
-22.28%
10%
8.87%
4.189263
4.319841
-0.130579
10.80%
-1.93%
-21.75%
15%
7.54%
3.507160
3.653906
-0.146746
9.13%
-1.59%
-21.15%
20%
6.48%
2.985324
3.123485
-0.138161
7.81%
-1.33%
-20.50%
25%
5.59%
2.584223
2.702121
-0.117898
6.76%
-1.17%
-20.85%
30%
4.92%
2.263785
2.365784
-0.101998
5.91%
-0.99%
-20.21%
35%
4.23%
2.015075
2.094798
-0.079723
5.24%
-1.01%
-23.81%
40%
3.75%
1.806889
1.873929
-0.067041
4.68%
-0.93%
-24.93%
45%
3.38%
1.633968
1.691690
-0.057722
4.23%
-0.85%
-25.13%
50%
3.05%
1.490130
1.539500
-0.049370
3.85%
-0.80%
-26.19%
55%
2.69%
1.370279
1.410943
-0.040664
3.53%
-0.84%
-31.13%
60%
2.41%
1.266646
1.301193
-0.034547
3.25%
-0.84%
-34.98%
65%
2.26%
1.175310
1.206588
-0.031277
3.02%
-0.76%
-33.47%
70%
2.12%
1.096109
1.124314
-0.028205
2.81%
-0.69%
-32.58%
75%
1.96%
1.027175
1.052188
-0.025013
2.63%
-0.67%
-34.21%
80%
1.84%
0.965926
0.988498
-0.022572
2.47%
-0.63%
-34.31%
85%
1.77%
0.911045
0.931883
-0.020838
2.33%
-0.56%
-31.62%
90%
1.71%
0.861971
0.881255
-0.019284
2.20%
-0.49%
-28.84%
95%
1.62%
0.818168
0.835733
-0.017565
2.09%
-0.47%
-28.97%
100%
0.00%
0.790514
0.794594
-0.004080
1.99%
-1.99%

(攻速1.265,百步加成每秒5%)
这是用他的数据和别人的测试作比较,误差秒数可不止0.001秒,换回我们平时常用的衡量单位——等效爆率就更能看出问题了。
结果也和我预计的相仿,有大约1%爆率的误差(实际上攻速越高误差越大,但这个测试数据是在七月做的,所以攻速设定在1.265)

一个没人见得着的测试说误差只有0.001秒,一个见得着的测试说误差有0.05秒,你信谁?

如果有人觉得别人的测试数据不准,那我只好搬出暴雪爸爸的数据来打脸,沿用上面伪随机的数据,假设基础爆率3.22%,百步效果是每秒3.22%,按照暴雪爸爸的数据,这个等效爆率是15%,即平均每次暴击出现时间是6.67秒。(按攻速为1计算)

按照某人的公式:
平均暴击时间是7.397秒,误差超过0.7秒
说好的0.001秒之内误差呢?

重申一下,我只争论过程,不讨论结果(虽然我已顺带给出我的结果),算法错误的东西即使在某些时候算出个接近正确的答案也是没用的。就当是学数学的人的执着吧。
为什么我一看到他的文章就觉得有问题,因为我当年看了暴雪的伪随机想去推导它的公式,后来发现必须要通过编程才能实现,手算是不行的。
所以当我看到他轻轻松松解一条一元二次方程可以算出答案,我断定这是不可能的。
后来通过细看他的算法和结果都验证了我的想法。

无意争个输赢,不过是觉得把错误的知识传播是不好的事情,在力所能及的范围内应该予以澄清。既然他不肯改正原帖,那我只好在辟谣帖再下点功夫。

感谢理解。

点评

fallsky  还在拜读,考虑一个更极端的情况,100%暴击功速为2,代进去后原文的公式x就算出来是0.5037了,实际应该是0.5的。  发表于 2012-12-7 21:43
魔神有我  以前玩游戏我都是数据流,但玩了这个游戏后我再也不数据流了,因为算数据的人太多了,就像楼主这样的。  发表于 2012-11-16 23:31
fishely  看不懂两位朋友的学术探讨。我只知道我爆率30的时候带百步,到现在50爆率了还带着百步,有百步黄字出现的频率更多更高。看着舒服,打着舒服。简单快乐。  发表于 2012-11-16 23:24
牛毛  看到好贴就要点评,玩游戏的玩法配装这些可以用娱乐心态,但是对待研究性的结论必须得严谨。  发表于 2012-11-16 18:27
已有 1 人评分 符文 收起 理由
joinrigo + 15 + 1 感谢分享,DH版块有你更精彩

总评分:  + 15  符文 + 1   查看全部评分

[armory]http://eu.battle.net/d3/en/profile/Jarszm-2187/hero/7829194[/armory]

帖子:2351

符文:2

2#
我覺得百步的效益要用打boss時間去檢驗才有意義,比如50暴擊帶百步去打阿蛋時間肯定比不帶百步的要快幾秒吧.然後再比較30暴擊時帶百步打boss的時間.......
发表于 2012-11-11 23:15:18 |只看该作者 来自:中国香港

帖子:1353

符文:4

3#
2L说的才有实际意义。。。
发表于 2012-11-11 23:24:54 |只看该作者 来自:安徽
[armory]http://tw.battle.net/d3/zh/profile/zar-1287/hero/5607062[/armory]

帖子:144

符文:3

4#
dddegg 发表于 2012-11-11 23:15
我覺得百步的效益要用打boss時間去檢驗才有意義,比如50暴擊帶百步去打阿蛋時間肯定比不帶百步的要快幾秒吧. ...

这样检验误差很大,因为整个过程非常短,变数很大。
按本文举过相差2%爆率的例子,平均25秒才会出现一次的差别。
带百步和不带百步的平均只有1秒不到的差距,靠肉眼计时会产生很大误差。

最准确的检验方法是转帖里的那种模拟。

当然我说过,研究百步对站桩输出的意义不大,因为收益太低了。

点评

影子微凉  时间还是不短吧。。。10PP的boss不是谁都能几十秒干翻的  发表于 2012-11-16 17:01
发表于 2012-11-11 23:45:49 |只看该作者 来自:法国
[armory]http://eu.battle.net/d3/en/profile/Jarszm-2187/hero/7829194[/armory]

帖子:144

符文:3

5#
本帖最后由 jarszm 于 2012-11-12 09:46 编辑

没人看,版主也不加个亮,果然是传谣容易辟谣难

原帖里面一些结论是对的,但是属于误打误撞碰巧对的,因为整个推导方法就是错的。
某些结论是错的,因为研究方法有问题。

例如说攻速越快,收益越高这个。
该作者是用ΔDPS对攻速求导得出这个结论。
这里就错了,说百步的站桩收益,应该比较的是增加的等效爆率。例如说原来等效爆率2%,现在攻速提高后,算出等效爆率是2.1%,那么自然可以说攻速越高,收益越高。
但实际上攻速越高,第一次暴击的时间就越提前,整个循环享受到百步加成的时间越少,收益就越低。
原文得出结论是因为他用DPS的差值来求导,因为攻速对于DPS影响比对百步的影响大多了,所以攻速提升,DPS的差值自然会增大,尽管百步的收益实际上是减少了。

原作者在得出这个结论的时候也觉得和直觉不符,可惜他没有意识到自己的算法和研究对象有问题。只是郑重其事地说“这里要格外注意”

发表于 2012-11-12 05:45:15 |只看该作者 来自:法国
[armory]http://eu.battle.net/d3/en/profile/Jarszm-2187/hero/7829194[/armory]

帖子:1969

符文:10

6#
两贴作者其实都是牛人
发表于 2012-11-12 09:43:11 来自凯恩之角App |只看该作者 来自:北京

帖子:2209

符文:25

7#
技術含量有點高槽點不好找啊

点评

风之落叶  +1  发表于 2012-11-12 14:57
发表于 2012-11-12 11:14:49 来自凯恩之角App |只看该作者 来自:澳大利亚

帖子:156

符文:6

8#
OK。
你既然这么费心单独再开一贴,那么我就再一一反驳下~
废话不多说

第一点,也就是你一直强调的:
“这里就用一个简单的算法来告诉大家爆率提升对平均暴击时间的影响:
就拿基础爆率50%,攻速2 和 爆率52%,攻速2作比较,前者平均50箭(用时25秒)爆25箭,后者平均50箭爆26箭,所以一般来说要射50箭才会体现出差距。那时间上前者平均25/25=1秒爆1箭,后者平均25/26秒爆1箭,差距在1/26秒,大概是0.04秒。
如果爆率相差1%,差距就约在0.02秒。”
这是你的原文吧。

你这个完全就是和我算的不同的东西。我一直强调,在计算平均暴击时间的时候,1S之后多出来的0.75%的误差体现在平均暴击时间上大概是0.001秒左右。
而看看你算的是什么?
你是假设暴击已经天然拥有1%的差距了。
而我的算法中只是在计算过程的中的一个子情形会有0.75%的误差,这个0.75%的误差要发生,是要再乘以一个概率的。
因此你的1%和我的算法中误差的1%根本不等价。
而且我已经说了,我实测误差0.001,这是不会错的。

第二点

“我尝试了一下去理解他的思路,他可能是想,把百步下的各种情况“平均”一下,得出一个“平均x秒会出爆”的平均情况,然后计算这个平均情况下的爆率。
如果是这样想的话,那实际上就等效为x秒前必不出暴,第x秒必出爆然后循环。
那么要计算爆率的话,直接用暴击次数/攻击次数=1/(x*s)就好了,何必弄这么多东西?”
这也是你的原文吧

x秒之前出暴,x秒之后不出暴,这是平均情况。虽然不是每次都这样,但是x反应了一个期望值。你自己也意识到这点了。
接下来你就说:“那么要计算爆率的话,直接用暴击次数/攻击次数=1/(x*s)就好了,何必弄这么多东西?”
请问这句话哪里反映出我这个思路的错误性了?
暴击次数/攻击次数=1/(x*s)这个式子本来就是错的,等式右边,也就是1/xs是什么?是第一次暴击之前的平均暴击率,这和你的暴击率(等式左边)是一回事吗?请好好想一下。稍微有点智商的也能看出你这个式子不对。
也就是说到底,你还是没能说出我究竟哪里错了。

第三点 关于你说的 攻速越快,收益越高
这个结论你自己也说了研究对象不同。我定义的收益就是DPS增量,至于你的定义也未尝不可,但是你不能说我就是错的。因为大家关注的收益可能不同。按照你的定义,敏捷,DPH,以及暴伤,其实对百步收益都是没有影响,当然这样说也行。只是定义不同而已。

OK我想主要反驳完了
下面再说态度问题:
这个主要是两个。
首先我原来的标题是 “DH百步穿杨收益计算&计算器下载”,非工科慎入什么的是版主给我改的。
其次,我的确不是数学系的~所以你说出来我自己是很淡定的。但我对你这种态度很不满。不是数学系的就没资格谈数学了吗?笑话。
发表于 2012-11-12 13:18:59 |只看该作者 来自:美国

帖子:156

符文:6

9#
凌晨了。。。。我想一时半会你估计也说不出什么。。。明天早上起床再说吧
发表于 2012-11-12 13:32:24 |只看该作者 来自:美国

帖子:199

符文:6

10#
两贴作者都是牛人
发表于 2012-11-12 14:02:55 |只看该作者 来自:上海
[armory]http://www.diablo3.com.cn/profile/TOMCAT-5912/17856168[/armory]

帖子:238

符文:2

11#
还是讨论一个可靠的论证/测试方法更为实际.
否则我敢保证..争论永远不会结束

点评

jarszm  这个真不会,他迟早会承认的。你可以看看最新的反例,证明他的公式完全就是错的。  发表于 2012-11-12 22:32
发表于 2012-11-12 15:01:13 |只看该作者 来自:浙江

帖子:144

符文:3

12#
ljzhalcyon 发表于 2012-11-12 13:18
OK。
你既然这么费心单独再开一贴,那么我就再一一反驳下~
废话不多说

前面的东西当是回应,不感兴趣的可以忽略。更有力的反驳拉到最下可以看到。
===================
1.你是逻辑不好还是数学不好?
我全篇都在用等效爆率来验证百步的效益,你是装着没看见还是不能理解?
算出平均x秒暴击一次,是不是可以等效为每个x秒保证只暴击一次来计算爆率?大数定理你总该听说过吧。
我说的“天然多1%爆率”是为了验证你说的差0.75%究竟会把平均暴击时间提前多少。
百步的收益在主流情况下就是2%爆率左右,你能天然算少0.75%以上的爆率还觉得误差可以接受,你是认真的吗?

在我举出来的反例里面,你把某类情况的百步收益给算没了,你还不觉得自己有问题?

2.智商之争
x秒前平均暴击率=x秒前暴击次数/x秒前攻击次数
如果是这样想的话,那实际上就等效为x秒前必不出暴,第x秒必出爆然后循环。
这句话有看到吗?
那么 x秒前暴击次数=1 x秒前攻击次数=x*s
能理解吗?
当然你说你不是这么想,那只能说算了。

那请你正式回答一下

(c+(c+0.03)+(c+0.03*2)+...+(c+0.03*(x-1)))/x
是什么东西?
你在求什么?
你运用的是哪一个公式或者哪一个概率学的原理,你能说清楚吗?
我质疑了这么多东西你一个都没回答,就在那里挑我的错(在我试图理解你的思路的情况下)

请不要再用“我这个算出来和我用机器模拟的结果只差0.001”来做挡箭牌。
谁知道你程序写对没写对?谁知道你是不是顺口说的?
连算法原理都说不清在那坚持“反正结果就是对的”倒是蛮典型的写论文方式,知道预定结果,所以实验,公式,推导都围绕着结果来进行,反正“结果是对的”

3攻速与收益
直接说吧,你的研究对象不.科.学
首先百步是可以转化为等效暴击作为标准比较,这是最好的用于比较自身和其它技能的方法,你只字不提就在那里算什么dps多了多少是在搞笑吗?不,你不过是在掩饰你研究的对象其实在不同装备之下变化小得微乎其微。

再者,“XXbuild需要攻速高的还是攻速低”这句话蕴含着一个潜在前提,就是DPS一样的情况下。这样去研究build的收益才有意义。
你把攻速提高其他没变然后告诉大家,攻速越高提升越大,有意义吗?
我某技能能把10Wdps提升到13W,其他不变攻速2倍后DPS从20W变成23.1W
你敢说这技能攻速越大收益越大?


但我对你这种态度很不满。不是数学系的就没资格谈数学了吗?笑话。
谁说没资格的,但写出一篇错漏百出的东西到处贴就是笑话。我质疑的是你这方面的权威程度,意在告诉别人,“此人说话可信程度有限”。
自诩为技术宅就请摆正态度,有错就认。

如果你拒绝回应上面各种质疑继续打马虎眼想糊弄过去,那么请至少回答下面这一个问题。

原文(2)式 平均暴击率=[0.03*x(x-1)/2+xc]/x=0.03*(x-1)/2+c
在c*s=1的时候百步的作用为零这个你也承认了
那么c*s>1的情况下(2.5攻速 45%爆率即可,很现实),没有百步 暴击平均出现时间x已经小于1,有了百步这个时间当然得提前,新的x自然也小于1。
于是乎0.03*(x-1)/2就小于零了

那么我就有一个疑问:
在百步加成下,你的平均爆率比你的基础爆率还低?

这么到点子上的问题才发现,我观察力的确弱。

发表于 2012-11-12 20:57:28 |只看该作者 来自:法国
[armory]http://eu.battle.net/d3/en/profile/Jarszm-2187/hero/7829194[/armory]

帖子:156

符文:6

13#
本帖最后由 ljzhalcyon 于 2012-11-13 01:14 编辑
jarszm 发表于 2012-11-12 20:57
前面的东西当是回应,不感兴趣的可以忽略。更有力的反驳拉到最下可以看到。
===================
1.你是 ...


所以说你根本就没有仔细看我的回复以及我的原文

首先关于你说的最大的问题

“于是乎0.03*(x-1)/2就小于零了"
没错这个是可能小于0啊,但是又怎么样呢?
0.03*(x-1)/2+c 只是x秒之前的平均暴击率,是为了计算百步平均爆率引入的一个变量,而百步平均暴击率我已经说了,是

0.03*x/2+c ,也就是原文的(5)式,这个完全是robust的

好了
再说说你说的我“糊弄”的问题

第一点啊,我的模拟算法在我原来那个帖子中对你的回复里面我已经提到过了,这里我就不复制粘贴了,你非要说我没说那也没法子

第二点啊,
(c+(c+0.03)+(c+0.03*2)+...+(c+0.03*(x-1)))/x
此式子的含义很简单,求的就是x秒之前百步暴击率的一个加权平均量,也就是我后面方程(3)用到的式子,这在我文中也已经提到了,所以说你根本没认真看我的文章嘛

第三点啊,
百步的收益在主流情况下就是2%爆率左右,你能天然算少0.75%以上的爆率还觉得误差可以接受,你是认真的吗?

这又是你的原文吧,我都说了0.75%只是一个子情况,这个子情况的0.75%和真正的0.75%是不等价的,因此体现到时间上才是0.1%,明白了吗?

第四点啊,
关于攻速的对于百步收益的影响,都说了是定义不同。比如有些人能够接受“敏捷越高,百步收益越高”,而另外一些则认为“敏捷越高,百步收益不变”,这和攻速其实一个道理。
而且我根本没有掩饰百步收益小的微乎其微,这在我原文的第四节已经提到了(所以说你吐槽之前根本没有仔细看文,百步收益是大是小跟我有什么关系?至于说收益小了,一个0.75%的误差确实可能影响比较大,但是我说了,根本不是0.75%,而是0.001




发表于 2012-11-13 01:12:35 |只看该作者 来自:美国

帖子:144

符文:3

14#
ljzhalcyon 发表于 2012-11-13 01:12
所以说你根本就没有仔细看我的回复以及我的原文

首先关于你说的最大的问题


"0.03*(x-1)/2+c 只是x秒之前的平均暴击率,是为了计算百步平均爆率引入的一个变量,而百步平均暴击率我已经说""

为什么X秒之前的平均爆率会低于没有加成时候的爆率?是因为你假设了这x秒都不会爆吗?既然不会爆,那爆率不就是0吗?
你到底在算什么?
你知道期望,概率的含义吗?
你在算什么事件你清楚吗?

让你说说
(c+(c+0.03)+(c+0.03*2)+...+(c+0.03*(x-1)))/x
的含义,你半天没说出来,加权平均?有这么加权的吗?
你是从那本书上看到说几个非独立的概率可以加起来平均的?所以我让你写概率原理,你果然就写不出来。
我来问你
c+0.03是什么,是第二秒内的暴击次数的期望(为简化,假设每秒攻击一次)?
不是,是在第一秒没有暴击的情况下,第二秒内的暴击次数的期望。
你学过什么是条件概率吗?
P(第二秒暴击|第一秒没有暴击)和P(第二秒暴击)有什么区别你懂不懂?
你口口声声说加权,权重是什么?你觉得每种情况的出现概率都一样?

你说说你的式子里面哪里体现出“第一秒没有爆(概率为1-c),于是第二秒爆率变为c+0.03”
你回头看看我第一次给你的例子,用c=10%,s=1,a=30%算平均爆率是怎么算的。


你的想法是,把有百步的情况等效为一个个相同的循环,每个循环都是X秒,每个循环在X秒之前都不爆,在第X秒暴击。然后只要求出这个X,就能求出等效爆率。
这个想法到这里为止都没有错。

但接下来你就不知道应该怎么求X,于是你想当然建立了一条关系式
等效爆率=在前X秒都不暴击的情况下,前X秒爆率的平均值
于是你强行建立了一条关于X的二次方程,并“解出”了X。


===========================================

我不知道你的自信从哪里来。
你有没有思考过为什么会出现反例?为什么你不去想一下是不是自己哪里算错了。你的每一条式子都是严格遵照定义列出来的吗?有没有想当然了?

不要用一句“实验过,误差只有0.001”就掩盖过去。


我检讨一下吧,我本来是在生气的,觉得你明知道自己错了还不肯认,还在这说我是胡扯。
所以我承认我的语气很差。

但现在我发现你是真的不懂,我也没什么好生气的。

如果你是一个有点责任心的人,你把我俩写的东西拿去问问你身边懂概率的人,我猜你是留学生,找个读phd的中国人不难。
要是你明白了自己错了,那你就把你原帖改正。正规的算法用计算机做一点都不难。你以为用了巧妙方法,实际上是错的。

发表于 2012-11-13 03:29:30 |只看该作者 来自:法国
[armory]http://eu.battle.net/d3/en/profile/Jarszm-2187/hero/7829194[/armory]

帖子:597

符文:57

15#
...有你们打字的时间,两种build(正常非百步&带百步)都实践各10次了...哪个用时长貌似数手指头就能算出来了
发表于 2012-11-13 05:00:56 |只看该作者 来自:新西兰
[armory]https://us.battle.net/d3/en/profile/DuvaKiin-6816/hero/91262330[/armory]
您需要登录后才可以回帖 登录 | 注册网易通行证