perft conflict...

Discussion of chess software programming and technical issues.

Moderator: Ras

ibid
Posts: 89
Joined: Mon Jun 13, 2011 12:09 pm

Re: perft conflict...

Post by ibid »

Ajedrecista wrote:Hello Paul:

I run Perft(9) of the same position for verification purposes in the case you want to run Perft(9) searching more bugs:

[d]

Code: Select all

2,149,477,156,227   (move pathes after 9 half moves).

Time: 2637.616 s.
I also have values of Perft(10) and Perft(11) of this position, although was Mr. Edwards who calculated it (or at least I picked up these numbers from his web):

Code: Select all

Perft(10) = 60,403,292,887,824
Perft(11) = 1,825,396,176,881,632
Thank you for those. I get the same numbers for perft 9, 10 and 11, so all is looking well.

I have just started perft 12, estimated time is about 48 hours. From the FENs Steven Edwards has posted, it appears 1. a3 may be one of the earliest moves completed. With any luck we'll get the same result. :)

I am not planning on doing all 20 moves this way (things are not well automated)... unless of course the two programs get a different final result for perft 13, in which case this will provide a way to track down where the difference lies.

There are 8,685,679,350 unique positions after 1. a3 and nine more ply, which is 10.17% of the unique positions ten ply from the initial position. I would imagine moves like 1. e4 would cover a larger percentage of the ten ply positions.

-paul
User avatar
marcelk
Posts: 348
Joined: Sat Feb 27, 2010 12:21 am

Re: perft conflict...

Post by marcelk »

ibid wrote:I've been experimenting with magic in my engine, using i-perft for some verification, and came up with the following:

Code: Select all

i-perft 8 "rnbqkbnr/pppppppp/8/8/8/P7/1PPPPPPP/RNBQKBNR b KQkq - 0 1"

i-perft 1.0 (c) 2006-2008 AJ Siemelink

perft 8  74950759747   673.47s  111.3 mnps   28.9 ticks/op
perft 8 differs from what I get, and after spending some time bug hunting, I ran oliperft:

Code: Select all

oliperft 8 "rnbqkbnr/pppppppp/8/8/8/P7/1PPPPPPP/RNBQKBNR b KQkq - 0 1"

 1     0      0          20
 2     0      0         380
 3     0      0        8457
 4     0      0      181046
 5     0      4     4463267
 6     0     60   106743106
 7     0    981  2863411653
 8     0  22768 74950758099
Which agrees with what I got.

I am just using the executables from the two web sites here as I don't have a compiler installed on this machine. Does i-perft have some known issue? Or are oliperft and my engine making the same error? Or am I doing something stupid in the way I am running i-perft? :)
My program gives 74950758099, same as yours.
ibid
Posts: 89
Joined: Mon Jun 13, 2011 12:09 pm

Re: perft conflict...

Post by ibid »

Perft 12: 54,239,338,583,061,004

-paul
User avatar
Ajedrecista
Posts: 2100
Joined: Wed Jul 13, 2011 9:04 pm
Location: Madrid, Spain.

Re: perft conflict...

Post by Ajedrecista »

Hello Paul!

[d]
ibid wrote:Perft 12: 54,239,338,583,061,004

-paul
Thank you very much for this run! Daniel Shawul (using UCT (Upper Confidence Bounds applied to Trees) methods) posted on July 29th this post. He linked to a Notepad where node counts were splitted among the game tree... and guess what? Draft 12 record for 1.- a3 was incredibly close to the exact number given by you! Sorry for the long output:

Code: Select all

