61阅读

自然哲学中的数学原理-defence of the ancients中的数学原理

发布时间:2017-11-16 所属栏目:中原地产

一 : defence of the ancients中的数学原理

DotA(V6.74c)中的数学原理

DotA是一款基于暴雪《魔兽争霸3》的游戏。游戏中所直接使用的数学计算虽不复杂,但结合的具体情况越多,对其进行分析就会越困难。本文对此作出初步的探索。

基本属性

DotA中的每一个英雄,都有生命值(HP)、魔法值(MANA)、攻击力(按中文翻译看应该是ATK,但实际英文却是Damage,即物理伤害)、护甲、射程(分远程近战)这5个显然的基本属性,以及魔法抗性、生命回复速度、魔法回复速度、攻击速度、移动速度这5个非常重要而又不能在游戏界面中直接看到的基本属性。此外,还有攻击前/后摇、施法前/后摇、白天/夜晚视野、弹道这些不常考虑的基本属性等。

此外,每个英雄还有三种英雄属性,力量、敏捷、智力。这三种英雄属性并不直接起作用,而是转换为基本属性再起作用。

力量属性:每增加一点力量,增加19点生命值和0.03点/秒的生命回复速度。敏捷属性:每增加一点敏捷,提升1%的攻击速度,每7点敏捷增加一点护甲。智力属性:每增加一点智力,增加13点魔法值和0.04点/秒的魔法回复速度。主属性:每个英雄会把力量、敏捷、智力三者中的某一个当作主要属性,每1点主要属性会额外再增加1

点攻击力。

最后强调一下,为抓住主要矛盾,忽略次要矛盾,在不考虑英雄技能的前提下,直接影响一个英雄作战能力的基本属性是:生命值、攻击力、护甲、魔法抗性、攻击速度、移动速度。

护甲

两个英雄,不考虑技能的情况下,作战方式只有互A(攻击)。这时产生的伤害都是物理伤害。再简化一下,一个英雄承受物理伤害的能力,仅与自身生命值(HP变为0即为死

亡)和自身护甲有关,甚至可以不考虑对方的攻击力与攻击速度等要素了。

护甲公式(当a≥0时):

dd=0.06×a×100%,a≥00.06×a+1

式中,dd为伤害减少(DamageDecrease),a为护甲值(Armor)。

使用MATLAB可以绘出曲线:

a=0:50;

dd=0.06*a./(0.06*a+1);

plot(a,dd)

显然,随着护甲的增加,伤害减少的曲线斜率在下降,因此伤害减少的收益会随着护甲的增加而减少。

然而,仅仅对此下结论还太早,因为伤害减少并不是一个直接决定英雄承受物理伤害能力的指标,因为它的数值含义还不够明显。

为简化思考中的变量,我们不考虑对手的攻击力,也不考虑自身的生命值,仅考虑:在自身拥有某个伤害减少的情况下,与伤害减少为0(护甲为0)相比,能够多承受几次攻击。

1?11?dd

1式中dd是伤害减少,1?dd就是剩余伤害,就是1次攻击变为几次攻击,所以1?ddh=

h为额外攻击次数。

当伤害减少为0(护甲为0)时,显然,打一下,是一下,额外攻击次数为0;当伤害减少为50%时,要造成等量伤害,打一下是不够的,要再打一下,额外攻击次数为1。

如果绘出额外攻击次数h和护甲a的曲线:

a=0:50;

dd=0.06*a./(0.06*a+1);

h=1./(1-dd)-1;

plot(a,h)

我们会惊奇地发现:

这说明,随着护甲的提升,英雄低档物理伤害的能力是线性提升的。也就是说,不考虑游戏在计算时的四舍五入,在0

点护甲时买一个守护指环(+2点护甲)和10点

护甲时买,对物理伤害的减免能力应该是一样的,尽管伤害减少的提高不同。

值得注意的是,这个h(额外攻击次数),也可以看成是等效额外物理生命(EquivalentExtraPhysicalHP)百分比。在仅考虑物理伤害的情况下,h=3(护甲为50)意味着4下攻击,造成护甲为0时1下攻击相同的结果,因此,可以把拥有50点护甲,看成是等效的额外300%的物理生命值。由于护甲与额外攻击次数的关系是线性的,因此每增加1点护甲,相当于增加6%点等效额外物理生命(不考虑游戏中的四舍五入)。

举个例子:如果英雄已经拥有1000点HP和10点护甲,仅考虑提升承受物理伤害的能力,是应该购买活力之球(+250HP)还是板甲(+10护甲)?

解:英雄此时具有的等效物理生命值为:

EPHP=1000+10×6%×1000=1600

如果购买活力之球,则等效物理生命值增量为:

?EPHP=250+10×6%×250=400

增加了400点。

如果购买板甲,则则等效物理生命值增量为:

?EPHP=10×6%×1000=600

增加了600点,因此该选择板甲。

当然,实际进行装备选择时往往答案是活力之球,这不仅仅是因为大家没有进行过上述计算,还因为实际游戏中还要考虑到魔法伤害、特定英雄技能、合成高级装备等多方面因素。不过,这里也充分展现了等效物理生命值(EPHP)这一概念的重要之处。

当护甲为负数时,计算公式会有变化。伤害减少(其实是增加,以负数表示)随护甲的变化为:

?0.94?a?1,?20<a<0dd=???71%,a≤?20

伤害减少随护甲的变化曲线:

a=-20:0;

dd=0.94.^(-a)-1;

plot(a,dd)

额外攻击次数的计算公式和护甲为正时没有区别,变化曲线:a=-20:0;

dd=0.94.^(-a)-1;

h=1./(1-dd)-1;

plot(a,h)

两图在a<?20处的曲线都是平行于x轴的直线。

需要解释的是,伤害减少与额外攻击次数为负数时,数值的意义有了一些不同。伤害减少100%,等价于物理免疫,百打不死;而伤害减少-100%,其实就是伤害增加100%,1次攻击相当于2次,额外攻击次数减少0.5次。

由两图中都可以看出,当护甲为负数时,继续减少护甲得到的收益都递减,到a<?20时,甚至再减甲就完全没有效果。

