chaldea-center / chaldea

Chaldea - Yet Another Material Planner and Battle Simulator for Fate/Grand Order aka FGO
https://docs.chaldea.center
GNU Affero General Public License v3.0
347 stars 26 forks source link

[FEATURE] 目前应用中似乎没有素材加成礼装功能 #88

Closed aola0 closed 1 year ago

aola0 commented 1 year ago

问题

目前应用中似乎没有有关素材加成礼装的功能。

描述

BGO在新年后增加了黑灰和凶骨的素材加成礼装,我目前已经将应用的版本更新到2.3.0(2023/3/30),但是似乎没有找到素材加成礼装的用法。(考虑到日服进度快一年,我怀疑有可能是我没找到正确用法,但是翻看用户手册也没找到)

为什么需要这个功能

感觉在计算素材Free本时,掉率加成可能会影响Free本的选择,例如,对于一个可加成素材和一个不可加成素材,求解结果可能会从综合掉落本变成两者各自的单一掉落本。

可能的解决方法?(如果确实没有这个功能的话)

可以考虑在计算Free规划前,让用户设置素材加成,和效率页面的羁绊加成类似,不过素材的加成率要区分开。由于黑灰和凶骨礼装分别对素材增加 5% 的基础掉率,即基础掉率 * (1 + 5%)。那么可以将效率剧场的统计数据作为基准,按照设置的素材加成相应地计算加成后的掉落效率。

这样子的话,从逻辑流程上看应该是可以实现的样子,但不确定是否会导致求解时间明显变长。不过需要提醒用户素材加成是按(1 + 5% + 5% + ...)叠加,而不是(1 + 5%) * (1 + 5%) * ...

~吐槽:由于我目前只缺凶骨和黑灰,这个功能应该对我的帮助有限。~

narumi147 commented 1 year ago

确实没有,虽然在一开始出这类礼装的时候想到了,但一是这破礼装一年才能满破一张属实垃圾,不满破是更垃圾没有带的价值。 二个是对于大需求的话,其实几乎不太会影响哪个本更好,以后满破礼装多了后可能影响更大 三个是在处理多个礼装加成的情形时会有一些问题,比如单素材A可以做到25+25=50%加成,但B也是50%。但对于A+B的本一般你只能25A+50B。但规划时只能按照50+50来。虽然不准确但一般不影响大局就是了。

narumi147 commented 1 year ago

测试下beta版: https://github.com/chaldea-center/chaldea/releases/tag/beta 原先的 规划/效率 下拉框那里加了这个 加成 选项

aola0 commented 1 year ago

周末忘了回复了(捂脸)。

“二个是对于大需求的话,其实几乎不太会影响哪个本更好”。我倒是觉得大需求的情况下才能让有/无加成拉开差距。 第三点确实是会有这个问题,如果让系统规定上限则有些繁琐,可能只能让玩家自己按个人期望来调整了。

然后我拿自己的游戏数据和50%最高加成率进行测试,虽然Free本没变化,但是AP消耗有所减少,总期望AP消耗也减少了 ~(可能提的这功能只有总期望AP消耗是有用的)~ 。 就目前现有Free本和50%最高加成率条件下,我不太确定是否真的存在“两个单材料本优于综合材料本”的情况。但是还是感谢作者的效率回复和更新!

aola0 commented 1 year ago

我在超出50%最高加成的情况下进行了测试,发现Chaldea得到一个和我计算不同的结果。 以黑灰和髓液为例。它们的综合最高效率本是国道20号,效率剧场掉率为黑灰60.60AP髓液45.14AP。黑灰的最高效率本是夏洛特28.9AP,而髓液的最高效率本是新宿站28.61AP

在相同权重下,以20AP效率进行计算,国道结果为(1 / 60.60 + 1 / 45.14) * 20 = 0.773。而夏洛特结果为(1 / 28.9) * 20 = 0.692,新宿站结果(1 / 28.61) * 20 = 0.699,因此综合结果我简单记为平均值0.696。此时国道优于两个单本。

假设黑灰加成后共1000%效率(经典进酒吧乱点),那么国道为(1 / 60.60 * 10 + 1 / 45.14) * 20 = 3.743,两个单本结果分别为(1 / 28.9 * 10) * 20 = 6.9200.699,平均值为3.8095。此时似乎两个单本各消耗10AP优于综合本消耗20AP,但是beta版计算结果仍然为优先国道然后其它Free本。

虽然得到和预想不同的结果,但是不确定是APP还是我的思路有问题。

narumi147 commented 1 year ago

App有没有出错我也不确定 这也是要你我验算测试的地方不然我直接close issule了

首先加成1000%指的是dropRate × (1+1000%)=dropRate ×11,而不是×10,所以我下面计算用的900%也就是×10方便点

其次,这种直接相加除以2的求“平均值”的方法不敢苟同,不过现在我的数学sense已经很差了,暂时说不出个所以然来,造成你的思路错误的地方可能来源于这个。

不过我认为你想求的平均值应该是根据复合本掉率的“加权平均”,但是权=掉率的倒数,也就是我后面的例子。至于为什么是倒数,掉率越低,所需刷本次数越多,权重越大,而我们求平均值就是根据所有次数相加取的平均,个人观点 不保证准确性。

如果要验算,直接求解线性规划再验算手算也行。比如 https://online-optimizer.appspot.com/?model=builtin:default.mod

或者简单点直接定一个目标,手算一下两种方案哪种AP少。 目标:黑灰330+髓液4430 (髓液+900%(×10),根据国道掉率33%+44.3%)

加权平均:

doorholez commented 1 year ago

