wrong book input?
Closed this issue · 5 comments
vondele commented
Continuation from #556 (comment)
For a game (at fixed depth) with different result between cutechess and fast-chess, the origin seems to be in parsing the book. The initial FEN in the corresponding match pgn is:
fast-chess:
[FEN "rnbqkbnr/ppp2ppp/8/3Pp3/8/8/PPPP1PPP/RNBQKBNR w KQkq - 0 1"]
leading to
1. Nc3 {+1.00/10, 0.006s} Nf6 {-0.98/12, 0.026s} 2. Nf3 {+0.92/10, 0.007s}
Bd6 {-0.75/12, 0.019s} 3. d4 {+0.62/10, 0.015s} e4 {-0.67/12, 0.010s}
cute-chess:
[FEN "rnbqkbnr/ppp2ppp/8/3Pp3/8/8/PPPP1PPP/RNBQKBNR w KQkq e6 0 1"]
1. dxe6 {+1.34/10 0.003s} Bxe6 {-1.24/12 0.019s} 2. Nf3 {+1.43/10 0.003s}
Nf6 {-1.24/12 0.004s} 3. Nc3 {+1.19/10 0.022s} Nc6 {-1.25/12 0.012s}
The book fen is
rnbqkbnr/ppp2ppp/8/3Pp3/8/8/PPPP1PPP/RNBQKBNR w KQkq e6
vondele commented
Reproducible with:
$ cat minibook.epd
rnbqkbnr/ppp2ppp/8/3Pp3/8/8/PPPP1PPP/RNBQKBNR w KQkq e6
and
$ cat do_match_fastchess.sh
for binary in ./cutechess-cli ./fast-chess
do
echo " ============= $binary ============== "
(
$binary -recover -repeat -games 2 -rounds 1 -tournament gauntlet\
-pgnout $binary-out.pgn\
-srand $RANDOM -resign movecount=3 score=600 -draw movenumber=34 movecount=8 score=20\
-variant standard -concurrency 1 -openings file=minibook.epd format=epd order=sequential \
-engine name=sf_1 tc=100+0.1 depth=10 cmd=./sf_1 dir=.\
-engine name=sf_2 tc=100+0.1 depth=12 cmd=./sf_2 dir=.\
-each proto=uci option.Threads=1
) | grep "Finished game" | sort -n -k 3 > $binary-out.finished
done
diff ./cutechess-cli-out.finished ./fast-chess-out.finished
gahtan-syarif commented
hmm possibly because of the removed movecounter?
vondele commented
epd has no move counter?
gahtan-syarif commented
apparently this is a bug in the setFen where the en peassant square doesnt get parsed when the FEN has no movecounter
Disservin commented
good catch, ill fix