减甲是DotA中某些物品、某些英雄技能的效果,也是一种非常重要的战术。目前仅考虑护甲和生命值的分析方法难以看清它的效果,我们到后面再来分析。

类护甲

除了护甲意外,常见的减少物理伤害的方法主要还有两种:圆盾、穷鬼盾、先锋盾的格挡和闪避护符

、天堂之戟

、蝴蝶的闪避。现在,我们对护甲已经有了一定程度的了解,因此,可以把它们等效为护甲来研究。格挡

近战先锋盾有70%的概率格挡40点(远程20点)物理伤害。网上有一篇名为《先锋盾之极致研究,你了解的有多少?》的文章,从实验的角度,对当年的先锋盾做了深入的研究,得出了“先格挡,再计算护甲”的结论。我们在这个结论的基础上,开始计算。

假如敌人有100点攻击力,先格挡40点,则还剩60点,如果我方英雄有50点护甲(伤害减少75%),则受到60×(1?75%)=15点的物理伤害。计算过程,大致是这样,其中涉及敌方攻击力(EATK),我方护甲(A),这两个变量。如果没有格挡,要想只受到15点物理伤害,则需要伤害减少为85%。由前面护甲公式(不考虑护甲为负),可得:

a=dd.061?dd

所以,伤害减少85%时,护甲值应该为94.4。由此可得,格挡40点在这里相当于44.4点护甲值。

就是这么算,MATLAB中编程如下:

EATK=[50100200300];

A=[0102050]';

dd=0.06*A./(0.06*A+1);

damage=(1-dd)*(EATK-40);%实际受到的伤害

forit=1:4,

%英文版DotA中格挡是block

ddb(:,it)=1-damage(:,it)/EATK(it);

%每一列除以对应攻击力,以计算有格挡的总伤害减少

end

ab=ddb./(1-ddb)/0.06;%等效总护甲forit=1:4,

ba(it,:)=ab(it,:)-A(it);

%每一行减去对应护甲,以计算格挡等效多少护甲endba

40点格挡的等效护甲如下表:

EATKA

0102050

5066.7106.7146.7266.7

10011.117.824.444.4

2004.26.79.216.7

3002.64.15.610.3

格挡等效护甲可以一定程度上反应格挡的作用。显然,近战先锋盾的格挡随着敌方攻击力的提升而下降,随着己方护甲的提升而提升。总体而言,先锋盾挡小兵、大兵、外塔、中前期DPS、后期非物理DPS(攻击力100多点)的作用还是强于板甲的,但到后期DPS装备起来后,作用就不大了,不如直接加护甲。

以上分析,都是在先锋盾的格挡已经生效的情况下计算的,因此以上表格中的格挡等效护甲应该再乘以70%才是统计平均值。

如果出多个先锋盾,效果并不能叠加,但是格挡的概率会上升。两个先锋盾的格挡概率是70%+30%×70%=91%,n个是1?(1?70%)。提升作用并不明显。

n

计算远程先锋盾的20点格挡过程类似(把代码中的40改成20),结果如下:

EATKA

0102050

5011.117.824.444.4

1004.26.79.216.7

2001.93.04.17.4

3001.21.92.64.8

格挡等效护甲随敌方攻击力和己方护甲的变化规律与上表类似,但总体效果更差。上表中敌方攻击力100的那一列,在下表中左移到了50那一列;200那一列左移到了100;估计300那一列左移到了150(表中并未显示)。因此,远程英雄出先锋盾,其格挡能力,在前期相当于板甲,中期相当于锁子甲,大后期还不如守护指环,非常不合算。

此外,上表也可以看成是近战穷鬼盾的格挡能力。可见穷鬼盾在前期(对线期,敌方英雄攻击力在50到100之间)的确非常不错,堪比1400G的板甲;然而过了对线期后,就可以考虑卖掉了。

对于远程穷鬼盾(格挡10点伤害),等效护甲如下:

EATKA

0102050

504.26.79.216.7

1001.93.04.17.4

2000.91.41.93.5

3000.60.91.32.3

这个表和格挡20的表相比,有类似于格挡20与格挡40的规律。总之,效果更差,而

且,穷鬼盾550G,对物理伤害的减免效果往往还不如同样550G的锁子甲。

因此,远程英雄完全没有必要考虑圆盾、穷鬼盾、先锋盾这3样装备,不仅初始效果不佳,而且在过了对线期后,格挡能力会迅速下降;近战英雄可以考虑在对线期出穷鬼盾或中期以前出先锋盾,但终究到了后期还是会不如板甲。

闪避

不考虑英雄技能、金箍棒的克敌机先等其他复杂因素,闪避(Evasion)相当于把承受物理攻击的能力,按比例向上提升。伤害减少有闪避后变为:

dde=1?(1?eva)(1?dd)

额外攻击次数:

h=

1

×eva?11?dd

如果等效为护甲,其思路与格挡类似。a=[010203050];eva=[0.250.35]';

dd=0.06*a./(0.06*a+1);

dde=1-(1-eva)*(1-dd);%计算闪避后的伤害减少

ae=dde./(1-dde)/0.06;%计算闪避后的伤害减少等效护甲ae-[a;a]%减去原护甲,即闪避的等效护甲

闪避通常有25%和35%两个档次,其等效护甲如下:

25%35%

5.69.0

108.914.4

2012.219.7

3015.625.1

5022.235.9

由上表可得两个结论:一是闪避的作用随着己方护甲的提升而(线性)提升,在护甲较高时(大于20点),闪避的性价比高于护甲(10点护甲1400G、25%闪避1800)。二是蝴蝶的闪避(35%)比闪避护符或天堂之戟(25%)的效果强,且护甲越高,强得越多(10点护甲时强了5点,30点护甲时强了10点)。

具体说来,仅考虑提高承受物理伤害的能力,龙骑

该出蝴蝶而不

是强袭装甲

有更好的效果了。;德鲁伊的小熊需要强袭装甲,而大熊只要个闪避护符就

其他

其他具备物理伤害减免的就是英雄技能了,如船长的船、虚空假面

的回到过去等。计算方法类似闪避,如虚空假面的回到过去这个技能的等效护甲可参考闪避护符的那一行。

