Disservin / fastchess

fastchess is a chess cli tool to run engine vs engine matches
MIT License
84 stars 20 forks source link

opening book policy for multiple engines tournament #742

Open gahtan-syarif opened 1 week ago

gahtan-syarif commented 1 week ago

in a multiple engines tournament, ideally each pair of engines uses the same openings. so engine A vs Engine B and Engine A vs Engine C should get the same opening order. this is currently not the case as the opening book index is currently incremented by rounds

Disservin commented 1 week ago

what is cutechess doing in this case?

gahtan-syarif commented 1 week ago

what is cutechess doing in this case?

it has multiple different policys for this but i think we just need to implement the default https://github.com/cutechess/cutechess/blob/master/docs/cutechess-cli.6.txt#L197-L201

gahtan-syarif commented 1 week ago

I think the easiest way to do this is to make the matchmaking so that all matches between two engines are played first before it moves on to the next pairing

Disservin commented 1 week ago

i think you only need to refetch a new opening if the round increases ? https://github.com/Disservin/fastchess/blob/master/app/src/matchmaking/tournament/roundrobin/match_generator.hpp#L57

gahtan-syarif commented 1 week ago

Yeah but rn the round increases every two games so say if engine A vs engine B is round 1 then engine A vs engine C is round 2 so the opening for the 2nd pairing would be different from the first