artifacts-master
artifacts-master copied to clipboard
词条权重行为不一致和预设权重调整
默认权重分布为0.3-1.5,但是经过基本面板中按钮切换或是使用预设权重的情况下,即使按钮显示一样权重也会被统一为0 0.5 1三种之一。
涉及改动的部分可能有:ValueButton
行为,WeightSection
设置,preset.ts
中权重。
一些可能的改法?
-
ValueButton
接受一个prop为该词条的最大权重x,该按钮可以切换为0 x/2 x三种状态。对于preset,默认权重和当前高级权重对齐。 - preset利用角色收益曲线计算更精确的权重。在使用preset后锁定按钮表示,只能在高级中调整权重。
- preset继承当前高级权重,这样切换为preset也可以正常表示
-
ValueButton
可以调整最大权重x?逻辑想不太清楚怎么减少歧义
待后续讨论。
https://gist.github.com/zyr17/ecd6646201b10c27f7124518808e95f5
根据https://bbs.nga.cn/read.php?tid=25843014 的Excel提取的结果,Excel有点脏所以对Excel也做了些改动。末尾是处理出来的权重,粗略看起来好像没啥大毛病。
最大的问题是充能,这个指标难以量化,因为不会对最终数值产生影响。我现在用了一个预设系数计算,逻辑主要为:
- 如果这个角色要开大就认为充能有用
- 如果面板提到了充能,直接算加一条词条提多少充能作为提升
- 没提到的话,抄大三围中较高的那个权重
- 上面两条权重得到了,乘上预设系数
说实话也没啥合理性,而且同样要大的角色有些比较缺有些根本不缺,而且也和队伍队友相关。。这里还可以优化下。
利用的话,可以考虑根据相同角色、相同套装等综合一下,可以用来选择预设权重。现在只是统计出来了还没想好咋加。
看着挺不错的,给了我不少的启发。原来的评分标准有不少修修补补的地方,导致越来越臃肿了,感觉越来越不满意了。之后可能会对评分系统有一个比较大的重做,最近有点忙,我需要一些时间来理清思路。
我和同学讨论了下,他的观点是按照最终动作算出的权重也不是很靠谱,因为这和队友关系很大,带了老班的攻击区/砂糖的精通区收益都会大减,甚至自己一个人,因为词条的不均匀也会有显著不同,他觉得考虑细微的权重还是不如直接砍成一条半条这种粗暴的指标。
同时excel中的最终指标也不够合理,例如白影剑的辛焱肯定是可以要防的但是以其Q的面板是看不到收益的。部分条目的正确性还待商榷,但是这是我目前找到最方便统一处理的数据了,暂且做个参考。
我目前用这个自己筛选的时候,对于每个套装取用到该套装(不论2件4件)所有该副词条的最高权重,然后disable所有套装和转化率筛选。最后用了简单的预设权重筛了下散件。体感能用,但是确实不是很准(我心海的25充海染毛被当做垃圾了)。可能可以想想更好的筛法。
是这样的,权重本身就和配队没法分开来看的,单是精通区的反应覆盖率这一项的波动就非常非常的大。但是我觉得预设这个东西本身就是作为一个参考,给出一个角色在不带拐的情况下的属性分配建议。 另外,其实我觉得最有实际价值的权重分配比例其实是攻击乘区里的,就是原来系统里的大小攻击比例、攻击防御转化率这种的。因为双爆区的配比这种可以交给原魔计算器和莫纳占卜铺这类专业配装工具来实现,但是小攻击有没有用、生命防御角色的大攻击有没有用这个才是我这个工具解决的问题。 至于心海这种的圣遗物吧,这个一直是我最最最头疼的,还在想解决办法,最大的问题出在奶系角色有效副词条远少于其他角色,尤其心海这种双爆都无效的,就天然的总分就比别人少,又不能粗暴的直接加分,怎么去平衡一直是个难点。
权重显示问题在新的视觉更新中已经解决,预设权重在写了qaq,应该会和之后新的概率排序规则一起上线。
新的预设系统已经加入了您建议的按角色收益曲线计算的权重,但还有一些后续优化需要完成,如精通角色按收益曲线继续叠精通收益最高,导致精通权重为1其他权重均为0,但事实上由于主词条三精通的原因副词条只能在华和羽毛出精通,充能等其他词条权重为0略不合理。目前我还在思考您提供的权重计算方法要如何修改以匹配新预设系统,也非常希望您能提出宝贵的建议和意见。
本次更新基本完成,基本解决该问题,充能方面的权重可能可以进一步优化,待后续使用一段时间再观察。
大佬太强了!
我觉得充能还是自身的问题吧,这算是一个基本无法通过最终攻击力体现的属性(除了绝缘套等极少例外,而这些例外也难以准确的通过攻击估计充能的价值),同时还会受到队友充能、敌人掉球的影响,溢出了又是0收益。。想用一个标量量化实在是太难为它了,只能随便意思意思。。
我没怎么看明白权重计算的方法,distr.json相关应该是计算了指定主词条,有效副词条和强化次数,最终有效副词条的条数为x的概率?之后这个概率是怎么被计算成preset.ts和distr.ts的啊?
顺便随手选了个甘雨发现暴击重要度高过爆伤一倍,虽然也不是不可能但是冰4甘雨的暴击应该十分容易cap。。我之后看看是不是暴击率忘了取max了
preset.ts才是计算出来的权重,计算文件我在你那个原来的基础上做了些修改,主要是修复了万叶等全精通角色充能词条不能正确加权的问题,计算文件放在在py文件夹里。 这个预设模式具体到每个角色可能问题还不少,除了你说的甘雨的那个还有像心海爆伤权重很高,但是最近又不太有时间了,估计还要等一等。 distr.ts是概率模型的导出文件,和权重这边关系不是很大,最后计算是分别调用的,具体计算过程你感兴趣的话可以参考下py文件夹的readme文件。
那个概率我基本能看懂。主要是py中只是在算词条概率,没有看到和套装相关的,py里面的json最后是怎么变成外面ts中套装对应权重的呢?
weight.py文件算的是套装权重,导出的json文件我之前忘记扔进py文件夹了。。。现在放进去了preset.json(但是因为是unicode编码看起来很不方便),和preset.ts内容一致,distr.json和distr.ts也是一样的
我在更新预设权重的时候感觉随着角色越来越多,表格中需要修正的预估数值不能正确依赖于攻击的角色也变多了,要想每个版本更新一次工作量有点太大了,所以我想优化一下weight.py文件的解析功能,想请教下您作为原版作者有没有什么好建议。
大佬太强了,界面变得好高级!
改进脚本的话,说实话我觉得比较方便的方式是,自己维护一个excel,每次对着更新记录改。我是这么做的,确实比较麻烦。。毕竟别人的excel并不是为了脚本解析服务的,excel也没有版本控制,想不太出来没啥更好的办法。 我现在主要在思考用上其他数据来源:现在有其他的算提升工具(ysin,占卜屋)不知道有没有办法把他们的轮子偷过来使,毕竟也是网页了数据应该是格式化好的,用起来可能方便些。同时例如ysin有不同词条提升,专业算提升的应该比我这种纯手工打制的出错率小很多。
另外我想问下这个数据现在是用在角色适配概率这里吗?这里的适配概率是怎么计算的啊?我最近在尝试的是给定词条权重,期望词条数(根据当前角色装备的遗物得到),强化花费(获得一个圣遗物坯能有多少狗粮),找一个平均花费低于指定花费的强化策略,求出每个坯的达标概率和给出当前是否值得强化这个坯。这里现在没解决的就是对期望词条数的价值估计,想了解这里适配概率是怎么算的,看看有没有能借鉴的地方。