需要在最后强调的是,概率性的伤害减免能力,虽然其统计平均是可以等效为护甲的,但实际游戏中,攻击总是一下一下的,要么格挡了、闪避了,要么没有。因此一场大战打下来,如果能进行数据统计,会发现这类概率性的伤害减免要么比计算出的等效护甲效果好,要么效果差,往往不能真的“等效”。

另外,敌方英雄攻击中往往含有额外伤害,如暴击、连环闪电等,护甲对此往往是无力的,而闪避却有降低触发概率的作用(后面有详细的表格)。因此,在敌方英雄的攻击含有额外伤害时,闪避提升的等效物理生命值强于上面的计算值。

魔法抗性

魔法抗性(MagicResistance),简称魔抗,是英雄承受魔法伤害的能力。每个英雄本身只受魔法伤害的75%(这似乎来源于英雄护甲的特性)

,如果再有流浪法师斗篷

(+15魔抗)或挑战头

巾(+30魔抗),承受魔法伤害的百分率应该是75%×(1?15%)或75%×(1?30%)。斗篷与头巾一起出现,应该是头巾起作用;两个头巾应该只能算一个。某些英雄的技能也能起类似作用,例如敌法师的法力护盾,满

级可抵挡50%的魔法伤害,若再出个挑战头巾,承受的魔法伤害应该是

75%×(1?30%)×(1?50%)。

+

承受魔法伤害300点魔法伤害1000HP能受几次300魔法伤害

75%2254

63.8%1915

52.5%1586

37.5%1138

26.3%7912

上表中,之所以特别计算300点魔法伤害,是因为一般一个英雄技能的满级魔法伤害大概就是300;而1000HP则是一个英雄该考虑出魔抗或者护甲的时候。

类比于护甲,我们还可以提出一个概念:等效魔法生命值(EquivalentMagicalHP)。通过当前生命值(HP)和承受魔法伤害的比率(MagicDamageRatio)来计算:

EMHP=

HPMDR

大部分英雄只需要考虑斗篷和头巾,因此,我们计算一下出斗篷,和出头巾相比,对EMHP的增量。

HP=500:3000;EMHP=HP*4/3;

EMHP15=EMHP/(1-0.15);%流浪法师斗篷EMHP30=EMHP/(1-0.3);%挑战头巾

plot(HP,EMHP15-EMHP,'B',HP,EMHP30-EMHP,'R');

显然,二者对EMHP的增量是随实际生命值线性上升的,头巾比斗篷斜率大、增长快。斗篷550G,头巾2150G,如果不考虑头巾的回血,那么斗篷的性价比是比头巾高的(即使有4000HP,EMHP的增量差距也不会有价格上的3倍这么多)。但如果考虑后期魔法伤害的增加量有限(绝大多数英雄16级后魔法输出就不再增加),这个差距是可以接受的,因为挑战比斗篷多挡的几下技能,很有可能是死或生的区别。值得一提的是,船长的船、虚空假面的回到过去等,不仅具有物理伤害减免的能力,还可以减免魔法伤害。计算上类似斗篷。

物理输出(攻击力与攻击速度)

不考虑敌方英雄的护甲与类护甲的物理伤害减免,衡量我方物理输出的指标为DPS(DamageperSecond)。如果不考虑额外伤害,DPS的计算公式如下:

11+IAS%,IAS≤400=ATK×ATBAT

1式中,ATK是物理攻击力,是每秒攻击次数,AT是攻击间隔(AttackTime),BATATDPS=ATK×

是基础攻击间隔(BasicAttackTime),IAS是攻击速度的提升量(IncreasedAttackSpeed)。

基础攻击间隔BAT是一个英雄的基本属性,绝大多数英雄都是1.7s,只有少数英雄例

外(敌法师1.45s、风行者1.5s等)。而且,绝大多数(比前一句更多)英雄的BAT不会发生改变,只有少数变身系英雄例外(巨魔战将远程1.7s近战

1.55s,灵魂守卫远程1.6s近战1.5s,

还有狼人、炼金术士等)。因此,在绝大多数情况下,BAT可以看作是一个常数。

作为一个常数,BAT在性质上不会影响分析的结果,而在计算上则会有一些麻烦,所以我把它放到等号左边,上式变为:

DPS×BAT=ATK×(1+IAS%),IAS≤400

以下对DPS×BAT这个量,简称为“乘间秒伤”。

在实际的游戏中,游戏者对秒伤DPS或乘间秒伤的数值往往并不感兴趣,但是却经常去思考出某装备、学某技能对DPS的提升。而DPS与乘间秒伤是等比关系,因此可以把乘间秒伤作为物理输出的性能指标,

对乘间秒伤求ATK和IAS的偏导数,会发现对ATK的偏导数是(1+IAS)而对IAS的偏导数是ATK。因此,IAS不变时,ATK的增加对乘间秒伤的提升是?ATK×(1+IAS%);ATK不变时,IAS的增加对乘间秒伤的提升是ATK×?IAS%;IAS和ATK都改变时,乘间秒伤的变化是?ATK×(1+IAS%)+ATK×?IAS%+?ATK×?IAS%。

从式中可以看出,乘间秒伤的绝对值的提升,不仅与ATK和IAS的增量有关,还与当前的ATK和IAS有关。

若某英雄的乘间秒伤是ATK×(1+IAS%),购买某装备后,攻击力增加了?ATK,攻击速度增加了?IAS,则乘间秒伤变为(ATK+?ATK)×(1+IAS%+?IAS%),后者与前者的比值为ATK+?ATK1+IAS%+?IAS%??ATK???IAS%?攻击力×=?1+?×?1+?。ATK1+IAS%ATK??1+IAS%??

?ATK,和攻击速度增量百分比与增加前攻击ATK

?IAS%速度百分比加一的比值(后简称增速比),这两个参数的相对大小,可以用来衡1+IAS%增量与增加前攻击力的比值

量攻击力和攻击速度,谁的增加对乘间秒伤的提升更大。

例如,一个有150点攻击力和100点攻击速度的英雄,如果可以增加60点攻击力或60点攻击速度,应该如何选择?

增攻比为6060%60=0.4,增速比为==0.3。增攻比大与增速比,因1501+100%100+100

此该选择60点攻击力。

又例如,一个有150点攻击力和100点攻击速度的英雄,如果可以选择增加60点攻击力和60点攻击速度(蝴蝶

何?),或者增加300点攻击力(圣剑),该当如

