《怪物猎人OL》会心等级与会心率的计算关系

作者: 来源:网络 发布时间:2016-11-26 19:03:15
  《怪物猎人OL》会心等级与会心率的计算关系

  怪物猎人OL会心等级与会心率的计算关系,会心等级对会心率的影响,本期小编给大家带来的是武器会心等级带给会心率的影响,一起来看吧!

  首先一楼放结论

游民星空

  其中x为会心等级,f(x)为会心率。

  下面为详细分析过程

  因为只讨论会心等级会会心率的影响,这里所有数据都不计算见切、猎团技能3%、援助暴击等数据。即仅由会心等级决定的会心率函数。原数据太多了就暂时不列出来了。

  首先,根据目前所能得的数据,有一个直观结论:会心率对会心等级的函数是一个奇函数。也就是说,n会心等级和-n会心等级的会心率只相差了个负号。当然,除了-1:-0.2%, 1:0.1%这对数据点以外,但是不影响整体。

  根据这个结论,我们可以将高负会心太古的数据带入到正会心的范围。于是我们只考虑非负部分。趋势如图。

游民星空

  根据数据和图表,可以得到会心率变化的趋势:在(0,0)处斜率接近0,然后先迅速斜率增大,再缓慢减少,最后在超过100会心等级以后很靠近100但是不到100。那么就自然会得到以下结论、合理假设:

  用一次函数(例如x-10)计算高会心简直就是扯淡;

  会心率有可能会无限接近1。

  然后我们来看函数的差分(近似于导数)。然而因为会心等级高于28以后并不是每个点都有数据,所以选择了三次函数插值的方式补充整数数据点,进而得到相对平滑的差分曲线。

游民星空

  我们进而可以得到大致的结论,差分是一个大致经过(0,0),先接近线性迅速增长,到达17~20附近后,更高次地衰减到0。整个曲线的到无穷大的积分大致为100。

  注意原数据由于都取整到0.1,而差分最大也只在2附近,所以真实的数据点造成的锯齿是不可避免的。去除这个因素,整个曲线可以认为是相当光滑的。如果是分段函数的话,则需要在分段点处保证一、二阶导数都相等,设计函数会很麻烦。因此函数采用分段函数的可能性很小。

  有了这两个基本的数据,就可以来考虑函数的原型了,当然尽可能是要简单、便于计算、方便调整参数、有特殊物理意义为好。

  多项式:多项式的导数还是多项式。从差分的图的先增长后衰减的形状可以看出来,要用多项式构造这么平滑的衰减有点困难,需要很高的次数,而且波动会很大。当然用个7、8次方来逼近还是可以的。不过计算、调整参数仍然不是很方便,实际采用的可能性很低。

  次方根:次方根函数后期的趋势和原函数差不多,但是0点附近的一阶导数并不是0而是无穷大。

  对数:正无穷大会超过100,0处为负无穷大,很难变换成现在这样子。

  三角函数:类似sin的函数,也能匹配一段,但是导数是cos的形式,再作变换也难让变成差分经过(0,0)。

  e^-x负指数衰减:一开始我认为这种是最有可能的,差分的类似倒钟型很容易有这种衰减。虽然不便于口算,但是很多特殊的分布都有e^-x部分,它们都有实际的物理意义。原函数只要积分回去就行了。但是尝试了很多种函数以后,发现这些函数都有些共同的麻烦点,就是在曲线20左右经过最高点后,在80、100附近基本上就已经非常非常接近0了,和实际的0.1、0.05差距实在太大。同样,导数也无法完全对应,导致原函数最好的情况也有3的误差。

  即使对于将函数进行各种变换,最后也很难弄成一个线性得很好的函数。

  然而这些数据点还有一些奇怪的特征,那就是经过了一些非常整的数据点,而且数量不能说少。如下图所示。

游民星空

  我们观察其中的一部分数据:

游民星空

  可以发现左边会心等级是等比数列,右边会心率是等差数列,而且中间都是(30,50)这个数据点。于是根据这个性质,观察了其他的数据,确认了其他以(30,50)为中心的数据都符合这个性质,而其他的中心点都不符合。于是我们得到了这个性质:

  (便于计算,将会心等级和会心率都除以100,标准化了)

游民星空

  这样h(v)就变成了一个奇函数。通过每个t, f(t)对我们作h(v)的图像如下:

游民星空

  这是一个从无穷大到无穷大,映射到[-0.5,0.5]的一个S型函数。向上平移0.5单位很有可能就是sigmoid函数的类型。即假设:

游民星空

  那么g(v)就应该是一个线性的函数。得到g(v)和v的值作函数图像:

游民星空

  可以看出确实是高度线性相关的。对该曲线进行拟合得到:

游民星空

  因为会心等级都只有整数点,会心率又有取整,所以并不能确定正好f(0.3)=0.5。于是接下来我们开始验证0.3的值。

游民星空

  照样得到l(t)数据,作图像,并进行拟合。得到:

游民星空
游民星空

  得到c的值以后,我们再以c=0.3, c=0.3014, c^2=1/11这3个值带回式子中,和原有的数据点进行误差比较,作误差函数图及取整后的误差函数图如下:

游民星空
游民星空

  其中红色函数为c=0.3的函数。注意,t是会心等级除以100的数据。稍作整理,我们得到最终结果。

游民星空