[少女前线] 平均命中和平均闪避怎么算

您所在的位置:网站首页 少女前线人形强度表 [少女前线] 平均命中和平均闪避怎么算

[少女前线] 平均命中和平均闪避怎么算

2022-11-29 14:19| 来源: 网络整理| 查看: 265

写此文的初衷是要回答两个问题:

1. 很多人觉得A545弱因为她的命中会衰减. 为了讨论这个问题, 最好是希望即使A545命中可变,也有办法用一个数值来表示她的命中. 另外血包技能期和回音也会改变人形的命中, 那么能不能估计出前20s/30s的平均命中?

2. 很多人觉得AK15在夜战队带光瞄命中会成问题. 为了讨论这个问题, 最好是希望即使敌人有多个而且闪避不同时, 也有办法用一个数值表示它们的闪避. 或者说, 能不能估计出一个怪组的平均闪避?

因为这两个问题具有普适性, 所以专门发一贴讨论. 

平均值, 并不是显而易见的

两个数a,b的算术平均值是(a+b)/2, 这个谁都懂. 但是这个计算不见得有意义. 举个例子, 小明从A地去走路B地, 前半程速度为v1, 后半程速度为v2. 求平均速度. 那么就要问"平均速度"的意义是什么? 在这个问题里, 平均速度的意义是用一个均匀速度走路而不改变从A到B的总时间. 

%5Cfrac%7B%E6%80%BB%E8%B7%AF%E7%A8%8B%7D%7B%E5%B9%B3%E5%9D%87%E9%80%9F%E5%BA%A6%7D%20%3D%20%E6%80%BB%E6%97%B6%E9%97%B4%20%3D%20%5Cfrac%7B%E5%89%8D%E5%8D%8A%E6%AE%B5%E8%B7%AF%E7%A8%8B%7D%7Bv1%7D%20%2B%20%20%20%20%5Cfrac%7B%E5%90%8E%E5%8D%8A%E6%AE%B5%E8%B7%AF%E7%A8%8B%7D%7Bv2%7D%20

%5Cimplies%20%5Cbar%7Bv%7D%20%3D%20%5Cfrac%7B2%7D%7B%20%5Cfrac%7B1%7D%7Bv1%7D%20%2B%20%5Cfrac%7B1%7D%7Bv2%7D%20%7D

推导出的速度的平均值其实是调和平均值, 而不是算术平均值.

同样的, 在计算平均命中和平均回避时, 也要先问它的意义. 也不见得是简单的算术平均. 具体是什么, 需要推导. 那就开始吧.

名字和记号

命中率的计算公式

HitRate%20%3D%20%5Cfrac%7B%E6%94%BB%E5%87%BB%E6%96%B9%E5%91%BD%E4%B8%AD%7D%7B%E6%94%BB%E5%87%BB%E6%96%B9%E5%91%BD%E4%B8%AD%20%2B%20%E7%9B%AE%E6%A0%87%E9%97%AA%E9%81%BF%7D%20

这涉及到两个变量, 攻击方命中和目标闪避. 为了简化, 定义闪命比k

k%3D%20%5Cfrac%7B%E7%9B%AE%E6%A0%87%E9%97%AA%E9%81%BF%7D%7B%E6%94%BB%E5%87%BB%E6%96%B9%E5%91%BD%E4%B8%AD%7D%20

则命中率公式可以简化为闪命比的一元函数:

hitRate(k)%20%3D%20%5Cfrac%7B1%7D%7B1%20%2B%20k%7D%20

DPS(damage per second)可以定义为和命中无关部分的输出功率c乘以命中率:

DPS%20%3D%20c(%E4%BC%A4%E5%AE%B3%E5%8A%9F%E7%8E%87)%20%5Ctimes%20hitRate%20%3D%20%5Cfrac%7Bc%7D%7B1%2Bk%7D%20

计算怪组的平均闪避

假设我方的命中固定, 与命中无关的伤害功率为c. 假设一个怪组有N个敌人, 血量分别是H_i. 闪避为evasion_i, 闪命比分别是k_i, 那么我们可以得到消灭所有敌人的时间:

T%20%3D%20%5Csum_%7Bi%7DT_i%20%3D%20%20%20%5Csum_%7Bi%7D%5Cfrac%7BH_i%7D%7BDPS_i%7D%20%0A%20

%5Cimplies%20T%3D%5Csum_%7Bi%7D%5Cfrac%7BH_i%7D%7B%5Cfrac%7Bc%7D%7B1%2Bk_i%7D%20%7D%20

