Perft Results
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