2 a3a4   1.285512e+014      50
2 e2e3   2.311229e+014      50
2 e2e4   2.007163e+014      50
2 f2f3   4.304715e+013      50
2 f2f4   5.698856e+013      50
2 h2h3   6.786180e+013      50
2 h2h4   7.511301e+013      50
2 g2g3   7.807079e+013      50
2 g2g4   7.949123e+013      50
2 d2d3   1.604610e+014      50
2 d2d4   2.418053e+014      50
2 c2c3   1.136735e+014      50
2 c2c4   1.064916e+014      50
2 b2b3   7.039129e+013      50
2 b2b4   6.281754e+013      50
2 b1c3   1.313203e+014      50
2 g1h3   7.860669e+013      50
2 g1f3   8.416010e+013      50
2 a1a2   6.614913e+013      50
1 b7b6   2.076839e+015    1425
2 a3a4   1.222981e+014      50
2 c2c3   8.887222e+013      50
2 c2c4   1.466634e+014      50
2 g2g3   7.624612e+013      50
2 g2g4   9.045622e+013      50
2 d2d3   1.804165e+014      50
2 d2d4   1.705596e+014      50
2 b2b3   5.355208e+013      50
2 b2b4   5.486421e+013      50
2 h2h3   6.182662e+013      50
2 h2h4   6.933077e+013      50
2 f2f3   6.530841e+013      50
2 f2f4   8.150752e+013      50
2 e2e3   2.036948e+014      50
2 e2e4   2.499721e+014      50
2 b1c3   1.613212e+014      50
2 g1h3   6.862387e+013      50
2 g1f3   7.968412e+013      50
2 a1a2   7.375865e+013      50
1 b7b5   2.098956e+015    1425
2 a3a4   4.919173e+013      47
2 e2e3   1.519122e+014      47
2 e2e4   1.463864e+014      47
2 h2h3   3.454662e+013      47
2 h2h4   5.865744e+013      47
2 b2b3   4.070076e+013      47
2 b2b4   4.155062e+013      47
2 c2c3   6.724715e+013      47
2 c2c4   7.556780e+013      47
2 g2g3   5.491083e+013      47
2 g2g4   4.413806e+013      47
2 d2d3   1.055457e+014      47
2 d2d4   1.240759e+014      47
2 f2f3   3.867856e+013      47
2 f2f4   4.193576e+013      47
2 g1h3   3.565440e+013      47
2 g1f3   6.337042e+013      47
2 b1c3   6.897968e+013      47
2 a1a2   5.357563e+013      47
1 f7f6   1.296626e+015    1368
2 a3a4   1.091824e+014      49
2 g2g3   6.734767e+013      49
2 g2g4   7.975034e+013      49
2 f2f3   4.571673e+013      49
2 f2f4   4.944174e+013      49
2 d2d3   1.378658e+014      49
2 d2d4   1.936664e+014      49
2 e2e3   1.786747e+014      49
2 e2e4   2.238707e+014      49
2 b2b3   6.514583e+013      49
2 b2b4   5.220158e+013      49
2 c2c3   6.298147e+013      49
2 c2c4   1.056769e+014      49
2 h2h3   5.719446e+013      49
2 h2h4   6.171011e+013      49
2 g1h3   5.292151e+013      49
2 g1f3   6.647065e+013      49
2 b1c3   9.446837e+013      49
2 a1a2   5.717333e+013      49
1 f7f5   1.761461e+015    1406
2 a3a4   9.739927e+013      50
2 c2c3   1.045467e+014      50
2 c2c4   9.967100e+013      50
2 g2g3   9.054538e+013      50
2 g2g4   7.538681e+013      50
2 e2e3   2.449024e+014      50
2 e2e4   2.396494e+014      50
2 f2f3   6.236816e+013      50
2 f2f4   7.922687e+013      50
2 d2d3   1.692536e+014      50
2 d2d4   2.029664e+014      50
2 b2b3   1.007602e+014      50
2 b2b4   9.942101e+013      50
2 h2h3   5.977919e+013      50
2 h2h4   1.025896e+014      50
2 b1c3   1.364695e+014      50
2 g1h3   9.437612e+013      50
2 g1f3   1.071667e+014      50
2 a1a2   7.269829e+013      50
1 c7c6   2.239176e+015    1425
2 a3a4   1.103570e+014      52
2 g2g3   1.106287e+014      52
2 g2g4   9.430047e+013      52
2 e2e3   3.016052e+014      52
2 e2e4   2.268177e+014      52
2 h2h3   6.836551e+013      52
2 h2h4   1.055915e+014      52
2 b2b3   1.096982e+014      52
2 b2b4   1.472966e+014      52
2 d2d3   1.703646e+014      52
2 d2d4   3.689816e+014      52
2 c2c3   1.186727e+014      52
2 c2c4   9.672676e+013      52
2 f2f3   6.195913e+013      52
2 f2f4   8.404735e+013      52
2 b1c3   1.517206e+014      52
2 g1h3   9.690893e+013      52
2 g1f3   1.206998e+014      52
2 a1a2   1.040769e+014      52
1 c7c5   2.648819e+015    1463
2 a3a4   6.914868e+013      48
2 g2g3   5.391887e+013      48
2 g2g4   5.293205e+013      48
2 d2d3   1.267505e+014      48
2 d2d4   1.790143e+014      48
2 c2c3   6.217768e+013      48
2 c2c4   7.487335e+013      48
2 b2b3   7.030825e+013      48
2 b2b4   5.125433e+013      48
2 e2e3   2.011281e+014      48
2 e2e4   2.096601e+014      48
2 f2f3   3.497765e+013      48
2 f2f4   4.459606e+013      48
2 h2h3   4.421422e+013      48
2 h2h4   7.782802e+013      48
2 g1h3   5.219406e+013      48
2 g1f3   5.709268e+013      48
2 b1c3   7.567201e+013      48
2 a1a2   3.982349e+013      48
1 a7a6   1.577564e+015    1387
2 a3a4   7.514091e+013      51
2 d2d3   1.546715e+014      51
2 d2d4   2.633698e+014      51
2 f2f3   6.167274e+013      51
2 f2f4   9.037694e+013      51
2 h2h3   6.350848e+013      51
2 h2h4   7.705722e+013      51
2 e2e3   2.858063e+014      51
2 e2e4   3.251858e+014      51
2 c2c3   7.665158e+013      51
2 c2c4   1.170020e+014      51
2 b2b3   8.568356e+013      51
2 b2b4   9.940791e+013      51
2 g2g3   7.900009e+013      51
2 g2g4   6.231468e+013      51
2 g1h3   8.205502e+013      51
2 g1f3   1.085372e+014      51
2 b1c3   1.098155e+014      51
2 a1a2   7.267292e+013      51
1 a7a5   2.289930e+015    1444
2 a3a4   1.068303e+014      49
2 b2b3   7.547111e+013      49
2 b2b4   7.811283e+013      49
2 f2f3   5.509959e+013      49
2 f2f4   6.399655e+013      49
2 c2c3   9.341019e+013      49
2 c2c4   9.556019e+013      49
2 h2h3   6.272879e+013      49
2 h2h4   7.394761e+013      49
2 e2e3   2.235237e+014      49
2 e2e4   2.114720e+014      49
2 g2g3   7.923119e+013      49
2 g2g4   7.932792e+013      49
2 d2d3   1.386724e+014      49
2 d2d4   2.393674e+014      49
2 g1h3   6.972152e+013      49
2 g1f3   8.388943e+013      49
2 b1c3   1.080610e+014      49
2 a1a2   7.316425e+013      49
1 g7g6   2.011588e+015    1406
2 a3a4   9.204920e+013      49
2 e2e3   2.049121e+014      49
2 e2e4   2.582710e+014      49
2 c2c3   9.408697e+013      49
2 c2c4   9.714722e+013      49
2 b2b3   5.334370e+013      49
2 b2b4   6.131043e+013      49
2 d2d3   1.252545e+014      49
2 d2d4   1.823223e+014      49
2 h2h3   5.987331e+013      49
2 h2h4   1.416379e+014      49
2 g2g3   8.280995e+013      49
2 g2g4   5.855499e+013      49
2 f2f3   4.119436e+013      49
2 f2f4   7.441370e+013      49
2 g1h3   6.084742e+013      49
2 g1f3   7.573018e+013      49
2 b1c3   8.887037e+013      49
2 a1a2   5.741649e+013      49
1 g7g5   1.910046e+015    1406
2 a3a4   2.249203e+014      58
2 g2g3   1.563223e+014      58
2 g2g4   1.482990e+014      58
2 d2d3   3.339492e+014      58
2 d2d4   4.865381e+014      58
2 f2f3   9.424913e+013      58
2 f2f4   1.277336e+014      58
2 b2b3   1.262091e+014      58
2 b2b4   1.380399e+014      58
2 e2e3   4.379963e+014      58
2 e2e4   4.009889e+014      58
2 h2h3   1.218117e+014      58
2 h2h4   1.787680e+014      58
2 c2c3   1.794946e+014      58
2 c2c4   1.852670e+014      58
2 b1c3   1.459980e+014      58
2 g1h3   1.534109e+014      58
2 g1f3   1.949960e+014      58
2 a1a2   1.225159e+014      58
1 d7d6   3.957508e+015    1577
2 a3a4   2.320467e+014      66
2 h2h3   1.763666e+014      66
2 h2h4   2.128566e+014      66
2 c2c3   2.028753e+014      66
2 c2c4   3.813981e+014      66
2 g2g3   1.970507e+014      66
2 g2g4   1.776778e+014      66
2 e2e3   6.624859e+014      66
2 e2e4   7.984287e+014      66
2 d2d3   4.632296e+014      66
2 d2d4   4.471956e+014      66
2 b2b3   1.427013e+014      66
2 b2b4   1.980553e+014      66
2 f2f3   1.323270e+014      66
2 f2f4   1.419692e+014      66
2 b1c3   2.460663e+014      66
2 g1h3   2.086468e+014      66
2 g1f3   2.506776e+014      66
2 a1a2   2.196754e+014      66
1 d7d5   5.491731e+015    1729
2 a3a4   2.680918e+014      70
2 d2d3   3.771308e+014      70
2 d2d4   5.322786e+014      70
2 g2g3   2.808920e+014      70
2 g2g4   1.739416e+014      70
2 f2f3   1.375264e+014      70
2 f2f4   1.765116e+014      70
2 h2h3   1.828628e+014      70
2 h2h4   3.115204e+014      70
2 e2e3   8.202857e+014      70
2 e2e4   8.852384e+014      70
2 b2b3   2.691114e+014      70
2 b2b4   2.239019e+014      70
2 c2c3   2.961817e+014      70
2 c2c4   3.413144e+014      70
2 g1h3   1.746001e+014      70
2 g1f3   2.735111e+014      70
2 b1c3   3.707547e+014      70
2 a1a2   2.300828e+014      70
1 e7e6   6.325738e+015    1805
2 a3a4   2.398377e+014      72
2 d2d3   4.273806e+014      72
2 d2d4   8.235410e+014      72
2 g2g3   2.658465e+014      72
2 g2g4   2.429563e+014      72
2 f2f3   1.662009e+014      72
2 f2f4   3.012058e+014      72
2 h2h3   2.268254e+014      72
2 h2h4   3.222370e+014      72
2 e2e3   7.475882e+014      72
2 e2e4   6.538311e+014      72
2 c2c3   3.184409e+014      72
2 c2c4   2.891963e+014      72
2 b2b3   2.558177e+014      72
2 b2b4   2.491640e+014      72
2 b1c3   3.604881e+014      72
2 g1h3   2.662448e+014      72
2 g1f3   2.811459e+014      72
2 a1a2   2.021944e+014      72
1 e7e5   6.640143e+015    1843
2 a3a4   6.936088e+013      47
2 d2d3   1.105702e+014      47
2 d2d4   1.462583e+014      47
2 f2f3   3.789740e+013      47
2 f2f4   4.877824e+013      47
2 c2c3   7.411402e+013      47
2 c2c4   7.062422e+013      47
2 e2e3   1.567575e+014      47
2 e2e4   1.330663e+014      47
2 g2g3   6.201043e+013      47
2 g2g4   5.782833e+013      47
2 b2b3   5.920780e+013      47
2 b2b4   4.903035e+013      47
2 h2h3   4.139964e+013      47
2 h2h4   5.519874e+013      47
2 g1h3   5.290691e+013      47
2 g1f3   6.485226e+013      47
2 b1c3   6.587141e+013      47
2 a1a2   6.066250e+013      47
1 h7h6   1.416395e+015    1368
2 a3a4   1.131108e+014      50
2 g2g3   9.477063e+013      50
2 g2g4   9.621298e+013      50
2 f2f3   5.410270e+013      50
2 f2f4   7.084328e+013      50
2 b2b3   7.888617e+013      50
2 b2b4   8.267979e+013      50
2 c2c3   9.345695e+013      50
2 c2c4   1.321117e+014      50
2 e2e3   3.128862e+014      50
2 e2e4   2.575766e+014      50
2 h2h3   7.135489e+013      50
2 h2h4   8.104661e+013      50
2 d2d3   1.493655e+014      50
2 d2d4   1.689740e+014      50
2 b1c3   1.257732e+014      50
2 g1h3   7.051888e+013      50
2 g1f3   1.029866e+014      50
2 a1a2   7.114544e+013      50
1 h7h5   2.227803e+015    1425
2 a3a4   1.094478e+014      51
2 f2f3   6.142554e+013      51
2 f2f4   8.663848e+013      51
2 b2b3   8.183393e+013      51
2 b2b4   9.357718e+013      51
2 g2g3   9.647219e+013      51
2 g2g4   7.417957e+013      51
2 d2d3   1.395875e+014      51
2 d2d4   3.179844e+014      51
2 e2e3   2.530127e+014      51
2 e2e4   2.958623e+014      51
2 c2c3   1.102399e+014      51
2 c2c4   9.902603e+013      51
2 h2h3   5.758510e+013      51
2 h2h4   1.039725e+014      51
2 g1h3   9.464808e+013      51
2 g1f3   1.003385e+014      51
2 b1c3   1.297751e+014      51
2 a1a2   1.012379e+014      51
1 g8f6   2.406845e+015    1444
2 a3a4   8.462173e+013      48
2 e2e3   1.715084e+014      48
2 e2e4   1.522675e+014      48
2 b2b3   5.451932e+013      48
2 b2b4   6.428782e+013      48
2 c2c3   7.490447e+013      48
2 c2c4   8.764554e+013      48
2 f2f3   3.630716e+013      48
2 f2f4   5.196763e+013      48
2 g2g3   6.667231e+013      48
2 g2g4   4.989639e+013      48
2 d2d3   1.021605e+014      48
2 d2d4   2.554385e+014      48
2 h2h3   6.555338e+013      48
2 h2h4   7.237469e+013      48
2 b1c3   1.046304e+014      48
2 g1h3   8.067270e+013      48
2 g1f3   7.681920e+013      48
2 a1a2   5.497833e+013      48
1 g8h6   1.707226e+015    1387
2 a3a4   1.138257e+014      49
2 c2c3   6.382088e+013      49
2 c2c4   1.013881e+014      49
2 h2h3   5.634637e+013      49
2 h2h4   7.135365e+013      49
2 g2g3   7.149805e+013      49
2 g2g4   6.584354e+013      49
2 b2b3   7.235846e+013      49
2 b2b4   6.374604e+013      49
2 e2e3   2.041950e+014      49
2 e2e4   2.023397e+014      49
2 d2d3   1.225730e+014      49
2 d2d4   1.966317e+014      49
2 f2f3   5.193217e+013      49
2 f2f4   4.362323e+013      49
2 g1h3   6.340388e+013      49
2 g1f3   7.501583e+013      49
2 b1c3   7.582579e+013      49
2 a1a2   4.858862e+013      49
1 b8a6   1.764310e+015    1406
2 a3a4   9.143552e+013      51
2 d2d3   2.189244e+014      51
2 d2d4   2.810316e+014      51
2 e2e3   3.053344e+014      51
2 e2e4   2.663456e+014      51
2 h2h3   6.216932e+013      51
2 h2h4   9.255403e+013      51
2 b2b3   6.152813e+013      51
2 b2b4   9.164824e+013      51
2 g2g3   1.013682e+014      51
2 g2g4   6.495546e+013      51
2 f2f3   5.620915e+013      51
2 f2f4   7.736552e+013      51
2 c2c3   8.348422e+013      51
2 c2c4   1.174380e+014      51
2 b1c3   1.553661e+014      51
2 g1h3   7.457046e+013      51
2 g1f3   1.138577e+014      51
2 a1a2   7.254974e+013      51
1 b8c6   2.388136e+015    1444