前者增攻比0.4,增速比0.3,乘间秒伤增率为(1+0.4)×(1+0.3)=1.82;后者增攻比为300=2,乘间秒伤增率为(1+2)×1=3。因此后者对乘间秒伤的提高远胜于前者。150

乘间秒伤的增率,在BAT是常数的情况下,也就是DPS的变化倍率。如果乘间秒伤不变(攻击力与攻击速度不变),BAT改变,也可以计算出DPS的变化倍率。例如,炼金术士的BAT本来是1.7s,但在大招的持续时间内,可依大招等级变为1.45s、1.3s、1.15s。这1.7s与3个值分别相比,得1.172、1.308、1.478。注意BAT是从攻击速度的那一块提出来的,因此开关大招的变化相当于获得了等效于0.172、0.308、0.478增速比的道具。

IAS=[3050100150];

BAT=[1.451.31.15];(100+IAS)'*(1.7./BAT-1)

等效额外大招级

增加攻速数

1级大招

前攻速

30

50

100

15022263443404662776272961202级大招3级大招

这样,炼金术士BAT的变化就换算成了额外增加的攻击速度。从表中可以看出,增量非常可观。当前攻速为50时(大概6级有动力鞋),放1级大招相当于多了一个动力鞋;当前攻速为100时(大概11级有动力鞋加振奋宝石),放2级大招相当

于多了1个蝴蝶的攻击速度;当前攻速为120时(大概16

级有动力鞋和强袭装甲

表中未列),放3级大招相当于多了两个振奋宝石。,

另外需要强调的是,对于BAT低于1.7s而又不改变的英雄,如敌法师是1.45s,与普通的英雄相比,在相同的乘间秒伤下,二者之间也有上表中“1级大招”那一列的差距。但这并不意味着敌法师这类英雄就应该偏重于购买提高攻击速度的装备,因为与他自己相比,BAT不变,DPS正比于乘间秒伤,他提高攻击力与攻击速度应该是等效的。(敌法师应该优先提高攻击速度的理由在于反馈,详见后。)乘间秒伤的增率?1+?

??ATK???IAS%??×?1+?在BAT不变的情况下,就等于DPS的ATK??1+IAS%?

增率。从式中还可看出,单纯增加某一项,不如同时增加两项,如1.1×1.1=1.21>1.2,

1.2×1.2=1.44>1.4,这个结论可以严格地从均值不等式导出。

以上介绍了如何计算、比较乘间秒伤的绝对增量与相对增量的方法。这些方法都很简单,在游戏中稍花一点时间就可心算完成。但是必须注意的是,这里不仅没有考虑敌方英雄的格挡(敌方格挡的效果可随己方攻击力的提升而下降),也没有考虑己方英雄的额外攻击伤害。

额外攻击伤害

额外伤害,大致分为暴击、击晕、连环闪电、反馈、减甲这五类。很多英雄技能有额外攻击伤害,这里仅从道具方面分析。英雄的相关技能的分析,方法类似。

暴击水晶剑加35点攻击力,有20%的暴击概率和1.75的暴击倍率。大炮(暴雪弩炮)加81点攻击力,有25%的暴击概率和2.5的暴击倍率。发生2.5倍暴击相当于在1击中额外增加了1.5倍的攻击力,如果考虑25%的概率,相当于每1击都额外增加了1.5×0.25=0.375倍的攻击力。

atk=[50100200300];

atk1=atk+35+(atk+35)*0.75*0.2

atk2=atk+81+(atk+81)*1.5*0.25%水晶剑%大炮(暴雪弩炮)

攻击力

加水晶剑

加大炮5085+13131+49100135+20181+68200235+35281+105

300335+50381+143如果有200点攻击力,购买一个大炮,表面上看攻击力变为281,实际上,从统计平均的角度看,相当于还额外增加了105点攻击力!

从表中或公式中都可以看出,暴击的效果随着英雄攻击力的提升而增长。提升攻击力,会使乘间秒伤的绝对增量提升更多,但相比于没暴击的情况,增攻比、乘间秒伤增率却不变,后面与减甲一起分析。

击晕

击晕道具有碎骨锤(碎颅锤)和金箍棒。但前者击晕没有伤害,这里不考虑;而后者的合成配件标枪,虽无眩晕,但有伤害。

金箍棒加88点攻击力,15点攻击速度,和克敌机先(攻击不会被闪避)技能与猛击(35%的概率造成100点额外伤害并眩晕0.01秒)技能。按统计平均算,相当于每一击增加了35点的额外伤害。

近战英雄的猛击技能是法术攻击魔法伤害,无法伤害魔免单位,但能击晕魔免单位;远程英雄的猛击技能是英雄攻击普通伤害,伤害无视魔免算护甲,无法击晕魔免单位。

对于远程英雄,金箍棒相当于每一击增加了35点额外攻击力,可以与暴击那张表相比。不考虑克敌机先技能,它不仅不如大炮,而且差距会越来越大。

对于近战英雄,金箍棒相当于每一击增加了35点额外魔法伤害,不能直接与暴击比较,而应该先乘以敌法英雄魔法伤害承受百分比,再除以敌方英雄物理伤害承受百分比,才能换算回等效额外攻击力。在这两个参数都不明的情况下,只能说大概额外魔法伤害与其等效额外攻击力的数值差不多,差距就是两个百分比的比值。

连环闪电

拥有连环闪电的道具是漩涡和雷神之锤。

漩涡加24点攻击力和25点攻击速度,击中目标后有25%的概率放出120点伤害的连环闪电跳跃4次。雷神之锤加24点攻击力和80点攻击速度,击中目标后有25%的概率放出160点伤害的连环闪电跳跃3次,冷却时间1秒。

不考虑跳跃,漩涡每一击有30点额外魔法伤害,雷锤有40点(考虑冷却时间会略少些)。换算方法与近战金箍棒相同。

反馈

有反馈的物品有1

级散失之刃和2级散失之刃。其中,1级散失之刃在击中目标的同时会减少目标20点魔法和等量伤害,2级则是36点。

这种伤害与敌法师