%5Cimplies%20T%20%3D%20%5Cfrac%7B1%7D%7Bc%7D%20%5Csum_%7Bi%7DH_i(1%2Bk_i)

平均闪命比%5Cbar%7Bk%7D%20的意义是,  当每个敌人的闪命比都是%5Cbar%7Bk%7D%20时, 消灭所有敌人的总时间和前面一致. 则有:

%20%20%5Cfrac%7B1%7D%7Bc%7D%20%5Csum_%7Bi%7DH_i(1%2B%5Cbar%7Bk%7D)%20%3D%20T%20%3D%20%5Cfrac%7B1%7D%7Bc%7D%20%5Csum_%7Bi%7DH_i(1%2Bk_i)

%20%5Cimplies%20%20%5Csum_%7Bi%7DH_i%5Cbar%7Bk%7D%20%20%3D%20%5Csum_%7Bi%7DH_ik_i

%5Cimplies%20%5Cbar%7Bk%7D%20%20%20%5Csum_%7Bi%7DH_i%20%3D%20%5Csum_%7Bi%7DH_ik_i

%5Cimplies%20%20%5Cbar%7Bk%7D%20%3D%20%5Cfrac%7B%5Csum_%7Bi%7DH_ik_i%7D%7B%5Csum_%7Bi%7DH_i%20%7D%20

当我方命中固定, 敌人闪避和闪命比成正比, 从而

%5Cimplies%20%20%5Cbar%7Bev%7D%20%20%3D%20%5Cfrac%7B%5Csum_%7Bi%7DH_iev_i%7D%7B%5Csum_%7Bi%7DH_i%20%7D%20

也就是说, 敌人闪避的平均值就是敌人血量加权的算术平均值. 这个结论非常简单漂亮.

因为大部分高血量敌人比如汉尼拔, 白憨憨等都是低闪避的, 所以他们大大的拉低了敌人的平均闪避, 所以AK15在高命中夜战队带光瞄完全可行. 

注: 以上计算没有考虑能锁血的特殊敌人, 如军方狗和黑冲.

计算人形的平均命中

考虑这样一个模型, 人形每一帧的命中是ac_i, 于命中无关的伤害功率是c_i, 敌人闪避固定为ev. 闪命比k_i = ev/ac_i, 给定总时间T, 那么可以计算出总伤害:

DMG%3D%5Csum_%7Bi%7D%5ET%5Cfrac%7Bc_i%7D%7B%20(1%2Bk_i)%7D%20

平均闪命比%5Cbar%7Bk%7D的意义是, 当我方人形每帧的命中都固定从而闪命比固定为%5Cbar%7Bk%7D时, 在时间T内总输出和上面计算的输出一致. 则有:

%5Csum_%7Bi%7D%5ET%5Cfrac%7Bc_i%7D%7B%20(1%2B%5Cbar%7Bk%7D)%7D%20%20%3D%20DMG%3D%5Csum_%7Bi%7D%5ET%5Cfrac%7Bc_i%7D%7B%20(1%2Bk_i)%7D%20

%5Cimplies%20%5Cfrac%7B1%7D%7B1%2B%5Cbar%7Bk%7D%7D%20%20%5Csum_%7Bi%7D%5ETc_i%20%20%3D%20%5Csum_%7Bi%7D%5ET%5Cfrac%7Bc_i%7D%7B%20(1%2Bk_i)%7D

%5Cimplies%20%5Cbar%7Bk%7D%20%3D%5Cfrac%7B%20%20%5Csum_%7Bi%7D%5ETc_i%7D%7B%5Csum_%7Bi%7D%5ET%5Cfrac%7Bc_i%7D%7B%20(1%2Bk_i)%7D%20%20%7D%20%20-%201

有了平均闪命比%5Cbar%7Bk%7D%20, 就可以再求出人形的平均命中:

%5Cbar%7Bac%7D%20%3D%5Cfrac%7B%20ev%7D%7B%5Cbar%7Bk%7D%20%7D%20

这个公式有那么一点复杂, 而且和敌人闪避相关. 那么能不能得到一个近似的简单的和敌人闪避无关的平均命中? 

还是从命中率公式出发, 

hitRate(k)%20%3D%20%5Cfrac%7B1%7D%7B1%20%2B%20k%7D%20

因为敌人闪避一般都远远低于我方命中. 即k



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3