perft for 8x8 checkers
Posted: Fri May 08, 2009 11:09 pm
Apologies in advance for going somewhat off-topic, but for programmers that want to take a break from chess and write a 8x8 checkers engine instead, here are some perft() numbers from the starting position, computed on a 2.2 GHz Core 2 Duo (except the last three, which were obtained using a distributed implementation on a cluster of machines):
The divide() breakdown per-move for the last three depths are shown below:
Code: Select all
perft(1) = 7 in 0 ms.
perft(2) = 49 in 0 ms.
perft(3) = 302 in 0 ms.
perft(4) = 1469 in 0 ms.
perft(5) = 7361 in 0 ms.
perft(6) = 36768 in 1 ms. 36,768.0 KN/s
perft(7) = 179740 in 5 ms. 35,948.0 KN/s
perft(8) = 845931 in 23 ms. 36,779.6 KN/s
perft(9) = 3963680 in 86 ms. 46,089.3 KN/s
perft(10) = 18391564 in 398 ms. 46,210.0 KN/s
perft(11) = 85242128 in 1821 ms. 46,810.6 KN/s
perft(12) = 388623673 in 8395 ms. 46,292.3 KN/s
perft(13) = 1766623630 in 37182 ms. 47,512.9 KN/s
perft(14) = 7978439499 in 174947 ms. 45,604.9 KN/s
perft(15) = 36263167175 in 808155 ms. 44,871.5 KN/s
perft(16) = 165629569428 in 3767118 ms. 43,967.2 KN/s
perft(17) = 758818810990 in 17317695 ms. 43,817.5 KN/s
perft(18) = 3493881706141
perft(19) = 16114043592799
perft(20) = 74545030871553
Code: Select all
move divide(18) divide(19) divide(20)
------------------------------------------------------------
0 : 12-16 : 550829166472 2517202147314 11531470109861
1 : 11-16 : 566149929068 2564849953998 11736729175821
2 : 11-15 : 435063007630 2041959240377 9515983205474
3 : 10-15 : 472279451484 2180656975018 10055597639275
4 : 10-14 : 402570639569 1859042884028 8600202424158
5 : 9-14 : 441590753001 2068865301476 9698986164172
6 : 9-13 : 625398758917 2881467090588 13406062152792
------------------------------------------------------------
3493881706141 16114043592799 74545030871553