的法球技能类似,都是英雄攻击普通伤害,伤害无视魔免算护甲,可以看做额外攻击力。减甲能够减甲的道具有黯灭、强袭装甲、勇气勋章。以下着重介绍黯灭。

黯灭加60点攻击力,攻击目标后,使目标减少6点护甲,持续5秒。强袭减少900范围内非友方单位5点护甲。勇气勋章主动点击使用,可使目标(及自己)减少6点护甲,持续7秒。

根据前面对护甲的分析,在护甲为正的情况下,护甲越高,提升伤害减少就越难,但不计舍入,每点护甲都使额外攻击次数线性提升,每点护甲提高6%的等效物理生命值。减甲与加甲情况类似,但由于减甲能把护甲由正变负,因此必要把前面的图再画一下。a1=0:50;

a2=-20:0;

a3=-30:-20;

dd1=0.06*a1./(0.06*a1+1);

dd2=0.94.^(-a2)-1;

dd3=-0.71+a3.*0;

plot(a1,dd1,a2,dd2,a3,dd3)

图中可见,护甲越接近0,减甲对伤害减少的减少效果越好,无论正负;护甲越高,减甲对伤害减少的减少效果越差;护甲减到-20,再减无益。

(接上一段程序,否则无效。)

h1=1./(1-dd1)-1;

h2=1./(1-dd2)-1;

h3=1./(1-dd3)-1;

plot(a1,h1,a2,h2,a3,h3)

额外攻击次数在护甲为正时随护甲线性减少,而在护甲为负数时则更慢速地非线性减少。

两张图相同的结论是,护甲减到0附近就差不多了,再费力地继续减效果不佳。而不同结论则是在护甲为正时,究竟效果是不是线性的。

如果只考虑一次物理攻击的情况,那么就该使用伤害减少这个概念。

黯灭减少6点护甲后,敌方的伤害减少变化:

a=0:50;

dd=0.06*a./(0.06*a+1);

a1=a-6;%中了黯灭后

fori=1:51,

ifa1(i)<0

dd1(i)=0.94^(-a1(i))-1;

else

dd1(i)=0.06*a1(i)/(0.06*a1(i)+1);

end

end

plot(a,dd-dd1)

这个图与护甲与伤害减少那张图的结论相同。由于减甲效果还与我方攻击力有关,应该是一簇曲线或三维曲线,下改为表的方式显示,在不同己方攻击力、不同敌方护甲下,黯灭的减6点护甲相当于多少点额外攻击力。

clear;

ATK=[50100200300];

a=[06122030];

dd=0.06*a./(0.06*a+1);

dd1=0.06*(a-6)./(0.06*(a-6)+1);

dd1(1)=0.94^(6)-1;%修正护甲为负

ed=(dd-dd1)'*(ATK+60);%黯灭+60攻击后,减甲带来的额外物理伤害%把ed按照原护甲a,换算回攻击力[m,n]=size(dd);%算a的大小fori=1:n,

eATK(i,:)=ed(i,:)/(1-dd(i));end

ed,eATK

减甲带来的额外物理伤害列表如下:我方攻

敌击力(+黯方护灭)甲

06122030

我方攻

敌击力(+黯方护灭)甲

06122030

50(+60)100(+60)200(+60)300(+60)

342916106

504225148

8169402313

11295553219

把上表换算回额外攻击力:

50(+60)100(+60)200(+60)300(+60)

3440292216

5058423124

8194695138

112130957053

由于护甲为负数以后,减甲的收益会降低,所以第一行会比第二行小;而当护甲始终为正时,减甲6点,换算成额外攻击力后,数值不仅会随敌方英雄护甲增加而减小,还随己方攻击力的增加而增加;与大炮的暴击相比,黯灭的效果略差,但比其它三种强。

网络传言:护甲越低,越应该提升护甲;护甲越低,被减甲的效果越可怕等等——这里都给出了一定的理论解释。不过需要纠正的是,敌方英雄的护甲被减到0就可以了,再继续减甲效果反而会相对降低。

这样是按照单次攻击的情况来算的,如果敌方英雄被黯灭从满血打到死,那么无论其护甲多少,黯灭都减少了相当于其生命值36%的等效物理生命值,也就是攻击次数越多,减甲效果越来越与敌方英雄的护甲无关。

综合比较

额外伤害的这5类,按触发类型可分为两大类。暴击、击晕、连环闪电属于概率触发类

额外伤害,而反馈、减甲属于稳定触发类额外伤害。

对于概率触发类,往往有人认为,攻击速度越大,单位时间内的触发次数就越多,提升攻击速度比提升攻击力更有效。但这不完全正确。从统计平均的角度看,每一击增加的额外伤害是不随攻击速度而改变的。从概率触发的角度看,单位时间内只攻击一下,也有可能触发,一旦触发则会增加非常多的额外输出,若不触发,则会比统计平均少,输出不稳定,但常常有惊喜;提高攻击速度,只是让单位时间内的输出,更加趋近于统计平均,更稳定一点而已,提升攻击速度并没有提高等效额外攻击力。

闪避对概率触发类额外伤害的触发概率有影响。

eva=[0.250.35];

p=[0.10.150.20.250.35];

%有闪避后,等效概率变为

pe=(1-eva)'*p10%

25%

35%7.5%6.5%15%11.3%9.8%20%15%13%25%18.8%16.3%35%26.3%22.8%此外,这5类额外伤害,按照与攻击力的关系,还可分为两大类。暴击、减甲的效果会随着己方攻击力的提升而提升,击晕、连环闪电、反馈则不会。从上面的数据可以看出,减甲与暴击对DPS的提升,比后三种强,而且随着己方攻击力提升,强得越来越多。而暴击与减甲都是随着己方攻击力的提升而线性提升,1对1情况下是可以等效的;而减甲的效果为团队共享,暴击则仅对技能拥有者一人有效。另外,当减甲与暴击同时存在时,减甲(也可包括其它三种)带来的等效额外攻击力不计入暴击,而暴击带来的等效额外攻击力,则可以计入减甲的等效额外攻击力中。

在计算增攻比?ATK时,减甲与暴击带来的等效额外攻击力随着己方攻击力的提升而ATK

