perft results off by 1 in 700 million; reasons?
Posted: Wed Jan 02, 2013 2:42 am
I am working through some bugs in my chess engine. I am testing my engine's perft function on "r3k2r/Pppp1ppp/1b3nbN/nP6/BBP1P3/q4N2/Pp1P2PP/R2Q1RK1 w kq - 0 1".
The correct results (verified by me with stockfish) can be found here: http://chessprogramming.wikispaces.com/Perft+Results. It is under "Position 4".
perft 1-5 works just fine. perft 6 plies yields a result of 706045032 nodes, whereas it should yield 706045033 nodes.
I do not have any data for the capture/castle/ep counts, other than that they 'should' be working.
I know that you don't have my code, but given that it is off 1 in 700 million, can you speculate (with reason) on some special circumstance that only occurs once that is not functioning correctly in my engine?
Note: the issue only appears in the 6th ply, so it must never occur in plies 1-5.
Thanks. This is just a really odd problem, so I am looking for some suggestions so I can keep thinking and debugging.
P.S.: Is Stockfish's perft multithreaded? It is sooooooo fast.
The correct results (verified by me with stockfish) can be found here: http://chessprogramming.wikispaces.com/Perft+Results. It is under "Position 4".
perft 1-5 works just fine. perft 6 plies yields a result of 706045032 nodes, whereas it should yield 706045033 nodes.
I do not have any data for the capture/castle/ep counts, other than that they 'should' be working.
I know that you don't have my code, but given that it is off 1 in 700 million, can you speculate (with reason) on some special circumstance that only occurs once that is not functioning correctly in my engine?
Note: the issue only appears in the 6th ply, so it must never occur in plies 1-5.
Thanks. This is just a really odd problem, so I am looking for some suggestions so I can keep thinking and debugging.
P.S.: Is Stockfish's perft multithreaded? It is sooooooo fast.