Closed Andyloris closed 3 months ago
Great question.
I've explored evaluation function tuning a bit on a private branch, and these are my thoughts:
That being said I haven't spent too much time looking into this and I would certainly like to be wrong. If you have any ideas on how this can be approached I'd love to hear it.
What I've experimented with:
Texel's method might be feasible for this project.
If you're using texel's tuning you would neeed to somehow store in a text file all details about a "position" so you would need to store the pokemons of the two sides, their attacks, pps, items, evs, ivs, stats, the information about the terrain, which could be feasible, but would take a lot of space if you wanted to generate a LOT of positions, and it would take a lot of time so i don't think it's feasible.
I've tried stockfish's tuning method but so far it's a complete failure.
I think using something like CLOP could work beacause it doesn't need to generate a lot of positions and actually works in other games where there is randomness (backgammon) . Did you try CLOP ?
If you're using texel's tuning you would neeed to somehow store in a text file all details about a "position" so you would need to store the pokemons of the two sides, their attacks, pps, items, evs, ivs, stats, the information about the terrain, which could be feasible, but would take a lot of space if you wanted to generate a LOT of positions, and it would take a lot of time so i don't think it's feasible.
Yup, that is something I was going to try. Running all of those battles would probably take several weeks just based on some rough math about how long battles can take. Then minimizing the error would probably take even longer.
I've tried stockfish's tuning method but so far it's a complete failure.
My experience was identical :) Too slow, and the variables just took a random walk.
I think using something like CLOP could work beacause it doesn't need to generate a lot of positions and actually works in other games where there is randomness (backgammon) . Did you try CLOP ?
Haven't tried CLOP, mostly just because I am not too familiar with the algorithm itself. I'd be open to exploring the idea with you (just send me a message on Discord - my handle is in the README), but my gut tells me that any parameter optimization technique for Pokemon just isn't going to have good results, especially ones that were developed for Chess. Again very happy to be wrong.
Hi, i recently coded a small chess engine which uses minimax and an evaluation funtion, and then i realised that i needed to tune the values of the evaluation function to win some elo, and that i could do this with the bot. Have you ever tried this ?