龙庄Dinosaur_MC
龙庄Dinosaur_MC
是的,我目前正在研究新的算法,我正在尝试将[这里](https://www.mcbbs.net/thread-869706-1-1.html)的算法改进后加入到程序中来。
在2.0Beta版本中,采用了全新的算法,其简要规则如下: >1、惩罚相同且惩罚低的组合优先 2、与非附魔书物品组合且等级花费高的优先 3、等级花费高的作为目标物品优先 4、等级花费高的作为牺牲物品优先 5、若找不到惩罚相同的,则惩罚相近的组合优先 + 算法简要原理为: 1. 一般情况下,无论如何组合,所有选择合并的魔咒(不考虑不兼容与冲突的情况)终要全部合并到`目标物品`上,其`总魔咒花费`[^1]为每个步骤的`魔咒花费`[^2]之和,而由于魔咒等级和乘数都为常数,所以总魔咒花费也为常数,这个常数称为魔咒花费的最低极限,是不可控量。 2. 铁砧附魔时,除了魔咒花费外,随着合并操作次数的增多,就会产生`累积惩罚`[^3],导致附魔花费急剧上升。由累积惩罚的等级花费计算公式和累积惩罚的`自增原理`[^4]可知,我们可以通过控制对物品的合并策略将累积惩罚降至最低,这种策略方法就是让具有相同累积惩罚的物品优先合并,如`0+0→1,1+1→2`...,其次是累积惩罚最接近的两个物品优先合并,这样就可以避免或减少像`0+2→3`这样出现累积惩罚的提前升高。 3. 随着合并操作次数[^5]不可避免地增加,每过一个步骤经验等级花费由于累积惩罚而不断增加,要是再加上魔咒花费,那么这个花费将增加得更快,越往后的步骤花费越高,越容易超过39级的等级限制,以至于附魔成本太高或附魔无法完全完成。所以,当累积惩罚也达到最低极限后,我们就需要根据铁砧的魔咒花费计算机制控制将魔咒花费高的物品率先与目标物品合并,魔咒花费低的物品最后再合并,使往后的步骤尽可能地不会因为魔咒花费而扩大成本,实现了每步骤的等级花费平均[^6]和总经验值花费最小。 [^1]:铁砧附魔的整个过程中,忽略惩罚、修复和重命名的花费后剩余所需的总经验等级 [^2]:魔咒等级*乘数 [^3]:其等级花费计算公式为 f(n) = 2^n - 1, n∈N [^4]:铁砧上每次合并操作后,输出物品的惩罚次数为取目标物品的累积惩罚次数和牺牲物品的累积惩罚次数的最大值后加一 [^5]:总操作次数 = 参与合并物品总数 - 1 [^6]:因为累积惩罚量是从0开始指数上升的,所以将魔咒花费高的转移到前面的步骤可以类似地平均每一步骤的总花费。...
> > > 穷举所有情况的思路是可行的,有一个基于状态压缩动态规划的实现 https://github.com/zouxiaofei1/MC_enchant_calc > > > > > > 我看这个目前只考虑了初始无惩罚和无合并附魔的情况,同时没有考虑降低单次最低需求经验。 > > 这种我也实现过[最小经验算法](https://www.bilibili.com/read/cv12741322),还做了一点单次最低优化,但是有几个单次经验不及[上面](https://github.com/Dinosaur-MC/BestEnchSeq/issues/2#issuecomment-1058849795)mcbbs里人工列举出的,倒是目前也没发现有总经验计算错误的。 > > 总之最好还是需要一种能考虑各种情况的通用算法。 > > 有没有一种可能分别做模式? > > 即分最小单次经验和最小总经验? 我目前的开发路线正是朝着通用算法而去的,可是高三不给时间了ToT,路漫漫也。
在V2.1.0Beta中新增的算法已基本解决“后续高消耗附魔被多次计算”的问题,JE1.18 满配的鞋子(灵魂疾行3、荆棘3、摔落保护4、深海3、保护4、耐久3、经验修补)与WiKi给出的68级相同。
The same issue with Python 3.13 under Windows 11. And even when I insert a line like: ```python print("[certifi.core] sys.version_info:", sys.version_info) ``` into the relevant source file `certifi/core.py`, after `import...
>  Is it because of this line of configuration? I think it is
I have the same issue with mdui **v2.1.4**, currently the latest version. This problem somehow appears in some forms but not in others, while all the forms have a submit...