hsr-optimizer icon indicating copy to clipboard operation
hsr-optimizer copied to clipboard

[Feature] Solve local maxima issue in dps scoring benchmarks

Open fribbels opened this issue 10 months ago • 0 comments

Motivation

Currently the dps scoring benchmarks have an issue where they can get caught in local maxima when running substat optimizations. For example, some characters have conversion traces similar to "for every x atk, increase y by z%". The benchmarks work by assigning maximum possible rolls in each relevant substat, then removing the least impactful one. However when it runs into a conversion or activation like that, the local loss from reducing that substat can be too large to overcome, even if it is globally suboptimal. This has been avoided by pure luck so far (Firefly, Sunday E6, etc) but eventually we'll run into this on a new character kit.

Goal

Come up with a better algorithm for generating benchmarks. The problem to solve is "given a scoring function, find the globally optimal distribution of substats to maximize the score". Ideally it should improve on the current runtime as well.

fribbels avatar Mar 08 '25 18:03 fribbels