线性提升,因此约掉了,无论是否考虑减甲、暴击,增攻比不变。因此,已经具有暴击或减甲能力的英雄,并不是要优先提升攻击力,而是与普通英雄一样要比较增攻比和增速比。而击晕、连环闪电、反馈则不同。在已经具有这三种效果之一(或之二、连环闪电与反馈不能同时存在)后,实际ATK比显示值偏高。例如,英雄拥有1级散失之刃,则相当于拥有20点额外攻击力,显示值计算的增攻比?ATK?ATK,略大于实际增攻比。在权衡应该ATK

ATK+20

提高攻击力还是攻击速度,即比较增攻比和增速比的大小时,增攻比偏高就相当于增速比偏低,所以拥有者3种技能的英雄应该比普通英雄多提高一些攻击速度。如果计算时使用实际增攻比,则它与增速比可以正常比较。

虽然黯灭、暴击的效果强于击晕、连环闪电、反馈,但后三者还带有其它效果。击晕可以打断传送、施法、攻击并带来额外输出机会,连环闪电往往对多个单位起作用,反馈会损耗敌法单位的魔法值,这些都会对战局带来难以估量的影响。这些影响取决于触发频率(而不是统计平均),而触发频率会因为攻击速度的提升而提高,这才是敌法师、虚

空假面这类英雄应该优先提高攻击速度而不是攻击力的真正理由。

总体而言,不能说哪种最强,而是要看敌我双方的阵容、装备,以及对自己的定位,团战的打法等,来考虑如何选择装备。

性价比

性价比是DotA中使用频率最高的性能指标。它来源于生活,在DotA中也的确有一定的参考价值,但是存在严重的滥用趋势。具体表现为,什么都是性价比!说某个物品适合某个英雄,是性价比高;说某个技能前期升几级,还是性价比高……我个人无论是在生活中还是在游戏里,都不常用这个指标,因为深入分析会发现,这个指标不仅很难计算,而且往往不能作为道具选择的唯一标准。

把DotA中所有单纯增加攻击力的道具列表比较:

攻击之爪

道具

阔剑

大剑

秘银锤

恶魔刀锋

圣者遗物

圣剑

攻击力价格(G)性价比

94500.02

1812000.015

2114000.015

2416000.015

4624000.019

6038000.016

30062000.048

显然,前三甲应该是圣剑、攻击之爪、恶魔刀锋。但这又能说明什么呢?要说被购买的频率,虽然没有在世界范围内做过统计,我目测圣者遗物的被购买频率应该比恶魔刀锋高,秘银锤也远超同性价比的阔剑、大剑,这主要是它们的可合成道具决定的,与性价比没有多大关系。

性价比中的“价”,就是道具的价格,这是确定的;性价比中的“性”,则是道具的性能,这往往难以量化。以上那张表是可以列出的唯一一张比较长的表,其它的性能,例如攻击速度、护甲等,都太短了,只有两三个道具。DotA中比较重要的道具,大多都会增加英雄的多方面能力,很多甚至还附带特殊技能。此外,DotA中几乎每个英雄(只有唯一一个例外

)都只有6个格子来放道具。因此,性能的量化有3大难题:

1.多属性难于统一量化标准;2.道具附带的技能值多少钱;3.省一个格子值多少钱。在我看来,这3大难题几乎是不可解决的。不过,DotA的作者Icefrog似乎已经解决了,因为他给出了所有道具的性能和价格。与其相信,Icefrog是精通经济学原理的顶尖达人、创造出了很多秘密公式来量化性能,我更相信他是一个优秀的DotA道具市场的观察者,通过统计与分析来调整性能和价格。一次次的版本更新,都显示着他对性能与价格的调整;每一次改动的反复,都代表他推翻了自己原先的想法。

性价比的难于计算,直接导致其应用领域狭窄。只有在确定需要某种属性时,才能忽略其它属性,计算性价比。例如,敌方物理输出强大,我方应该考虑物理防御时,是选择提高生命值、护甲、格挡、闪避还是其他,就需要对等效物理生命值或等效护甲这些指标进行计算,才可以联系价格进行比较,真正使用性价比。而如果局势的发展需要某个道具的技能,

例如原力法杖的弹射,而这个道具的价格在可以接受的范围内,那就攒钱购买吧。与其纠结于性价比,不如多补几个刀。

本文提出的诸多量化的性能指标,可以看作对性价比的“性”的量化尝试,也可以认为是为了绕过性价比这一模糊概念、为装备选择直接提供数据支持的努力。

结论与展望

本文对DotA中一些基本属性进行了分析,或借鉴或原创地提出了一些概念和简单的心算方法,为游戏中进行装备选择提供了一定的理论依据和数据支持。

限于篇幅和精力,本文并未分析DotA中的每一个道具和每一个英雄技能,还有英雄技能间、技能与道具间、道具与道具间的配合效果等,不过方法都已经介绍了。

DotA这个游戏,绝大部分内容是确定的,除了少量BUG以为,只有两个方面为游戏带来了不确定性:伪随机数和游戏者。遗憾的是,这里并未对游戏中的伪随机数进行深入分析(水平不足),也未对游戏者的行为规律作出研究(超出了数学的范畴)。

概念解释

额外攻击次数:相对于护甲为0的情况下攻击1次的伤害,在护甲为n时,为达到等量伤害,要对目标额外攻击多少次。

等效额外物理生命百分比:目标在护甲为n时,与护甲为0相比,其承受物理伤害的能力,相当于额外获得了相对于原生命值多少倍的生命值。其数值就是额外攻击次数百分数化。

等效额外物理生命值:目标在护甲为n时,与护甲为0相比,其承受物理伤害的能力,相当于额外获得了多少点生命值。其数值等于额外物理生命百分比乘以实际生命值。

等效物理生命值:目标在护甲为n时,其生命值相当于护甲为0时的多少点。其数值等于等效额外物理生命值加原生命值。

等效护甲:格挡、闪避等类护甲的效果,其抵挡物理伤害的能力等价于多少点护甲。等效魔法生命值:目标承受魔法伤害的能力,相当于多少点生命值的小兵(魔法抗性为0)。

秒伤(DPS):每秒可以造成多少物理伤害。

乘间秒伤:秒伤乘以英雄的攻击间隔。

乘间秒伤增量:乘间秒伤随着攻击力或攻击速度的增加而产生的数值增量。

