Today I have played with perft after a long absence from chess programming.
I have a problem with
[D]8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - -
and the numbers given here: http://chessprogramming.wikispaces.com/Perft+Results
The table gives the numbers for depth 5: 674624 nodes, 52051 captures, 1165 en_passants.
But my numbers are: 674543 nodes, 51970 captures, 1084 en_passants.
I can reproduce the numbers from wikispaces if I deactivate the test if the
king is checked through the captured en_passant pawn, that was 'pinned'.
Which numbers are right?
Here is a part of my logfile with a divided perft.
My perft depth differs by 1 and the mate numbers by another ply.
C=color (0=W, 1=B), P=piece (0=P, N, B, R, Q, K=6), F=from, T=to, (H1=0, A8=63) X=capture, >=promotion.
Sorry, nicer output is on the todo list.
Code: Select all
0089075463: 0000003240: Perft 4
0089075463: 0000003241: Ply 1: C 0 P 1 F 11 T 19 X 0 > 0
0089075478: 0000006569: Perft divide 4: 45326 nodes, 5417 captures, 73 en_passants, 0 castles, 0 promotions, 3847 checks, 3 checkmates, 0 stalemates
0089075478: 0000006569: Ply 1: C 0 P 1 F 9 T 17 X 0 > 0
0089075478: 0000007642: Perft divide 4: 14747 nodes, 1545 captures, 19 en_passants, 0 castles, 0 promotions, 880 checks, 0 checkmates, 0 stalemates
0089075478: 0000007642: Ply 1: C 0 P 1 F 11 T 27 X 0 > 0
0089075494: 0000010584: Perft divide 4: 36889 nodes, 2419 captures, 74 en_passants, 0 castles, 0 promotions, 2600 checks, 2 checkmates, 0 stalemates
0089075494: 0000010584: Ply 1: C 0 P 1 F 9 T 25 X 0 > 0
0089075510: 0000014530: Perft divide 4: 53895 nodes, 4900 captures, 87 en_passants, 0 castles, 0 promotions, 2070 checks, 3 checkmates, 0 stalemates
0089075510: 0000014530: Ply 1: C 0 P 4 F 30 T 26 X 1 > 0
0089075510: 0000015180: Perft divide 4: 10774 nodes, 311 captures, 21 en_passants, 0 castles, 0 promotions, 1014 checks, 0 checkmates, 0 stalemates
0089075510: 0000015180: Ply 1: C 0 P 4 F 30 T 31 X 0 > 0
0089075525: 0000018417: Perft divide 4: 45580 nodes, 3199 captures, 63 en_passants, 0 castles, 0 promotions, 3683 checks, 1 checkmates, 0 stalemates
0089075525: 0000018417: Ply 1: C 0 P 4 F 30 T 29 X 0 > 0
0089075541: 0000022484: Perft divide 4: 63770 nodes, 6330 captures, 74 en_passants, 0 castles, 0 promotions, 5068 checks, 1 checkmates, 0 stalemates
0089075541: 0000022484: Ply 1: C 0 P 4 F 30 T 28 X 0 > 0
0089075556: 0000026365: Perft divide 4: 59563 nodes, 5996 captures, 88 en_passants, 0 castles, 0 promotions, 5020 checks, 1 checkmates, 0 stalemates
0089075556: 0000026365: Ply 1: C 0 P 4 F 30 T 27 X 0 > 0
0089075572: 0000030000: Perft divide 4: 54181 nodes, 4360 captures, 83 en_passants, 0 castles, 0 promotions, 5020 checks, 1 checkmates, 0 stalemates
0089075572: 0000030000: Ply 1: C 0 P 4 F 30 T 22 X 0 > 0
0089075588: 0000033922: Perft divide 4: 59708 nodes, 2932 captures, 83 en_passants, 0 castles, 0 promotions, 5533 checks, 1 checkmates, 0 stalemates
0089075588: 0000033922: Ply 1: C 0 P 4 F 30 T 14 X 0 > 0
0089075588: 0000037472: Perft divide 4: 48486 nodes, 2378 captures, 70 en_passants, 0 castles, 0 promotions, 3157 checks, 1 checkmates, 0 stalemates
0089075588: 0000037472: Ply 1: C 0 P 4 F 30 T 6 X 0 > 0
0089075603: 0000041953: Perft divide 4: 69653 nodes, 2989 captures, 86 en_passants, 0 castles, 0 promotions, 5884 checks, 1 checkmates, 0 stalemates
0089075603: 0000041953: Ply 1: C 0 P 6 F 39 T 47 X 0 > 0
0089075619: 0000045862: Perft divide 4: 59028 nodes, 4840 captures, 136 en_passants, 0 castles, 0 promotions, 4784 checks, 1 checkmates, 0 stalemates
0089075619: 0000045862: Ply 1: C 0 P 6 F 39 T 31 X 0 > 0
0089075634: 0000049496: Perft divide 4: 52943 nodes, 4354 captures, 127 en_passants, 0 castles, 0 promotions, 4390 checks, 1 checkmates, 0 stalemates
0089075634: 0000049496: Perft 4: 674543 nodes, 51970 captures, 1084 en_passants, 0 castles, 0 promotions, 52950 checks, 17 checkmates, 0 stalemates
0089075634: 0000049496: Time 171 ms, 3944695 nps
Code: Select all
0089206145: 0000003240: Perft 4
0089206145: 0000003241: Ply 1: C 0 P 1 F 11 T 19 X 0 > 0
0089206160: 0000006569: Perft divide 4: 45326 nodes, 5417 captures, 73 en_passants, 0 castles, 0 promotions, 3847 checks, 3 checkmates, 0 stalemates
0089206160: 0000006569: Ply 1: C 0 P 1 F 9 T 17 X 0 > 0
0089206160: 0000007642: Perft divide 4: 14747 nodes, 1545 captures, 19 en_passants, 0 castles, 0 promotions, 880 checks, 0 checkmates, 0 stalemates
0089206160: 0000007642: Ply 1: C 0 P 1 F 11 T 27 X 0 > 0
0089206176: 0000010584: Perft divide 4: 36889 nodes, 2419 captures, 74 en_passants, 0 castles, 0 promotions, 2600 checks, 2 checkmates, 0 stalemates
0089206176: 0000010584: Ply 1: C 0 P 1 F 9 T 25 X 0 > 0
0089206176: 0000014530: Perft divide 4: 53895 nodes, 4900 captures, 87 en_passants, 0 castles, 0 promotions, 2070 checks, 3 checkmates, 0 stalemates
0089206176: 0000014530: Ply 1: C 0 P 4 F 30 T 26 X 1 > 0
0089206192: 0000015180: Perft divide 4: 10776 nodes, 313 captures, 23 en_passants, 0 castles, 0 promotions, 1014 checks, 0 checkmates, 0 stalemates
0089206192: 0000015180: Ply 1: C 0 P 4 F 30 T 31 X 0 > 0
0089206192: 0000018417: Perft divide 4: 45591 nodes, 3210 captures, 74 en_passants, 0 castles, 0 promotions, 3683 checks, 1 checkmates, 0 stalemates
0089206192: 0000018417: Ply 1: C 0 P 4 F 30 T 29 X 0 > 0
0089206207: 0000022484: Perft divide 4: 63781 nodes, 6341 captures, 85 en_passants, 0 castles, 0 promotions, 5068 checks, 1 checkmates, 0 stalemates
0089206207: 0000022484: Ply 1: C 0 P 4 F 30 T 28 X 0 > 0
0089206223: 0000026365: Perft divide 4: 59574 nodes, 6007 captures, 99 en_passants, 0 castles, 0 promotions, 5020 checks, 1 checkmates, 0 stalemates
0089206223: 0000026365: Ply 1: C 0 P 4 F 30 T 27 X 0 > 0
0089206238: 0000030000: Perft divide 4: 54192 nodes, 4371 captures, 94 en_passants, 0 castles, 0 promotions, 5020 checks, 1 checkmates, 0 stalemates
0089206238: 0000030000: Ply 1: C 0 P 4 F 30 T 22 X 0 > 0
0089206254: 0000033922: Perft divide 4: 59719 nodes, 2943 captures, 94 en_passants, 0 castles, 0 promotions, 5533 checks, 1 checkmates, 0 stalemates
0089206254: 0000033922: Ply 1: C 0 P 4 F 30 T 14 X 0 > 0
0089206270: 0000037472: Perft divide 4: 48498 nodes, 2390 captures, 82 en_passants, 0 castles, 0 promotions, 3157 checks, 1 checkmates, 0 stalemates
0089206270: 0000037472: Ply 1: C 0 P 4 F 30 T 6 X 0 > 0
0089206285: 0000041953: Perft divide 4: 69665 nodes, 3001 captures, 98 en_passants, 0 castles, 0 promotions, 5884 checks, 1 checkmates, 0 stalemates
0089206285: 0000041953: Ply 1: C 0 P 6 F 39 T 47 X 0 > 0
0089206301: 0000045862: Perft divide 4: 59028 nodes, 4840 captures, 136 en_passants, 0 castles, 0 promotions, 4784 checks, 1 checkmates, 0 stalemates
0089206301: 0000045862: Ply 1: C 0 P 6 F 39 T 31 X 0 > 0
0089206301: 0000049496: Perft divide 4: 52943 nodes, 4354 captures, 127 en_passants, 0 castles, 0 promotions, 4390 checks, 1 checkmates, 0 stalemates
0089206316: 0000049496: Perft 4: 674624 nodes, 52051 captures, 1165 en_passants, 0 castles, 0 promotions, 52950 checks, 17 checkmates, 0 stalemates
0089206316: 0000049496: Time 156 ms, 4324512 nps