大舅妈御魂配置

1.引言

本篇文章针对PVE情况,式神以烬天玉藻前为例,基于线性规划分别探讨暴击套和爆伤套的最佳强化状态以及二者最终输出的区别。

2.烬天玉藻前面板在这里插入图片描述

攻击:3551
暴击:12%
爆伤:150%

3.阴阳师面板伤害计算公式

以下仅讨论满暴击情况

实际结算伤害计算公式为:

实 际 最 终 伤 害 = 总 攻 击 × 技 能 系 数 × 暴 击 伤 害 修 正 × 总 防 御 对 应 的 受 伤 × 造 成 伤 害 增 加 b u f f 修 正 × 受 到 伤 害 增 加 d e b u f f 修 正 × 造 成 伤 害 减 少 d e b u f f 修 正 ÷ 受 到 伤 害 减 少 b u f f 修 正 × 御 魂 修 正 × 技 能 修 正 ( 其 它 修 正 ) 实际最终伤害=总攻击×技能系数×暴击伤害修正×总防御对应的受伤×造成伤害增加buff修正×受到伤害增加debuff修正×造成伤害减少debuff修正÷受到伤害减少buff修正×御魂修正×技能修正(其它修正) =××××buff×debuff×debuff÷buff××()

公式看似复杂,但一般对于攻击型式神而言,我们只关心如何通过御魂提升的伤害式神总伤害部分

