genshinsim / gcsim

monte carlo combat simulation for genshin impact
MIT License
282 stars 91 forks source link

Substat Optimizer - Std Dev Optimization #545

Open jordanlovato opened 2 years ago

jordanlovato commented 2 years ago

Per convo in https://github.com/genshinsim/gcsim/pull/483

Currently we build substat gradients based on avg damage, then we interpret avg dmg gradients as our only consideration for whether any particular optimization action is "better"/"worse".

https://github.com/genshinsim/gcsim/blob/main/internal/substatoptimizer/substatoptimizer.go#L383-L393

Part of that consideration for "better"/"worse" ought to factor stdDev gradients as well. We should bias in favor of increasing damage, but I also think that we ought to consider decreasing stdDev as "better" and increasing stdDev as "worse". Both factors do not necessarily need to contribute to the determination of which substat to pick equally, but if that's easier to begin with, I think it's okay.

k0l11 commented 8 months ago

@Charlie-Zheng did #1890 fix this?

Charlie-Zheng commented 8 months ago

Currently stddev isn't directly referenced as a target to reduce, which can result in some sims with high avg but also high stddev.

I will continue working on improvements and this will be one of the things I consider adding

k0l11 commented 8 months ago

Ok, will leave open then.