-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsprt.bat
17 lines (17 loc) · 2 KB
/
sprt.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
:: This is the command to run a SPRT. You use it to test a change to your evaluation function against the old version.
:: You need to change a few things:
:: - This is a .bat script, so on windows, you can simply execute this file.
:: - Install cutechess if you haven't installed it already.
:: - You should add cutechess-cli to your PATH or change the command below to the location of cutechess-cli.exe.
:: - Change the engine names to something that tells you what change you're testing.
:: - If you want, you can change the time control.
:: The default here is 5+0.05 so that the SPRT finishes faster, but the tournament will use a longer TC.
:: - Change the concurrency to the number of cores on your computer (you can also set it to one less if you want to continue using your computer).
:: - The default opening book is UHO.pgn, also known as the Pohl book. If you want, you can change that, for example to Seb's fen list.
:: - The elo1 parameter should be set to something close to the Elo gain you expect:
:: Tests tend to take longer for smaller values, but if you set the value too high, the SPRT could fail even though your change gained Elo.
:: 10 should be a good default value when you're getting started, but eventually you may have to change that to something like 5.
:: - For a non-regression test (ie testing that you didn't lose Elo), set elo0 to a negative value and elo1 to 0.
:: Before executing this command, make sure to recompile your project in *Release* mode (recompiling it in Debug mode won't change anything!)
cutechess-cli.exe -engine name="MyBot" cmd="./Chess-Challenge/bin/Release/net6.0/Chess-Challenge" arg="cutechess uci MyBot" stderr="error.txt" -engine name="EvilBot" cmd="./Chess-Challenge/bin/Release/net6.0/Chess-Challenge" arg="cutechess uci EvilBot" -each proto=uci tc=5+0.05 -concurrency 1 -maxmoves 500 -games 2 -repeat -rounds 5000 -ratinginterval 20 -pgnout games.pgn -openings file="UHO.pgn" format=pgn order=random -sprt elo0=0 elo1=10 alpha=0.05 beta=0.1
pause :: Don't close the terminal window