==============================
0 a2a3   5.423684e+016   30083
==============================
I extract counts for 1.- a3 and I explain: '0' before a2a3 means estimated Perft(12) beginning with a2-a3; '1' before the twenty possible first moves of black after playing 1.- a3 means the estimated value of Perft(11) starting with a2-a3 and the corresponding black move; the same applies to '2' before each white move, which means estimated Perft(10) of a game beginning with a2-a3, {first move of black}, {second move of white}. In other words, the number n before each move means estimated Perft(12 - n) of the corresponding game starting with those moves. It is easy to see that the sum of all counts starting with '1' are the '0' result, and each '1' result is the sum of all '2' counts starting with '1' (remeber that the first game of the game is common and is '0', i.e. a2-a3). I do not know if the numbers at the right of the output mean 'number of visites to each node' or what they mean... Daniel will know for sure.

I want to emphasize the estimate of Perft(12) value beginning with 1.- a3 obtained by UCT methods:

5.423684e+016 ~ 54,239,338,583,061,004 - 0.0046% (!!)

If all the errors were the same as this one, and knowing that this Daniel's estimate for Perft(13) was more less 1.980549e+18, then true Perft(13) ~ 1.98064e+18... but not all the errors will be the same, and this last estimate should not be taken seriously. Great job by Daniel, great effort by Paul bringing this value, excellent work of Steven computing the whole Perft(13) and is amazingly good how people could refined their methods in the thread of 'Perft(13) betting poll'. Thanks to everybody.

Regards from Spain.

Ajedrecista.