在相同权重下,以20AP效率进行计算,国道结果为(1 / 60.60 + 1 / 45.14) * 20 = 0.773。而夏洛特结果为(1 / 28.9) * 20 = 0.692,新宿站结果(1 / 28.61) * 20 = 0.699,因此综合结果我简单记为平均值0.696。此时国道优于两个单本。

这里是不可以直接简单地求算术平均值的,因为在加成前,国道的每20AP获得的0.773个道具中,有1 / 60.60 * 20 = 0.330个黑灰和1 / 45.14 * 20 = 0.443个髓液;而在夏洛特和新宿各10AP获得的是1 / 28.9 * 10 = 0.346个黑灰和1 / 28.61 * 10 = 0.350个髓液,这里夏洛特和新宿获得的总数虽然比国道更少,但是黑灰获得量是比国道更多的,要注意的是髓液和黑灰并不等价,因此并不能直接做平均。

假设黑灰加成后共1000%效率(经典进酒吧乱点),那么国道为(1 / 60.60 * 10 + 1 / 45.14) * 20 = 3.743,两个单本结果分别为(1 / 28.9 * 10) * 20 = 6.9200.699,平均值为3.8095。此时似乎两个单本各消耗10AP优于综合本消耗20AP,但是beta版计算结果仍然为优先国道然后其它Free本。

同理,在加成后,国道每20AP获得的3.743个道具中,有3.300个黑灰和0.443个髓液;在夏洛特和新宿各10AP获得的则是3.460个黑灰和0.350个髓液。我们可以看到夏洛特和新宿获得了虽然总数3.810相较于国道更多,但是其中包括了更多的黑灰,但获得了更少的髓液,而二者在free本中的效率并不相同,相差的3.460 - 3.300 = 0.160个黑灰在free中价值0.160 * 28.9 / 10 = 0.462AP,但是相差的0.443 - 0.350 = 0.093个锁链在free中则价值0.093 * 28.61 = 2.66AP,明显可以看出是“多了芝麻少了西瓜”(虽然分别刷本可以让“芝麻”和“西瓜”的总量更多,但是显然包含更多“西瓜”方案的总价值更高),因此会倾向于首先以更高的效率完成锁链的刷取(也就是APP中计算的优先在国道刷取然后再去其他free本)。

aola0 commented 1 year ago

非常感谢大佬的解释,我刚才对比两个思路研究,也意识到“西瓜”“芝麻”的问题,这下真对不住数学老师,数学思维已经烟消云散了。 不过刚才按照掉率的倒数求权计算结果仍有些迷惑,明天有空再想想(希望拾点数学思维回来)。

aola0 commented 1 year ago

后来接着基于“每20AP能获得多少素材(Free本AP价值)”这一思路研究,结果越绕越复杂。 因为,对于两个单一本,将Free本AP价值作为基数,那么其权值应该是一个和AP相关的概念,然而实际上无法找到一个合理的含义来表示这个概念 ~在这卡了好久~。

后面我转变思路,要把材料需求量这一概念纳入式子。同时,我注意到大佬这句话“目标:黑灰330+髓液4430 (髓液+900%(×10),根据国道掉率33%+44.3%)”,反应过来应该对这个问题简化。无论黑灰和髓液有多少,该研究的是一个综合本掉落的素材相当于两个单一本花费多少AP(假如有任一素材在打完综合本后仍不够,那此时该素材的最高掉率本肯定是最优解)。

因此将思路转变为“每个素材的AP消耗”。首先再次给出各个Free的AP效率:

那么可以得到

联立两条式子能消掉分母并化简,得到1 符号位 (a / i) + (b / j)。再代入结果得到右侧数值约为1.11。

因此,由1 < 1.11 得到每素材AP消耗为 国道 < 夏洛特 + 新宿站 的恒等式,并且该恒等式与加成倍数 n 无关。

~得到这个结果我也惊了,我提出这个feature的意义被驳倒了~

然后我也对Chaldea进行超高加成的测试,计算结果和该结论一致。也就是说,如果上述推导没有问题,那么对于两个单一本和一个综合本,素材加成礼装并不会影响Free本选择。

P.S. 由此大胆推断,多个综合本的共同计算也遵循这一规律。~推导是不可能推导的,光是上面的内容都快顶不住了~

narumi147 commented 1 year ago

把你的话用字母和公式转化了下

不涉及规划目标(没有定义权)的两单掉落本谈平均值没有意义。别管平均值了,没意义。 以下所有掉率都归一化为相同AP(1AP)下的掉率。

对于简单的2单掉落+1复合本,由于结果始终为 $xX+yY+zZ$,其中 $xX+yY$ 相当于刷单掉落本,这部分在两种方案中都是相同的,比较时约去即可。 因此两种方案的消耗为

没有加成的时候已知复合本效率高(消耗低),即 $a_{1}z/a0 + b{1}z/b_0 > z$

现在使得素材A掉率加成为( $\alpha-1$, 即乘以 $\alpha$ ), 素材B加成为 $\beta-1$

此时消耗为:

写完这公式我tm想给自己一巴掌 仿佛写了个1+1=2

上面只能说2种材料的复合本对比单掉落是有用的。对于3种以上材料 3种以上复合本(ABCDE),可能会发生原先最优复合A+B+C,加成不同后可能变成最优C+D+E这种。因为某一个素材在某个本中的掉率可能为0,分母为0 我的建议丢给一个高中生去做一做数学题

aola0 commented 1 year ago

是这样的,我表达思路有点乱,搞得太复杂。你这样写简化了很多,看得更清楚

对于复合本和复合本之间重叠情况,确实没考虑仔细。实际是否会变化靠推导毫无思路,如果有实际案例能验证那是最好。不过我暂时不打算深入研究,就此打住吧。

毕竟最终目的是为了测试Chaldea功能是否正确,至少目前来看并没有问题。~数学验证什么的还是让专业的来吧~