式 神 总 伤 害 = 总 攻 击 × 暴 击 伤 害 修 正 = ( 基 础 攻 击 × ( 1 + 御 魂 攻 击 加 成 ) + 御 魂 固 定 攻 击 ) × 暴 击 伤 害 修 正 式神总伤害=总攻击×暴击伤害修正=(基础攻击×(1+御魂攻击加成)+御魂固定攻击)×暴击伤害修正 =×=(×1++×

4.御魂强化分析

4.1主属性

式神可佩戴的御魂有6个,分为1~6号位。其中1、3、5号位的主属性固定,分别是攻击值、防御值、生命值;2、4、6号位的主属性随机。一般而言对于输出形式神2、4号位选攻击加成主属性、6号位暴击或爆伤。
满强化后,主属性数值如下:

御魂满强化值
攻击力(1)486
攻击加成(2/4)55%
暴击(6)55%
爆伤(6)89%

4.2副属性

副属性是随机属性,一个御魂上限4个随机属性。有的御魂副属性数量不足4,会随着强化而刷出新的副属性。副属性随着该御魂强化等级提高刷出新属性或提高已有属性值。强化等级每提升3,提升一项副属性数值,共可以提升5次。
这里我们关心三类副属性:攻击加成、暴击、爆伤。

御魂初始值强化提升值
攻击加成2~32~3
暴击2~32~3
爆伤3~43~4

5.御魂套分析(理想强化试验)

以下分析均是基于满暴击的情况讨论。
本节基于线性规划分析如何强化御魂能够使总攻击最大化。
使用的御魂为针女歌姬套(针女固有15爆,歌姬固有16爆)
强化后的御魂主属性是固定的,而副属性带有随机性。假设理想状态下,玩家手上的御魂未强化时都是4项副属性,其中有3个属性命中了我们需要的,后续5次强化全命中。这里将原本存在的基础副属性算作一次命中,于是可用命中次数为48次。
强化值取折中。

假设攻击加成、暴击、爆伤包括基础副属性以及通过强化命中的次数为x0、x1、x2。

5.1暴击套

暴击套意为6号位主属性为暴击的情况下并满暴击。
则,目标函数和约束条件如下:

m i n − ( 3511 × ( 1 + 2 × 0.55 + 0.025 × x 0 ) + 486 ) × ( 1.5 + 0.035 × x 1 ) s . t . 48 − x 0 − x 1 − x 2 ≥ 0 2.5 × x 2 + 16 + 15 − 100 ≥ 0 x 0 ≥ 0 x 1 ≥ 0 x 2 ≥ 0 36 − x 0 ≥ 0 36 − x 1 ≥ 0 36 − x 2 ≥ 0 \begin{aligned} min\qquad-(3511×(1+2×0.55+0.025×x_0)+486)×(1.5+0.035×x_1)\\ s.t.\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad48-x_0-x_1-x_2≥&0\\ 2.5×x_2+16+15-100≥&0\\ x_0≥&0\\ x_1≥&0\\ x_2≥&0\\ 36-x_0≥&0\\ 36-x_1≥&0\\ 36-x_2≥&0\\ \end{aligned} min(3511×(1+2×0.55+0.025×x0)+486)×(1.5+0.035×x1)s.t.48x0x1x22.5×x2+16+15100x0x1x236x036x136x200000000

from scipy import optimize
import numpy as np

def fun():
    v=lambda x: -(3511*(1+1.1+0.025*x[0]) + 486 )*(1.5 +0.035*x[1]) 
    return v

def con():
    # 约束条件 分为eq 和ineq
    #eq表示 函数结果等于0 ; ineq 表示 表达式大于等于0  
    cons = ({'type': 'ineq', 'fun': lambda x: 48-x[0]-x[1]-x[2]},\
		    {'type': 'ineq', 'fun': lambda x: 2.5*x[2]+55+16+15-100 }\
            {'type': 'ineq', 'fun': lambda x: x[0] },\
            {'type': 'ineq', 'fun': lambda x: x[1] },\
            {'type': 'ineq', 'fun': lambda x: x[2] },\
            {'type': 'ineq', 'fun': lambda x: 36-x[0] },\
            {'type': 'ineq', 'fun': lambda x: 36-x[1] },\
            {'type': 'ineq', 'fun': lambda x: 36-x[2] })
    return cons

cons = con()
x0 = np.asarray((6,8, 10)) #设置初值
res = optimize.minimize(fun(), x0, method='SLSQP',constraints=cons)
print(res.fun)
print(res.success)
print(res.x)
-23241.573600489417
True
[ 6.4 36.   5.6]

鉴于要满暴击,则暴击向上取整,其余向下取整。优化后的组合为:

属性命中次数
攻击加成6
暴伤36
爆击6

式神攻击伤害:23241

5.2爆伤套

暴伤套意为6号位主属性为暴伤的情况下并满暴击。
则,目标函数和约束条件如下:

m i n − ( 3511 × ( 1 + 2 × 0.55 + 0.025 × x 0 ) + 486 ) × ( 1.5 + 0.89 + 0.035 × x 1 ) s . t . 48 − x 0 − x 1 − x 2 ≥ 0 2.5 × x 2 + 55 + 16 + 15 − 100 ≥ 0 x 0 ≥ 0 x 1 ≥ 0 x 2 ≥ 0 30 − x 0 ≥ 0 30 − x 1 ≥ 0 30 − x 2 ≥ 0 \begin{aligned} min\qquad-(3511×(1+2×0.55+0.025×x_0)+486)×(1.5+0.89+0.035×x_1)\\ s.t.\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad48-x_0-x_1-x_2≥&0\\ 2.5×x_2+55+16+15-100≥&0\\ x_0≥&0\\ x_1≥&0\\ x_2≥&0\\ 30-x_0≥&0\\ 30-x_1≥&0\\ 30-x_2≥&0\\ \end{aligned} min(3511×(1+2×0.55+0.025×x0)+486)×(1.5+0.89+0.035×x1)s.t.48x0x1x22.5×x2+55+16+15100x0x1x230x030x130x200000000

from scipy import optimize
import numpy as np

def fun():
    v=lambda x: -(3511*(1+1.1+0.025*x[0]) + 486 )*(1.5 + 0.89 + 0.035*x[1]) 
    return v

def con():
    # 约束条件 分为eq 和ineq
    #eq表示 函数结果等于0 ; ineq 表示 表达式大于等于0  
    cons = ({'type': 'ineq', 'fun': lambda x: 48-x[0]-x[1]-x[2]},\
		    {'type': 'ineq', 'fun': lambda x: 2.5*x[2]+16+15-100 }\
            {'type': 'ineq', 'fun': lambda x: x[0] },\
            {'type': 'ineq', 'fun': lambda x: x[1] },\
            {'type': 'ineq', 'fun': lambda x: x[2] },\
            {'type': 'ineq', 'fun': lambda x: 36-x[0] },\
            {'type': 'ineq', 'fun': lambda x: 36-x[1] },\
            {'type': 'ineq', 'fun': lambda x: 36-x[2] })
    return cons

cons = con()
x0 = np.asarray((6,8, 10)) #设置初值
res = optimize.minimize(fun(), x0, method='SLSQP',constraints=cons)
print(res.fun)
print(res.success)
print(res.x)
-24394.64639831741
True
[-5.45461604e-09  2.04000000e+01  2.76000000e+01]

优化后的组合为:

属性命中次数
攻击加成0
暴击20
爆伤28

式神攻击伤害:24394

5.3小结

对于大舅妈来说,在最理想的情况下,尽可能堆爆伤能够最大化伤害。正堆爆伤比反堆爆伤理想状态高出约5%的伤害

6.强化有偏试验

本节讨论非理想状态的强化结果。下面直接给出数值结果:

6.1暴击套(针女+歌姬)

命中次数攻击加成爆伤爆击攻击伤害
48636623241
45336622514
42036621788
39033620975
36030620150
33027619325
30024618500
27021617675
24018616849
21015616024
18012615199
1509614374
1206613549
903612723

6.2暴伤套(针女+歌姬)

命中次数攻击加成爆伤爆击攻击伤害
480202824394
450172823569
420142822744
390112821919
36082821093
33052820268
30022819443

在这里插入图片描述

6.3小结

1.理想强化状态下,强化的命中次数与式神的攻击伤害有着线性的关系,表明玩家每一次进步获得的实际成长是固定的。(但付出的成本是非线性的)
2.暴击套相比于爆伤套有更多的最优组合(不是说暴击套的伤害高于爆伤套),表明做暴击套满暴击的风险要低于爆伤套(这是废话)。
3.爆伤套要比暴击套的伤害上限略高,但是相差不多。
4.最优暴击套和最次暴击套的伤害质量相差近一倍。
5.满暴击情况下,尽量满爆伤。(酒吞番外除外,酒吞番外的输出式神加点需要在满暴击情况下攻击点数高于爆伤3~4点)

因此,建议非神豪或欧皇的痒痒鼠们尽量考虑暴击套,风险小,容错率高。

【资源说明】 1.项目代码功能经验证ok,确保稳定可靠运行。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通。 2.主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈! 本文介绍了基于QEM(Quadric Error Metrics,二次误差度量)的优化网格简化算法的C和C++实现源码及其相关文档。这一算法主要应用于计算机图形学领域,用于优化三维模型的多边形数量,使之在保持原有模型特征的前提下实现简化。简化的目的是为了提高渲染速度,减少计算资源消耗,以及便于网络传输等。 本项目的核心是网格简化算法的实现,而QEM作为该算法的核心,是一种衡量简化误差的数学方法。通过计算每个顶点的二次误差矩阵来评估简化操作的误差,并以此来指导网格简化过程。QEM算法因其高效性和准确性在计算机图形学中广泛应用,尤其在实时渲染和三维打印领域。 项目代码包含C和C++两种语言版本,这意味着它可以在多种开发环境中运行,增加了其适用范围。对于计算机相关专业的学生、教师和行业从业者来说,这个项目提供了丰富的学习和实践机会。无论是作为学习编程的入门材料,还是作为深入研究计算机图形学的项目,该项目都具有实用价值。 此外,项目包含的论文文档为理解网格简化算法提供了理论基础。论文详细介绍了QEM算法的原理、实施步骤以及与其他算法的对比分析。这不仅有助于加深对算法的理解,也为那些希望将算法应用于自己研究领域的人员提供了参考资料。 资源说明文档强调了项目的稳定性和可靠性,并鼓励用户在使用过程中提出问题或建议,以便不断地优化和完善项目。文档还提醒用户注意查看,以获取使用该项目的所有必要信息。 项目的文件名称列表中包含了加水印的论文文档、资源说明文件和实际的项目代码目录,后者位于名为Mesh-Simplification-master的目录下。用户可以将这些资源用于多种教学和研究目的,包括课程设计、毕业设计、项目立项演示等。 这个项目是一个宝贵的资源,它不仅提供了一个成熟的技术实现,而且为进一步的研究和学习提供了坚实的基础。它鼓励用户探索和扩展,以期在计算机图形学领域中取得更深入的研究成果。
内容概要:本文详细介绍了利用改进粒子群算法(PSO)进行混合储能系统(如电池与超级电容组合)容量优化的方法。文中首先指出了传统PSO易陷入局部最优的问题,并提出通过非线性衰减惯性权重、引入混沌因子和突变操作等方法来改进算法性能。随后,作者展示了具体的Python代码实现,包括粒子更新策略、适应度函数设计以及边界处理等方面的内容。适应度函数不仅考虑了设备的成本,还加入了对设备寿命和功率调节失败率的考量,确保优化结果的实际可行性。实验结果显示,在风光发电系统的应用场景中,改进后的PSO能够在较短时间内找到接近全局最优解的储能配置方案,相比传统方法降低了系统总成本并提高了循环寿命。 适合人群:从事电力系统、新能源技术研究的专业人士,尤其是对储能系统优化感兴趣的科研工作者和技术开发者。 使用场景及目标:适用于需要对混合储能系统进行容量优化的场合,旨在提高储能系统的经济效益和使用寿命,同时保证供电稳定性。通过学习本文提供的理论知识和代码实例,读者能够掌握改进粒子群算法的应用技巧,从而应用于实际工程项目中。 其他说明:文中提到的所有代码均为Python实现,且已在GitHub上提供完整的源代码链接(尽管文中给出的是虚拟地址)。此外,作者还计划将改进的PSO与其他优化算法相结合,进一步提升求解复杂问题的能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值