Difference between revisions of "Perft Results"
GerdIsenberg (talk | contribs) (Created page with "'''Home * Board Representation * Move Generation * Perft * Results''' This page contains detailed perft results for several positions that...") |
(→2020 ...) |
||
(22 intermediate revisions by 4 users not shown) | |||
Line 4: | Line 4: | ||
=Initial Position= | =Initial Position= | ||
− | Obviously, Perft(1) of the [[Initial Position|initial position]] is 20, Perft(2) 400. Data of Perft(10) up to Perft(13) was provided by [[Steven Edwards]], generated by [[Symbolic]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=46055 Perft FEN data] by [[Steven Edwards]], [[CCC]], November 18, 2012</ref> . | + | Obviously, Perft(1) of the [[Initial Position|initial position]] is 20, Perft(2) 400. Data of Perft(10) up to Perft(13) was provided by [[Steven Edwards]], generated by [[Symbolic]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=46055 Perft FEN data] by [[Steven Edwards]], [[CCC]], November 18, 2012</ref>, when Perft(14)<ref>[http://www.talkchess.com/forum/viewtopic.php?t=61119&start=30 Re: yet another attempt on Perft(14)] by [[Ankan Banerjee]], [[CCC]], September 09, 2016</ref> and Perft(15)<ref>[http://www.talkchess.com/forum/viewtopic.php?t=64983&start=4 Re: perft(15)] by [[Ankan Banerjee]], [[CCC]], August 25, 2017</ref> were provided by [[Ankan Banerjee]]. |
<fentt border="double" style="font-size:24pt">rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR</fentt> | <fentt border="double" style="font-size:24pt">rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR</fentt> | ||
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1 | rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1 | ||
Line 15: | Line 15: | ||
! E.p. | ! E.p. | ||
! Castles | ! Castles | ||
− | + | ! Promotions | |
− | ! Checks | + | ! Checks |
+ | ! Discovery Checks | ||
+ | ! Double Checks | ||
! Checkmates | ! Checkmates | ||
|- | |- | ||
| style="text-align:center;" | 0 | | style="text-align:center;" | 0 | ||
| style="text-align:right;" | 1 | | style="text-align:right;" | 1 | ||
+ | | style="text-align:right;" | 0 | ||
+ | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
Line 30: | Line 34: | ||
| style="text-align:center;" | 1 | | style="text-align:center;" | 1 | ||
| style="text-align:right;" | 20 | | style="text-align:right;" | 20 | ||
+ | | style="text-align:right;" | 0 | ||
+ | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
Line 39: | Line 45: | ||
| style="text-align:center;" | 2 | | style="text-align:center;" | 2 | ||
| style="text-align:right;" | 400 | | style="text-align:right;" | 400 | ||
+ | | style="text-align:right;" | 0 | ||
+ | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
Line 53: | Line 61: | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 12 | | style="text-align:right;" | 12 | ||
+ | | style="text-align:right;" | 0 | ||
+ | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
|- | |- | ||
Line 62: | Line 72: | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 469 | | style="text-align:right;" | 469 | ||
+ | | style="text-align:right;" | 0 | ||
+ | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 8 | | style="text-align:right;" | 8 | ||
|- | |- | ||
| style="text-align:center;" | 5 | | style="text-align:center;" | 5 | ||
| style="text-align:right;" | 4,865,609 | | style="text-align:right;" | 4,865,609 | ||
− | | style="text-align:right;" | | + | | style="text-align:right;" | 82,719 |
| style="text-align:right;" | 258 | | style="text-align:right;" | 258 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
− | | style="text-align:right;" | | + | | style="text-align:right;" | 27,351 |
+ | | style="text-align:right;" | 6 | ||
+ | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 347 | | style="text-align:right;" | 347 | ||
|- | |- | ||
| style="text-align:center;" | 6 | | style="text-align:center;" | 6 | ||
| style="text-align:right;" | 119,060,324 | | style="text-align:right;" | 119,060,324 | ||
− | | style="text-align:right;" | | + | | style="text-align:right;" | 2,812,008 |
| style="text-align:right;" | 5248 | | style="text-align:right;" | 5248 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
− | | style="text-align:right;" | | + | | style="text-align:right;" | 809,099 |
− | | style="text-align:right;" | | + | | style="text-align:right;" | 329 |
+ | | style="text-align:right;" | 46 | ||
+ | | style="text-align:right;" | 10,828 | ||
|- | |- | ||
| style="text-align:center;" | 7 | | style="text-align:center;" | 7 | ||
| style="text-align:right;" | 3,195,901,860 | | style="text-align:right;" | 3,195,901,860 | ||
+ | | style="text-align:right;" | 108,329,926 | ||
+ | | style="text-align:right;" | 319,617 | ||
+ | | style="text-align:right;" | 883,453 | ||
+ | | style="text-align:right;" | 0 | ||
+ | | style="text-align:right;" | 33,103,848 | ||
+ | | style="text-align:right;" | 18,026 | ||
+ | | style="text-align:right;" | 1628 | ||
+ | | style="text-align:right;" | 435,767 | ||
|- | |- | ||
| style="text-align:center;" | 8 | | style="text-align:center;" | 8 | ||
| style="text-align:right;" | 84,998,978,956 | | style="text-align:right;" | 84,998,978,956 | ||
+ | | style="text-align:right;" | 3,523,740,106 | ||
+ | | style="text-align:right;" | 7,187,977 | ||
+ | | style="text-align:right;" | 23,605,205 | ||
+ | | style="text-align:right;" | 0 | ||
+ | | style="text-align:right;" | 968,981,593 | ||
+ | | style="text-align:right;" | 847,039 | ||
+ | | style="text-align:right;" | 147,215 | ||
+ | | style="text-align:right;" | 9,852,036 | ||
|- | |- | ||
| style="text-align:center;" | 9 | | style="text-align:center;" | 9 | ||
− | | style="text-align:right;" | 2,439,530,234,167 | + | | style="text-align:right;" | 2,439,530,234,167 |
+ | | style="text-align:right;" | 125,208,536,153 | ||
+ | | style="text-align:right;" | 319,496,827 | ||
+ | | style="text-align:right;" | 1,784,356,000 | ||
+ | | style="text-align:right;" | 17,334,376 | ||
+ | | style="text-align:right;" | 36,095,901,903 | ||
+ | | style="text-align:right;" | 37,101,713 | ||
+ | | style="text-align:right;" | 5,547,231 | ||
+ | | style="text-align:right;" | 400,191,963 | ||
|- | |- | ||
| style="text-align:center;" | 10 | | style="text-align:center;" | 10 | ||
Line 131: | Line 171: | ||
<span id="kiwipete"></span> | <span id="kiwipete"></span> | ||
=Position 2= | =Position 2= | ||
− | also | + | also known as '''Kiwipete''' by [[Peter McKenzie]] <ref>[https://www.stmintz.com/ccc/index.php?id=274926 kiwipete perft position] by [[Russell Reagan]], [[CCC]], January 04, 2003</ref>. The number of double-checks in depth 5 is discussed in [[CCC|Talkchess]] <ref>[http://talkchess.com/forum3/viewtopic.php?f=7&t=78402 Perft statistics - chessprogrammingwiki] by [[Murat Yirci]], [[CCC]], October 10, 2021</ref> and may be 2645 instead of 2637. |
<fentt border="double" style="font-size:24pt">r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R</fentt> | <fentt border="double" style="font-size:24pt">r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R</fentt> | ||
r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - | r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - | ||
Line 144: | Line 184: | ||
! Promotions | ! Promotions | ||
! Checks | ! Checks | ||
+ | ! Discovery Checks | ||
+ | ! Double Checks | ||
! Checkmates | ! Checkmates | ||
|- | |- | ||
Line 152: | Line 194: | ||
| style="text-align:right;" | 2 | | style="text-align:right;" | 2 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
+ | | style="text-align:right;" | 0 | ||
+ | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
Line 163: | Line 207: | ||
| style="text-align:right;" | 3 | | style="text-align:right;" | 3 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
+ | | style="text-align:right;" | 0 | ||
+ | | style="text-align:right;" | 0 | ||
|- | |- | ||
| style="text-align:center;" | 3 | | style="text-align:center;" | 3 | ||
Line 171: | Line 217: | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 993 | | style="text-align:right;" | 993 | ||
+ | | style="text-align:right;" | 0 | ||
+ | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 1 | | style="text-align:right;" | 1 | ||
|- | |- | ||
Line 179: | Line 227: | ||
| style="text-align:right;" | 128013 | | style="text-align:right;" | 128013 | ||
| style="text-align:right;" | 15172 | | style="text-align:right;" | 15172 | ||
− | | style="text-align:right;" | 25523 | + | | style="text-align:right;" | 25523 |
+ | | style="text-align:right;" | 42 | ||
+ | | style="text-align:right;" | 6 | ||
| style="text-align:right;" | 43 | | style="text-align:right;" | 43 | ||
|- | |- | ||
Line 189: | Line 239: | ||
| style="text-align:right;" | 8392 | | style="text-align:right;" | 8392 | ||
| style="text-align:right;" | 3309887 | | style="text-align:right;" | 3309887 | ||
+ | | style="text-align:right;" | 19883 | ||
+ | | style="text-align:right;" | 2637 | ||
| style="text-align:right;" | 30171 | | style="text-align:right;" | 30171 | ||
+ | |- | ||
+ | | style="text-align:center;" | 6 | ||
+ | | style="text-align:right;" | 8031647685 | ||
+ | | style="text-align:right;" | 1558445089 | ||
+ | | style="text-align:right;" | 3577504 | ||
+ | | style="text-align:right;" | 184513607 | ||
+ | | style="text-align:right;" | 56627920 | ||
+ | | style="text-align:right;" | 92238050 | ||
+ | | style="text-align:right;" | 568417 | ||
+ | | style="text-align:right;" | 54948 | ||
+ | | style="text-align:right;" | 360003 | ||
|} | |} | ||
<span id="Position3"></span> | <span id="Position3"></span> | ||
+ | |||
=Position 3= | =Position 3= | ||
<fentt border="double" style="font-size:24pt">8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8</fentt> | <fentt border="double" style="font-size:24pt">8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8</fentt> | ||
Line 204: | Line 268: | ||
! Castles | ! Castles | ||
! Promotions | ! Promotions | ||
− | ! Checks | + | ! Checks |
+ | ! Discovery Checks | ||
+ | ! Double Checks | ||
! Checkmates | ! Checkmates | ||
|- | |- | ||
Line 214: | Line 280: | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 2 | | style="text-align:right;" | 2 | ||
+ | | style="text-align:right;" | 0 | ||
+ | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
|- | |- | ||
Line 223: | Line 291: | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 10 | | style="text-align:right;" | 10 | ||
+ | | style="text-align:right;" | 0 | ||
+ | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
|- | |- | ||
Line 232: | Line 302: | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 267 | | style="text-align:right;" | 267 | ||
+ | | style="text-align:right;" | 3 | ||
+ | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
|- | |- | ||
Line 241: | Line 313: | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 1680 | | style="text-align:right;" | 1680 | ||
+ | | style="text-align:right;" | 106 | ||
+ | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 17 | | style="text-align:right;" | 17 | ||
|- | |- | ||
Line 249: | Line 323: | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
− | | style="text-align:right;" | 52950 | + | | style="text-align:right;" | 52950 |
+ | | style="text-align:right;" | 1292 | ||
+ | | style="text-align:right;" | 3 | ||
| style="text-align:right;" | 0 | | style="text-align:right;" | 0 | ||
|- | |- | ||
Line 259: | Line 335: | ||
| style="text-align:right;" | 7552 | | style="text-align:right;" | 7552 | ||
| style="text-align:right;" | 452473 | | style="text-align:right;" | 452473 | ||
+ | | style="text-align:right;" | 26067 | ||
+ | | style="text-align:right;" | 0 | ||
| style="text-align:right;" | 2733 | | style="text-align:right;" | 2733 | ||
|- | |- | ||
Line 268: | Line 346: | ||
| style="text-align:right;" | 140024 | | style="text-align:right;" | 140024 | ||
| style="text-align:right;" | 12797406 | | style="text-align:right;" | 12797406 | ||
+ | | style="text-align:right;" | 370630 | ||
+ | | style="text-align:right;" | 3612 | ||
| style="text-align:right;" | 87 | | style="text-align:right;" | 87 | ||
+ | |- | ||
+ | | style="text-align:center;" | 8 | ||
+ | | style="text-align:right;" | 3009794393 | ||
+ | | style="text-align:right;" | 267586558 | ||
+ | | style="text-align:right;" | 8009239 | ||
+ | | style="text-align:right;" | 0 | ||
+ | | style="text-align:right;" | 6578076 | ||
+ | | style="text-align:right;" | 135626805 | ||
+ | | style="text-align:right;" | 7181487 | ||
+ | | style="text-align:right;" | 1630 | ||
+ | | style="text-align:right;" | 450410 | ||
|} | |} | ||
<span id="Position4"></span> | <span id="Position4"></span> | ||
Line 344: | Line 435: | ||
<span id="Position5"></span> | <span id="Position5"></span> | ||
=Position 5= | =Position 5= | ||
− | This position was discussed on [[CCC|Talkchess]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=42463 REPORT: wrong perft result by qperft] by [[Jesús Muñoz]], [[CCC]], February 14, 2012</ref> and caught bugs in engines several years old at depth 3 <ref>[http://www.talkchess.com/forum/viewtopic.php?topic_view=threads&p=450535&t=42463 Re: REPORT: wrong perft result by qperft] by [[Julien | + | This position was discussed on [[CCC|Talkchess]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=42463 REPORT: wrong perft result by qperft] by [[Jesús Muñoz]], [[CCC]], February 14, 2012</ref> and caught bugs in engines several years old at depth 3 <ref>[http://www.talkchess.com/forum/viewtopic.php?topic_view=threads&p=450535&t=42463 Re: REPORT: wrong perft result by qperft] by [[Julien Marcel]], [[CCC]], February 14, 2012</ref> and was also reported wrong here <ref>[http://www.talkchess.com/forum/viewtopic.php?t=42463&start=18 Re: Correction of my error] by [[Eugene Kotlov]], [[CCC]], July 17, 2015</ref>, hopefully now corrected with the results given by [[Steven Edwards]], July 18, 2015 <ref>[http://www.talkchess.com/forum/viewtopic.php?t=42463&start=21 Re: Correction of my error] by [[Steven Edwards]], [[CCC]], July 18, 2015</ref> |
<fentt border="double" style="font-size:24pt">rnbq1k1r/pp1Pbppp/2p5/8/2B5/8/PPP1NnPP/RNBQK2R</fentt> | <fentt border="double" style="font-size:24pt">rnbq1k1r/pp1Pbppp/2p5/8/2B5/8/PPP1NnPP/RNBQK2R</fentt> | ||
rnbq1k1r/pp1Pbppp/2p5/8/2B5/8/PPP1NnPP/RNBQK2R w KQ - 1 8 | rnbq1k1r/pp1Pbppp/2p5/8/2B5/8/PPP1NnPP/RNBQK2R w KQ - 1 8 | ||
Line 409: | Line 500: | ||
| style="text-align:right;" | 490,154,852,788,714 | | style="text-align:right;" | 490,154,852,788,714 | ||
|} | |} | ||
+ | |||
+ | =See also= | ||
+ | * [[Chess960 Perft Results]] | ||
+ | * [[Chinese Chess Perft Results]] | ||
=Forum Posts= | =Forum Posts= | ||
Line 444: | Line 539: | ||
: [http://www.talkchess.com/forum/viewtopic.php?t=61119&start=30 Re: yet another attempt on Perft(14)] by [[Ankan Banerjee]], [[CCC]], September 09, 2016 | : [http://www.talkchess.com/forum/viewtopic.php?t=61119&start=30 Re: yet another attempt on Perft(14)] by [[Ankan Banerjee]], [[CCC]], September 09, 2016 | ||
* [http://www.talkchess.com/forum/viewtopic.php?t=61329 Two perft(7) mismatches from work unit 571] by [[Steven Edwards]], [[CCC]], September 04, 2016 | * [http://www.talkchess.com/forum/viewtopic.php?t=61329 Two perft(7) mismatches from work unit 571] by [[Steven Edwards]], [[CCC]], September 04, 2016 | ||
− | '''2017''' | + | '''2017 ...''' |
* [http://www.talkchess.com/forum/viewtopic.php?t=64983 perft(15)] by [[Ankan Banerjee]], [[CCC]], August 25, 2017 » [[Perft#15|Perft(15)]] | * [http://www.talkchess.com/forum/viewtopic.php?t=64983 perft(15)] by [[Ankan Banerjee]], [[CCC]], August 25, 2017 » [[Perft#15|Perft(15)]] | ||
: [http://www.talkchess.com/forum/viewtopic.php?t=64983&start=4 Re: perft(15)] by [[Ankan Banerjee]], [[CCC]], August 25, 2017 | : [http://www.talkchess.com/forum/viewtopic.php?t=64983&start=4 Re: perft(15)] by [[Ankan Banerjee]], [[CCC]], August 25, 2017 | ||
+ | * [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=70543 Contrived position for perft] by [[Michael Sherwin]], [[CCC]], April 21, 2019 | ||
+ | * [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=71379 You gotta love Perft... just not too much!] by [[Martin Bryant]], [[CCC]], July 27, 2019 | ||
+ | * [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=71841&p=812577 Level 11 Perft statistics] by [[Andreas Øverland]], [[CCC]], September 17, 2019 | ||
+ | ==2020 ...== | ||
+ | * [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=75877 Place to find correct perft result from a fen position] by [[Elias Nilsson]], [[CCC]], November 20, 2020 | ||
+ | * [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=76430 Chinese chess Xiangqi perft results] by [[Maksim Korzh]], [[CCC]], January 27, 2021 » [[Chinese Chess Perft Results]] | ||
+ | * [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=77069 Perft 7 -> 1.6 trillion moves] by [[Michael Byrne|MikeB]], [[CCC]], April 12, 2021 | ||
+ | * [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=77350 Being silly with perft and legal move generation] by [[Jakob Progsch]], [[CCC]], May 19, 2021 » [[Move Generation#Legal|Legal Move Generation]], [[En passant]] | ||
+ | * [https://talkchess.com/viewtopic.php?t=83392 Perft(16) estimate after averaging MC samples.] by Ajedrecista, [[CCC]], February 26, 2024 | ||
=External Links= | =External Links= | ||
− | * [ | + | * [https://oeis.org/A048987 A048987] from [https://en.wikipedia.org/wiki/On-Line_Encyclopedia_of_Integer_Sequences On-Line Encyclopedia of Integer Sequences (OEIS)] |
− | * [ | + | * [https://home.hccnet.nl/h.g.muller/dwnldpage.html µ-Max Dowload Page - qperft] by [[Harm Geert Muller]] |
− | * [ | + | * [https://marcelk.net/rookie/nostalgia/v3/perft-random.epd perft-random.epd] by [[Marcel van Kervinck]] |
− | * [http://www.albert.nu/programs/sharper/perft.htm Sharper - Perft calculation] by [[Albert Bertilsson]] | + | * [https://craftychess.com/documentation/craftydoc.html Crafty Command Documentation] by [[Robert Hyatt]], see [[Crafty]] perft <depth> |
− | * [http://www.albert.nu/programs/dperft/ | + | * [https://web.archive.org/web/20060430011809/http://www.albert.nu/programs/sharper/perft.htm Sharper - Perft calculation] by [[Albert Bertilsson]] ([https://en.wikipedia.org/wiki/Wayback_Machine Wayback Machine]) |
+ | * [https://web.archive.org/web/20130517080941/http://www.albert.nu/programs/dperft/default.asp Distributed Perft Project] by [[Albert Bertilsson]] ([https://en.wikipedia.org/wiki/Wayback_Machine Wayback Machine]) | ||
* [http://www.rocechess.ch/perft.html perft, divide, debugging a move generator] from [[ROCE]] by [[Roman Hartmann]] | * [http://www.rocechess.ch/perft.html perft, divide, debugging a move generator] from [[ROCE]] by [[Roman Hartmann]] | ||
+ | * [https://sites.google.com/site/numptychess/perft Perft - sample test positions] used by [[Numpty chess]] | ||
* [https://www.stmintz.com/ccc/index.php?terms=perft&search=1 Perft], search the [[Computer Chess Forums|CCC Archives]] | * [https://www.stmintz.com/ccc/index.php?terms=perft&search=1 Perft], search the [[Computer Chess Forums|CCC Archives]] | ||
− | |||
* [https://wismuth.com/chess/statistics-games.html Statistics on chess games] by [[Mathematician#FLabelle|François Labelle]] | * [https://wismuth.com/chess/statistics-games.html Statistics on chess games] by [[Mathematician#FLabelle|François Labelle]] | ||
− | * [https:// | + | * [https://github.com/elcabesa/vajolet/blob/master/tests/perft.txt vajolet/perft.txt at master · elcabesa/vajolet · GitHub] by [[Marco Belli]] |
− | |||
=References= | =References= | ||
<references /> | <references /> | ||
− | |||
'''[[Perft|Up one level]]''' | '''[[Perft|Up one level]]''' |
Latest revision as of 18:00, 15 March 2024
Home * Board Representation * Move Generation * Perft * Results
This page contains detailed perft results for several positions that are useful for debugging, beginning with the start position. Captures, checkmates, and other information have been included along with the node counts (leaf nodes, excluding internal or interior nodes) or movepath enumerations. The move counters consider moves to the leaf positions only.
Contents
Initial Position
Obviously, Perft(1) of the initial position is 20, Perft(2) 400. Data of Perft(10) up to Perft(13) was provided by Steven Edwards, generated by Symbolic [1], when Perft(14)[2] and Perft(15)[3] were provided by Ankan Banerjee.
♜♞♝♛♚♝♞♜ ♟♟♟♟♟♟♟♟ ♙♙♙♙♙♙♙♙ ♖♘♗♕♔♗♘♖ |
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
Depth | Nodes | Captures | E.p. | Castles | Promotions | Checks | Discovery Checks | Double Checks | Checkmates |
---|---|---|---|---|---|---|---|---|---|
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 20 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | 400 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
3 | 8,902 | 34 | 0 | 0 | 0 | 12 | 0 | 0 | 0 |
4 | 197,281 | 1576 | 0 | 0 | 0 | 469 | 0 | 0 | 8 |
5 | 4,865,609 | 82,719 | 258 | 0 | 0 | 27,351 | 6 | 0 | 347 |
6 | 119,060,324 | 2,812,008 | 5248 | 0 | 0 | 809,099 | 329 | 46 | 10,828 |
7 | 3,195,901,860 | 108,329,926 | 319,617 | 883,453 | 0 | 33,103,848 | 18,026 | 1628 | 435,767 |
8 | 84,998,978,956 | 3,523,740,106 | 7,187,977 | 23,605,205 | 0 | 968,981,593 | 847,039 | 147,215 | 9,852,036 |
9 | 2,439,530,234,167 | 125,208,536,153 | 319,496,827 | 1,784,356,000 | 17,334,376 | 36,095,901,903 | 37,101,713 | 5,547,231 | 400,191,963 |
10 | 69,352,859,712,417 | ||||||||
11 | 2,097,651,003,696,806 | ||||||||
12 | 62,854,969,236,701,747 [4] | ||||||||
13 | 1,981,066,775,000,396,239 | ||||||||
14 | 61,885,021,521,585,529,237 [5] | ||||||||
15 | 2,015,099,950,053,364,471,960 [6] |
Perft 10
Perft 11
Perft 12
Perft 13
Summary
Position 2
also known as Kiwipete by Peter McKenzie [7]. The number of double-checks in depth 5 is discussed in Talkchess [8] and may be 2645 instead of 2637.
♜ ♚ ♜ ♟ ♟♟♛♟♝ ♝♞ ♟♞♟ ♙♘ ♟ ♙ ♘ ♕ ♟ ♙♙♙♗♗♙♙♙ ♖ ♔ ♖ |
r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -
Depth | Nodes | Captures | E.p. | Castles | Promotions | Checks | Discovery Checks | Double Checks | Checkmates |
---|---|---|---|---|---|---|---|---|---|
1 | 48 | 8 | 0 | 2 | 0 | 0 | 0 | 0 | 0 |
2 | 2039 | 351 | 1 | 91 | 0 | 3 | 0 | 0 | 0 |
3 | 97862 | 17102 | 45 | 3162 | 0 | 993 | 0 | 0 | 1 |
4 | 4085603 | 757163 | 1929 | 128013 | 15172 | 25523 | 42 | 6 | 43 |
5 | 193690690 | 35043416 | 73365 | 4993637 | 8392 | 3309887 | 19883 | 2637 | 30171 |
6 | 8031647685 | 1558445089 | 3577504 | 184513607 | 56627920 | 92238050 | 568417 | 54948 | 360003 |
Position 3
♟ ♟ ♔♙ ♜ ♖ ♟ ♚ ♙ ♙ |
8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - -
Depth | Nodes | Captures | E.p. | Castles | Promotions | Checks | Discovery Checks | Double Checks | Checkmates |
---|---|---|---|---|---|---|---|---|---|
1 | 14 | 1 | 0 | 0 | 0 | 2 | 0 | 0 | 0 |
2 | 191 | 14 | 0 | 0 | 0 | 10 | 0 | 0 | 0 |
3 | 2812 | 209 | 2 | 0 | 0 | 267 | 3 | 0 | 0 |
4 | 43238 | 3348 | 123 | 0 | 0 | 1680 | 106 | 0 | 17 |
5 | [9] 674624 | 52051 | 1165 | 0 | 0 | 52950 | 1292 | 3 | 0 |
6 | 11030083 | 940350 | 33325 | 0 | 7552 | 452473 | 26067 | 0 | 2733 |
7 | 178633661 | 14519036 | 294874 | 0 | 140024 | 12797406 | 370630 | 3612 | 87 |
8 | 3009794393 | 267586558 | 8009239 | 0 | 6578076 | 135626805 | 7181487 | 1630 | 450410 |
Position 4
♜ ♚ ♜ ♙♟♟♟ ♟♟♟ ♝ ♞♝♘ ♞♙ ♗♗♙ ♙ ♛ ♘ ♙♟ ♙ ♙♙ ♖ ♕ ♖♔ |
r3k2r/Pppp1ppp/1b3nbN/nP6/BBP1P3/q4N2/Pp1P2PP/R2Q1RK1 w kq - 0 1
Or mirrored (with the same perft results):
r2q1rk1/pP1p2pp/Q4n2/bbp1p3/Np6/1B3NBn/pPPP1PPP/R3K2R b KQ - 0 1
Depth | Nodes | Captures | E.p. | Castles | Promotions | Checks | Checkmates |
---|---|---|---|---|---|---|---|
1 | 6 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | 264 | 87 | 0 | 6 | 48 | 10 | 0 |
3 | 9467 | 1021 | 4 | 0 | 120 | 38 | 22 |
4 | 422333 | 131393 | 0 | 7795 | 60032 | 15492 | 5 |
5 | 15833292 | 2046173 | 6512 | 0 | 329464 | 200568 | 50562 |
6 | 706045033 | 210369132 | 212 | 10882006 | 81102984 | 26973664 | 81076 |
Position 5
This position was discussed on Talkchess [10] and caught bugs in engines several years old at depth 3 [11] and was also reported wrong here [12], hopefully now corrected with the results given by Steven Edwards, July 18, 2015 [13]
♜♞♝♛ ♚ ♜ ♟♟ ♙♝♟♟♟ ♟ ♗ ♙♙♙ ♘♞♙♙ ♖♘♗♕♔ ♖ |
rnbq1k1r/pp1Pbppp/2p5/8/2B5/8/PPP1NnPP/RNBQK2R w KQ - 1 8
Depth | Nodes |
---|---|
1 | 44 |
2 | 1,486 |
3 | 62,379 |
4 | 2,103,487 |
5 | 89,941,194 |
Position 6
An alternative Perft given by Steven Edwards [14] [15]
♜ ♜♚ ♟♟ ♛♟♟♟ ♟ ♞♟ ♞ ♝ ♟ ♗ ♗ ♙ ♝ ♙ ♘♙ ♘ ♙♙ ♕♙♙♙ ♖ ♖♔ |
r4rk1/1pp1qppp/p1np1n2/2b1p1B1/2B1P1b1/P1NP1N2/1PP1QPPP/R4RK1 w - - 0 10
Depth | Nodes |
---|---|
0 | 1 |
1 | 46 |
2 | 2,079 |
3 | 89,890 |
4 | 3,894,594 |
5 | 164,075,551 |
6 | 6,923,051,137 |
7 | 287,188,994,746 |
8 | 11,923,589,843,526 |
9 | 490,154,852,788,714 |
See also
Forum Posts
2000 ...
- kiwipete perft position by Russell Reagan, CCC, January 04, 2003 » Peter McKenzie, Kiwipete
- perft results (how accurate is accurate enough ?) by Roman Hartmann, CCC, September 23, 2004
2010 ...
- REPORT: wrong perft result by qperft by Jesús Muñoz, CCC, February 14, 2012 » Position 5
- Perft and en_passant by Harald Lüßen, CCC, September 11, 2012 » En passant
- Perft(14) estimates thread by Steven Edwards, CCC, February 26, 2013
- Perft(15) estimates thread by Steven Edwards, CCC, April 10, 2013
- An altenative perft() initial FEN by Steven Edwards, CCC, July 11, 2013
- Impossible perft question by Andy Duplain, CCC, August 01, 2013 » Position 3
- Wide open perft() by Steven Edwards, CCC, August 18, 2013
- Perft(14) revisited by Steven Edwards, CCC, August 08, 2014
- Perft(14) Weekly Status Report by Steven Edwards, CCC, August 24, 2014
- Perft(14) verification by Steven Edwards, CCC, December 28, 2014
2015 ...
- Perft(14) Weekly Status Reports for 2015 by Steven Edwards, CCC, January 04, 2015
- Perft for various positions by Alexandru Mosoi, CCC, January 17, 2015
- Some Chess960/FRC positions to be confirmed by Reinhard Scharnagl, CCC, February 09, 2015 » Chess960
- kiwipete perft position by Henk van den Belt, CCC, March 26, 2015 » Kiwipete
- Perft(14) Weekly Status Reports for 2016 by Steven Edwards, CCC, December 29, 2015
2016
- A perft(7) challenge position by Steven Edwards, CCC, April 07, 2016
- Another perft(7) challenge position by Steven Edwards, CCC, April 13, 2016
- Perft(7) challenge position #3 by Steven Edwards, CCC, April 20, 2016
- Perft(7) challenge position #4 by Steven Edwards, CCC, April 25, 2016
- Perft(7) challenge position #5 by Steven Edwards, CCC, April 25, 2016
- Another perft(7) challenge by Steven Edwards, CCC, May 08, 2016
- Perft(7) challenge position #6 by Steven Edwards, CCC, May 10, 2016
- Perft(7) 64 bit hash mismatch set 8 by Steven Edwards, CCC, May 22, 2016
- Twenty-nine perft(7) mismatches from work unit 528 by Steven Edwards, CCC, July 25, 2016
- yet another attempt on Perft(14) by Ankan Banerjee, CCC, August 13, 2016
- Re: yet another attempt on Perft(14) by Ankan Banerjee, CCC, September 09, 2016
- Two perft(7) mismatches from work unit 571 by Steven Edwards, CCC, September 04, 2016
2017 ...
- perft(15) by Ankan Banerjee, CCC, August 25, 2017 » Perft(15)
- Re: perft(15) by Ankan Banerjee, CCC, August 25, 2017
- Contrived position for perft by Michael Sherwin, CCC, April 21, 2019
- You gotta love Perft... just not too much! by Martin Bryant, CCC, July 27, 2019
- Level 11 Perft statistics by Andreas Øverland, CCC, September 17, 2019
2020 ...
- Place to find correct perft result from a fen position by Elias Nilsson, CCC, November 20, 2020
- Chinese chess Xiangqi perft results by Maksim Korzh, CCC, January 27, 2021 » Chinese Chess Perft Results
- Perft 7 -> 1.6 trillion moves by MikeB, CCC, April 12, 2021
- Being silly with perft and legal move generation by Jakob Progsch, CCC, May 19, 2021 » Legal Move Generation, En passant
- Perft(16) estimate after averaging MC samples. by Ajedrecista, CCC, February 26, 2024
External Links
- A048987 from On-Line Encyclopedia of Integer Sequences (OEIS)
- µ-Max Dowload Page - qperft by Harm Geert Muller
- perft-random.epd by Marcel van Kervinck
- Crafty Command Documentation by Robert Hyatt, see Crafty perft <depth>
- Sharper - Perft calculation by Albert Bertilsson (Wayback Machine)
- Distributed Perft Project by Albert Bertilsson (Wayback Machine)
- perft, divide, debugging a move generator from ROCE by Roman Hartmann
- Perft - sample test positions used by Numpty chess
- Perft, search the CCC Archives
- Statistics on chess games by François Labelle
- vajolet/perft.txt at master · elcabesa/vajolet · GitHub by Marco Belli
References
- ↑ Perft FEN data by Steven Edwards, CCC, November 18, 2012
- ↑ Re: yet another attempt on Perft(14) by Ankan Banerjee, CCC, September 09, 2016
- ↑ Re: perft(15) by Ankan Banerjee, CCC, August 25, 2017
- ↑ Perft(12) count confirmed by Steven Edwards, CCC, April 25, 2011
- ↑ Re: yet another attempt on Perft(14) by Ankan Banerjee, CCC, September 09, 2016
- ↑ Re: perft(15) by Ankan Banerjee, CCC, August 25, 2017
- ↑ kiwipete perft position by Russell Reagan, CCC, January 04, 2003
- ↑ Perft statistics - chessprogrammingwiki by Murat Yirci, CCC, October 10, 2021
- ↑ Impossible perft question by Andy Duplain, CCC, August 01, 2013
- ↑ REPORT: wrong perft result by qperft by Jesús Muñoz, CCC, February 14, 2012
- ↑ Re: REPORT: wrong perft result by qperft by Julien Marcel, CCC, February 14, 2012
- ↑ Re: Correction of my error by Eugene Kotlov, CCC, July 17, 2015
- ↑ Re: Correction of my error by Steven Edwards, CCC, July 18, 2015
- ↑ An altenative perft() initial FEN by Steven Edwards, CCC, July 11, 2013
- ↑ Some perft() results for that alternative test position by Steven Edwards, CCC, August 26, 2013