乘间秒伤增率:乘间秒伤随着攻击力或攻击速度的增加而增加后,相比原来的倍率。秒伤增率:秒伤随着攻击力或攻击速度的增加而增加后,相比原来的倍率。BAT不变时,等价于乘间秒伤增率。

增攻比:攻击力的增量与增加前攻击力的比。

增速比:攻击速度的增量与增加前攻击速度加100的比。

等效额外攻击力:攻击中的额外伤害,折算成造成等量伤害的攻击力。

等效概率:攻击命中概率触发类的效果在有闪避的情况下,等价于无闪避情况下的概率大小。

参考文献

11对战平台资料库(注意这里面的信息落后于当前版本)

《基于dota游戏中护甲的建模与稳定性分析》

《先锋盾之极致研究,你了解的有多少?》

《天下武功唯快不破DotA各类速度数据解析》

《Dota金箍棒、晕锤、重击技能叠加情况》

……

晏启东

西安电子科技大学技术物理学院

2012年513日

二 : 中原地产的“虚实”哲学

以网站帮助客户,靠门店黏住客户,中原地产对互联网的应用让其在地产中介行业中开创了新的蓝海。

2011年1月1日,深圳中原地产网正式新装上线。打开新网站,可以看到物业资料、小区平面图、楼价走势图、最新放盘信息、成交数据、邻近放盘物业数目、相关片区新闻等,内容之丰富非其他同类网站所能及。而经纪人笋盘博客、中原地图、中原数据三大服务功能可以帮助客户扫除找房的一切烦恼,让客户体会到便捷、高效、贴心、人性化的网上找房体验。

新网站的亮相,意味着中原集团(以下简称“中原”)将香港网络营销的精细化管理渗透到内地,它与中原内地的传统店面互成犄角之势,不但将成为中原未来的核心竞争力之一,而且将对内地房地产经纪行业发展产生不可小觑的作用。

“实”与“虚”共进

1978年成立于香港的中原集团如今业务范围已涵盖房地产代理、二手房、物业管理、测量估价、按揭代理、资产管理等多个领域。作为房地产代理行业及相关服务领域的先行者和市场引领者,自上个世纪90年代初进入内地市场以来,中原在内地近30个主要城市完成网点布局,并迅速实现本土化融合,在各地市场占据重要位置。2010年,中原营业额达83亿港元,盈利13亿港元,员工30000人,分行逾1500间。

在中原发展过程中,有两大优势不得不提,这就是强大的网络资源优势和品牌资源,在这两种资源互补互动过程中,中原不断延展市场布局和拓宽的业务范围,从而形成了今天的规模。

1992年初,邓小平南巡讲话之后,中央向全国传达了《学习邓小平同志重要讲话的通知》,提出加快住房制度改革步伐。海南建省和特区效应也因此得到全面释放。由于看好内地市场空间,那一年,中原进入内地市场,开展为政府土地投资提供调研,为开发商提供全程策划及销售代理,为深港及内地客户提供住宅、写字楼、商铺、厂房租售和银行按揭等服务。在之后的几年里,中原利用香港楼市再狂热之机,大开分行,由20间一下子增至50间,1995年,中原建立了大型数据库及中原方略,开始了中原在信息科技方面的发展。

就在中原在香港一帆风顺之时,内地的房地产市场迎来了更大的机遇,住宅建设成为了新的经济增长点和消费热点。而随着福利分房的取消,货币分房的出现,房地产运作完全市场化,房产中介应运而生。历史总是有着太多的巧合:同样在1996年的1月,中国公用计算机互联网(ChinaNet)全国骨干网建成并正式开通,全国范围的公用计算机互联网络开始提供服务,中国正式进入互联网时代。

住宅市场化和互联网时代,给中国普通百姓带来的都是一种新的生存和生活方式。虽然在今天,“水泥+鼠标”的业务模式随处可见,然而在15年前,能把房地产业和互联网业有机结合在一起的却凤毛麟角,因为当本行业在高速发展时,与其他产业的结合与否,对自身业务显得似乎有些微不足道。

但就是在1996年,中原开发的第一代中原网在香港推出,它成功创造出包括“中原地图”、“中原数据”等,由于网站内容信息丰富,浏览量高,为中原赢取了多个科技大奖。

对品牌企业来讲,第一步战略是开尽量多的门店,因为只有门店才能有成交,才能有真实的房源,尽量多地占领市场份额。中原的发展也正是沿着这样的足迹前进。随着内地房地产市场的迅速发展,中原在内地的业务也强劲增长。到2003年,中原已由一间2人合伙组成的小公司发展到一间员工人数达6000人、每年收入超过10亿港元的大企业,建立起了全国品牌形象。

业绩的急速上升和公司的急速扩张,需要强大的数据网站的支持。于是,2003年,中原数据网站诞生。在上面可以看到物业资料、平面图、楼价走势图、最新放盘信息、成交数据(包括查册资料及中原成交)、邻近物业、相邻分行、CPN短片等等,内容之丰富不是其他网站所能及。数据和地图结合起来之后,地图的浏览量比推出时增加了5倍之多。

2004年起,房地产业迎来了全面火爆的发展良机。2004年-2007年,众多房产中介公司都在全国各地扩展门店、招聘人员,虽然也有不少房产中介把房源信息发布在行业知名网站上,但却很少有人会想去到网上寻找客源,因为不需要,也没必要。但中原却未雨绸缪,在2003年数据网站基础上,2007年推出了自己的Blog。

与传统网站不同,Blog具有互动性更强、内容更口语化、能快速把更新内容传递给相关客户,和静态网站相比,频繁的更新令博客在搜索引擎上的排名更高。中原的Blog通过地图和数据,把客户吸引到门店,如果客户可以了解销售人员的资历,选对经纪人,那么也就增加了成交率。在新一代的网上平台,中原成功摸索到了如何利用虚拟网络直接为业务提高营运效益的模式。

互动的哲学

“房地产业将会由于技术的进步而发生改变,这种改变已经开始并以极快的速度进行,只有意识到这点并接受它的人,才能在房地产业生存下去。”如果说微软创始人比尔·盖茨在几年前对房地产业做出上述论断还没有引起房地产业足够重视的话,那么2008年的金融危机就给热衷线下的门店上了难忘的一课。

金融危机让房产中介深刻认识到了网站营销的便利性和低成本优势,互联网营销逐步深入人心。可以说,以2008年为界,房产中介的网络营销进入了一个空前的大爆发阶段,全国各龙头中介纷纷从“触网”转向“布网”。 据悉,从2008年7月到2009年11月,就有二三十个房产网站用各种方式给房产中介做推广。而大部分网站的操作方法和盈利模式都很相似,用行话说就叫“做端口”,即由网站把端口开放给中介公司或者经纪人个人,中介付费在网站上发布房源信息。

面对众多对手,早已在网络营销方面颇具经验的中原却更上一层楼。那时,内地人购房的方式是找新闻上搜房,找房源上安居客,要寻找品牌商才有机会找中原。“从这个过程就知道,中原首先要真正做网络营销,第一步,不是做网络,真正要做第一步是建门店,门店越多,客户认知度越高。门店是解决了品牌的认知问题(所以内地中原在未来可以像香港中原一样不依靠百度、安居客、搜房这些媒体平台),也解决了网站的‘下单’后续服务问题,所以门店先于网站而行。”中原集团网上业务发展总监金珑在接受《商业价值》采访时说:“网络营销与网络门店互动才能产生最大的效益。客户到中原网站来依赖于两点,一是对中原品牌的认可,二是有足够多的真实房源。”这一看起来简单的问题包括两个环节:一是搜索的有效性,二是客户搜索完信息后打电话咨询时,找的是不是有效的经纪人。

为了把这两个环节有效连接起来并产生更大的效用,从2009年开始,中原开始将网上业务平台由香港向内地推广。通过深圳中原新网站,可以看到中原地图推出的地图找房功能非常强大。打开中原地图网页后,客户可通过搜索楼盘、栋座名称、街道、门牌号码等任一条件来定位自己感兴趣的楼盘,直观地看到楼盘所在地理位置和交通、餐饮、医院、学校、商业等周边配套信息,更可清楚地了解楼盘的基本资料,如户型图、期数、栋座、户数、楼层、楼龄等。

同时,笋盘博客发布的所有二手房源全部提取自中原公司的房源登记系统,可以保证货真价实。据了解,中原通过一套科学有效的房源积分系统,用多个衡量指标去评估每个房源的质量,只有积分较高的房源才能获得优先呈现的机会。另外,如果是同一房源被多人发布,网站系统还会自动过滤重复房源,只呈现质量最高的房源。

当客户通过网站完成选房过程之后,给经纪人打电话时,就自然进入传统门店的交易环节,而传统门店比的是交易速度和经纪人专业水平。“与客户谈判,把握客户心态,满足客户的需求,通过客户的资产背景帮他做一个组合,这个是网站永远代替不了的。”金珑说:“从这点上说,任何一个中介都是先以网络门店为主导,网络营销是第二位的。”

通过笋盘博客功能,客户不仅可以轻松锁定最优质的房源,还可放心挑选优秀的业务员。为此,中原精心设计了科学的排名,中原集团董事(信息服务)曾展良对这个排名有一个很专业的名字——多元加权排列机制。就是根据经纪人上传楼盘的数量、更新频率、笋盘数量、是否独家代理以及Blog的浏览量等一系列的指标来综合排名,让勤奋、优秀的经纪人有机会在网站上露面。“网站上的这些中介代理都有真人照片和详细的从业记录信息,如他们曾获过什么样的奖、代理牌证号码等,这与一些中介网站用一些模糊不清的名字来做销售的做法有本质不同,这也体现了中原品牌的价值,这是一个很重要的区别。”金珑说。

由于网络营销和网络门店的有机互动,中原牢牢控制住了网络营销的话语权。以前是经纪人自己掏钱在行业网站上做广告,现在是经纪人在自己的网站上树立形象,这不但影响了中介行业的盈利模式,并且对中原而言,一方面把所有客户源全部抓在手里,一方面也提高了经纪人的业绩,调动了经纪人的积极性。

而这,正是中原绩效最大化的秘密:以网站帮助客户,靠门店黏住客户。如果说以粗放式扩张和利用信息不对称发家的房产中介是第一批淘金者,那么以网络品牌扩张和房屋流通综合服务为基础的品牌中介,才是真正能把握未来的那批人。

潇棋 周应|采访 尚文|摄

三 : 自然科学中的哲学原理全文阅读 作者:凡星

四 : (2014•江苏)牛顿的《自然哲学的数学原理》中记载,A、B两个玻璃球相撞,碰撞后的分离速度和它们碰撞前的接近速度之比总是约为15:16,分离速度是指碰撞后B对A的速度,接近速度是指碰撞前A对B的速度.若上述过程是质量为2m的玻璃球A以速度v0碰撞质量为m的静止玻璃球B,且为对心碰撞,求碰撞后A、B的速度大小.

(2014•江苏)牛顿的《自然哲学的数学原理》中记载,A、B两个玻璃球相撞,碰撞后的分离速度和它们碰撞前的接近速度之比总是约为15:16,分离速度是指碰撞后B对A的速度,接近速度是指碰撞前A对B的速度.若上述过程是质量为2m的玻璃球A以速度v0碰撞质量为m的静止玻璃球B,且为对心碰撞,求碰撞后A、B的速度大小.

(2014•江苏)牛顿的《自然哲学的数学原理》中记载,A、B两个玻璃球相撞,碰撞后的分离速度和它们碰撞前的接近速度之比总是约为15:16,分离速度是指碰撞后B对A的速度,接近速度是指碰撞前A对B的速度.若上述过程是质量为2m的玻璃球A以速度v0碰撞质量为m的静止玻璃球B,且为对心碰撞,求碰撞后A、B的速度大小.的参考答案

设A、B球碰撞后速度分别为v1和v2,规定A球的初速度方向为正方向,根据动量守恒定律得,

2mv0=2mv1+mv2

根据题意知,

v2−v1
v0
15
16

解得v1=

17
48
v0,v2=
31
24
v0.

答:碰撞后A、B的速度分别为

17
48
v0、
31
24
v0.

本文标题:自然哲学中的数学原理-defence of the ancients中的数学原理
本文地址: http://www.61k.com/1113670.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1