What is the Ideal Output for Understanding a Chess Engine?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

rfadden

Re: Node counting

Post by rfadden »

Here's the output of Rybka 1.0 Beta with my Patches installed to count "Make_Move". As I mentioned, other Obfuscation such as (depth - 2) has been removed. The clamping of PV display is also shut off.

Note that the very last NPS calculation shown suffers from an overflow. This doesn't effect the counters, it's just that the 32 bit nodeTickHigh word is shifted left 10 by the original code prior to the divide and at this value of nodes a bit is shifted off of the word prior to the divide. The nodeTickHigh word doesn't overflow or wrap around during search because it is incremented only after a 10 bit count in nodeTickLow. So node tick in Rybka 1.0 beta can count 32 + 10 bits, and the only thing that is messed up for high counts is the NPS calculation. You can do the NPS calculation using the Node and Time numbers that are shown. In this particular case the calculated value is 653,909 NPS.

Code: Select all

id name Rybka 1.0 Patch 32bit
uciok
readyok
info depth 1
info depth 1 score cp -2 time 1 nodes 22 nps 22528 pv a2a4
info depth 1 score cp -1 time 1 nodes 24 nps 24576 pv a2a3
info depth 1 score cp 0 time 1 nodes 27 nps 27648 pv b2b3
info depth 1 score cp 4 time 1 nodes 31 nps 31744 pv d2d4
info depth 1 score cp 7 time 1 nodes 33 nps 33792 pv d2d3
info depth 1 score cp 8 time 1 nodes 43 nps 44032 pv b1a3
info depth 1 score cp 18 time 1 nodes 45 nps 46080 pv b1c3
info depth 1 time 1 nodes 47 nps 48128
info depth 2
info depth 2 score cp 3 time 1 nodes 69 nps 70656 pv b1c3
info depth 2 time 1 nodes 107 nps 109568
info depth 3
info depth 3 score cp 18 time 17 nodes 170 nps 10240 pv b1c3
info depth 3 time 17 nodes 212 nps 12769
info depth 4
info depth 4 score cp 3 time 17 nodes 326 nps 19636 pv b1c3
info depth 4 time 17 nodes 1107 nps 66680
info depth 5
info depth 5 score cp 7 time 17 nodes 1466 nps 88304 pv b1c3
info depth 5 time 17 nodes 1783 nps 107399
info depth 6
info depth 6 score cp 3 time 17 nodes 2847 nps 171489 pv b1c3
info depth 6 time 17 nodes 4331 nps 260879
info depth 7
info depth 7 score cp 8 time 33 nodes 5911 nps 183420 pv b1c3 b8c6
info depth 7 time 33 nodes 6935 nps 215195
info depth 8
info depth 8 score cp 3 time 33 nodes 9921 nps 307851 pv b1c3 b8c6 g1f3
info depth 8 time 48 nodes 20407 nps 435349
info depth 9
info depth 9 score cp 5 time 80 nodes 32684 nps 418355 pv b1c3 b8c6 g1f3 g8f6
info depth 9 time 95 nodes 48119 nps 518672
info depth 10
info depth 10 score cp 7 time 142 nodes 72526 nps 523004 pv b1c3 b8c6 g1f3 g8f6 d2d4
info depth 10 time 173 nodes 94561 nps 559713
info depth 11
info depth 11 score cp 5 time 470 nodes 274699 nps 598493 pv b1c3 g8f6 d2d4 d7d5 c1f4 c8f5
info depth 11 time 548 nodes 332973 nps 622197
info depth 12
info depth 12 score cp 3 time 1001 nodes 605616 nps 619531 pv b1c3 g8f6 d2d4 d7d5 g1f3 b8c6 d1d3
info currmove b1a3 currmovenumber 2
info currmove d2d3 currmovenumber 3
info currmove d2d4 currmovenumber 4
info currmove b2b3 currmovenumber 5
info currmove a2a3 currmovenumber 6
info currmove a2a4 currmovenumber 7
info currmove b2b4 currmovenumber 8
info currmove c2c4 currmovenumber 9
info currmove c2c3 currmovenumber 10
info currmove e2e4 currmovenumber 11
info currmove e2e3 currmovenumber 12
info currmove f2f4 currmovenumber 13
info currmove f2f3 currmovenumber 14
info currmove g2g4 currmovenumber 15
info currmove g2g3 currmovenumber 16
info currmove h2h4 currmovenumber 17
info currmove h2h3 currmovenumber 18
info currmove g1f3 currmovenumber 19
info currmove g1h3 currmovenumber 20
info depth 12 time 1283 nodes 795680 nps 635055
info depth 13
info currmove b1c3 currmovenumber 1
info depth 13 score cp 7 time 2861 nodes 1834153 nps 656474 pv b1c3 g8f6 d2d4 d7d5 g1f3 b8c6 e2e3 d8d6
info currmove b1a3 currmovenumber 2
info currmove d2d3 currmovenumber 3
info currmove d2d4 currmovenumber 4
info currmove b2b3 currmovenumber 5
info currmove a2a3 currmovenumber 6
info currmove a2a4 currmovenumber 7
info currmove b2b4 currmovenumber 8
info currmove c2c4 currmovenumber 9
info currmove c2c3 currmovenumber 10
info currmove e2e4 currmovenumber 11
info currmove e2e3 currmovenumber 12
info currmove f2f4 currmovenumber 13
info currmove f2f3 currmovenumber 14
info currmove g2g4 currmovenumber 15
info currmove g2g3 currmovenumber 16
info currmove h2h4 currmovenumber 17
info currmove h2h3 currmovenumber 18
info currmove g1f3 currmovenumber 19
info currmove g1h3 currmovenumber 20
info depth 13 time 3095 nodes 1985653 nps 656965
info depth 14
info currmove b1c3 currmovenumber 1
info depth 14 score cp 5 time 5330 nodes 3491284 nps 670745 pv b1c3 g8f6 d2d4 e7e6 g1f3 b8c6 d4d5 c6b4 e2e4
info currmove b1a3 currmovenumber 2
info currmove d2d3 currmovenumber 3
info currmove d2d4 currmovenumber 4
info currmove b2b3 currmovenumber 5
info currmove a2a3 currmovenumber 6
info currmove a2a4 currmovenumber 7
info currmove b2b4 currmovenumber 8
info currmove c2c4 currmovenumber 9
info currmove c2c3 currmovenumber 10
info currmove e2e4 currmovenumber 11
info currmove e2e3 currmovenumber 12
info currmove f2f4 currmovenumber 13
info currmove f2f3 currmovenumber 14
info currmove g2g4 currmovenumber 15
info currmove g2g3 currmovenumber 16
info currmove h2h4 currmovenumber 17
info currmove h2h3 currmovenumber 18
info currmove g1f3 currmovenumber 19
info currmove g1h3 currmovenumber 20
info depth 14 time 6470 nodes 4230790 nps 5774
info time 6470 nodes 4230790 nps 5774
bestmove b1c3 ponder g8f6


Ok, this is long... sorry...

Here is the same output from Fruit 2.1 as reference. Note these runs are on an Athlon XP 2400+ from the start position, with a 14 ply depth limit.

Hmmm, these node codes are very close. Interesting, but not necessarily significant.

Code: Select all

Fruit 2.1 UCI by Fabien Letouzey
id name Fruit 2.1
id author Fabien Letouzey
uciok
readyok
info depth 1
info depth 1 seldepth 1 score cp 26 time 0 nodes 2 pv b1a3
info depth 1 seldepth 1 score cp 54 time 0 nodes 3 pv b1c3
info depth 1 seldepth 1 time 0 nodes 21 nps 0
info depth 2
info depth 2 seldepth 2 score cp 0 time 0 nodes 44 pv b1c3 b8c6
info depth 2 seldepth 2 time 0 nodes 82 nps 0
info depth 3
info depth 3 seldepth 3 score cp 54 time 0 nodes 148 pv b1c3 b8c6 g1f3
info depth 3 seldepth 3 time 0 nodes 186 nps 0
info depth 4
info depth 4 seldepth 6 score cp 0 time 16 nodes 300 pv b1c3 b8c6 g1f3 g8f6
info depth 4 seldepth 6 time 16 nodes 976 nps 0
info depth 5
info depth 5 seldepth 9 score cp 48 time 16 nodes 1729 pv b1c3 b8c6 g1f3 g8f6 d2d4
info depth 5 seldepth 9 time 16 nodes 1933 nps 0
info depth 6
info depth 6 seldepth 12 score cp 0 time 16 nodes 3331 pv b1c3 b8c6 g1f3 g8f6 d2d4 d7d5
info depth 6 seldepth 12 time 16 nodes 9447 nps 0
info depth 7
info depth 7 seldepth 14 score cp 42 time 31 nodes 15332 pv b1c3 b8c6 g1f3 g8f6 d2d4 d7d5 c1f4
info depth 7 seldepth 14 time 31 nodes 16243 nps 0
info depth 8
info depth 8 seldepth 17 score cp 0 time 62 nodes 35078 pv b1c3 g8f6 g1f3 b8c6 d2d4 d7d5 c1f4 c8f5
info depth 8 seldepth 20 time 125 nodes 72286 nps 0
info depth 9
info depth 9 seldepth 20 score cp 15 time 203 nodes 125215 pv b1c3 g8f6 g1f3 b8c6 d2d4 d7d5 d1d3 c6b4 d3b5 b4c6
info depth 9 seldepth 21 time 234 nodes 151298 nps 0
info depth 10
info depth 10 seldepth 22 score cp 12 time 500 nodes 330356 pv b1c3 d7d5 d2d4 c8f5 g1f3 g8f6 f3h4 f5g4 h2h3 g4d7
info depth 10 seldepth 22 score cp 15 time 641 nodes 427686 pv g1f3 b8c6 d2d4 d7d5 b1c3 g8f6 d1d3 g7g6 c1f4 c8f5
info depth 10 seldepth 24 time 750 nodes 504717 nps 0
info depth 11
info time 1000 nodes 670000 nps 670000 cpuload 1000
info hashfull 116
info depth 11 seldepth 24 score cp 23 time 1297 nodes 861117 pv g1f3 b8c6 b1c3 g8f6 e2e3 d7d5 f1b5 c8g4 h2h3 g4f5 e1g1
info currmove b1c3 currmovenumber 2
info currmove d2d4 currmovenumber 3
info currmove e2e4 currmovenumber 4
info currmove d2d3 currmovenumber 5
info currmove e2e3 currmovenumber 6
info currmove b1a3 currmovenumber 7
info currmove g1h3 currmovenumber 8
info currmove b2b3 currmovenumber 9
info currmove b2b4 currmovenumber 10
info currmove g2g3 currmovenumber 11
info currmove g2g4 currmovenumber 12
info currmove a2a4 currmovenumber 13
info currmove h2h4 currmovenumber 14
info currmove c2c4 currmovenumber 15
info currmove f2f4 currmovenumber 16
info currmove c2c3 currmovenumber 17
info currmove a2a3 currmovenumber 18
info currmove h2h3 currmovenumber 19
info currmove f2f3 currmovenumber 20
info depth 11 seldepth 24 time 1547 nodes 1036140 nps 669774
info depth 12
info currmove g1f3 currmovenumber 1
info time 2000 nodes 1340000 nps 670000 cpuload 1000
info hashfull 230
info depth 12 seldepth 28 score cp 10 time 2578 nodes 1684697 pv g1f3 b8c6 b1c3 g8f6 d2d4 d7d5 f3e5 c8f5 e5c6 b7c6 c1f4 a8b8 b2b3
info currmove b1c3 currmovenumber 2
info currmove d2d4 currmovenumber 3
info time 3000 nodes 1970000 nps 656667 cpuload 1000
info hashfull 334
info time 4000 nodes 2670000 nps 667500 cpuload 1000
info hashfull 428
info currmove d2d4 currmovenumber 3
info time 5000 nodes 3350000 nps 670000 cpuload 1000
info hashfull 531
info currmove e2e4 currmovenumber 4
info currmove d2d3 currmovenumber 5
info currmove e2e3 currmovenumber 6
info currmove b1a3 currmovenumber 7
info currmove g1h3 currmovenumber 8
info currmove b2b3 currmovenumber 9
info currmove b2b4 currmovenumber 10
info time 6000 nodes 4010000 nps 668333 cpuload 1000
info hashfull 626
info currmove g2g3 currmovenumber 11
info currmove g2g4 currmovenumber 12
info currmove a2a4 currmovenumber 13
info currmove h2h4 currmovenumber 14
info currmove c2c4 currmovenumber 15
info currmove f2f4 currmovenumber 16
info currmove c2c3 currmovenumber 17
info currmove a2a3 currmovenumber 18
info currmove h2h3 currmovenumber 19
info currmove f2f3 currmovenumber 20
info depth 12 seldepth 30 time 6234 nodes 4150768 nps 665827
info depth 13
info currmove g1f3 currmovenumber 1
info time 7000 nodes 4660000 nps 665714 cpuload 1000
info hashfull 708
info time 8000 nodes 5340000 nps 667500 cpuload 1000
info hashfull 776
info time 9000 nodes 5980000 nps 664444 cpuload 1000
info hashfull 831
info time 10000 nodes 6650000 nps 665000 cpuload 1000
info hashfull 877
info depth 13 seldepth 32 score cp 22 time 10172 nodes 6766263 pv g1f3 b8c6 b1c3 g8f6 e2e3 d7d5 f1b5 d8d6 d2d4 c8f5 e1g1 f6g4 g2g3
info currmove b1c3 currmovenumber 2
info currmove d2d4 currmovenumber 3
info currmove e2e4 currmovenumber 4
info time 11000 nodes 7350000 nps 668182 cpuload 1000
info hashfull 909
info currmove d2d3 currmovenumber 5
info currmove e2e3 currmovenumber 6
info currmove b1a3 currmovenumber 7
info currmove g1h3 currmovenumber 8
info currmove b2b3 currmovenumber 9
info currmove b2b4 currmovenumber 10
info currmove g2g3 currmovenumber 11
info currmove g2g4 currmovenumber 12
info currmove a2a4 currmovenumber 13
info currmove h2h4 currmovenumber 14
info currmove c2c4 currmovenumber 15
info currmove f2f4 currmovenumber 16
info currmove c2c3 currmovenumber 17
info currmove a2a3 currmovenumber 18
info currmove h2h3 currmovenumber 19
info currmove f2f3 currmovenumber 20
info depth 13 seldepth 35 time 11437 nodes 7659737 nps 669733
info depth 14
info currmove g1f3 currmovenumber 1
info time 12000 nodes 8010000 nps 667500 cpuload 1000
info hashfull 932
info time 13000 nodes 8690000 nps 668462 cpuload 1000
info hashfull 948
info time 14000 nodes 9350000 nps 667857 cpuload 1000
info hashfull 961
info time 15000 nodes 10000000 nps 666667 cpuload 1000
info hashfull 972
info time 16000 nodes 10680000 nps 667500 cpuload 1000
info hashfull 980
info time 17000 nodes 11330000 nps 666471 cpuload 1000
info hashfull 986
info time 18000 nodes 12000000 nps 666667 cpuload 1000
info hashfull 991
info time 19000 nodes 12680000 nps 667368 cpuload 1000
info hashfull 993
info time 20000 nodes 13350000 nps 667500 cpuload 1000
info hashfull 996
info time 21000 nodes 14010000 nps 667143 cpuload 1000
info hashfull 997
info time 22000 nodes 14660000 nps 666364 cpuload 1000
info hashfull 998
info time 23000 nodes 15330000 nps 666522 cpuload 1000
info hashfull 999
info depth 14 seldepth 40 score cp 12 time 23937 nodes 15964617 pv g1f3 g8f6 b1c3 d7d5 e2e3 e7e6 d2d4 b8c6 f1d3 f8d6 e1g1 e8g8 f3g5 c8d7
info currmove b1c3 currmovenumber 2
info time 24000 nodes 16010000 nps 667083 cpuload 1000
info hashfull 999
info time 25000 nodes 16660000 nps 666400 cpuload 1000
info hashfull 999
info time 26000 nodes 17340000 nps 666923 cpuload 1000
info hashfull 1000
info currmove d2d4 currmovenumber 3
info time 27000 nodes 18000000 nps 666667 cpuload 1000
info hashfull 1000
info currmove e2e4 currmovenumber 4
info time 28000 nodes 18680000 nps 667143 cpuload 1000
info hashfull 1000
info time 29000 nodes 19370000 nps 667931 cpuload 1000
info hashfull 1000
info time 30000 nodes 20080000 nps 669333 cpuload 1000
info hashfull 1000
info time 31000 nodes 20730000 nps 668710 cpuload 1000
info hashfull 1000
info time 32000 nodes 21430000 nps 669688 cpuload 1000
info hashfull 1000
info time 33000 nodes 22110000 nps 670000 cpuload 1000
info hashfull 1000
info time 34000 nodes 22780000 nps 670000 cpuload 1000
info hashfull 1000
info time 35000 nodes 23470000 nps 670571 cpuload 1000
info hashfull 1000
info time 36000 nodes 24120000 nps 670000 cpuload 1000
info hashfull 1000
info time 37000 nodes 24810000 nps 670541 cpuload 1000
info hashfull 1000
info time 38000 nodes 25480000 nps 670526 cpuload 1000
info hashfull 1000
info time 39000 nodes 26140000 nps 670256 cpuload 1000
info hashfull 1000
info time 40000 nodes 26830000 nps 670750 cpuload 1000
info hashfull 1000
info time 41000 nodes 27460000 nps 669756 cpuload 1000
info hashfull 1000
info time 42000 nodes 28140000 nps 670000 cpuload 1000
info hashfull 1000
info currmove e2e4 currmovenumber 4
info time 43000 nodes 28810000 nps 670000 cpuload 1000
info hashfull 1000
info time 44000 nodes 29510000 nps 670682 cpuload 1000
info hashfull 1000
info time 45000 nodes 30180000 nps 670667 cpuload 1000
info hashfull 1000
info time 46000 nodes 30880000 nps 671304 cpuload 1000
info hashfull 1000
info time 47000 nodes 31550000 nps 671277 cpuload 1000
info hashfull 1000
info time 48000 nodes 32230000 nps 671458 cpuload 1000
info hashfull 1000
info time 49000 nodes 32940000 nps 672245 cpuload 1000
info hashfull 1000
info time 50000 nodes 33620000 nps 672400 cpuload 1000
info hashfull 1000
info time 51000 nodes 34300000 nps 672549 cpuload 1000
info hashfull 1000
info time 52000 nodes 34980000 nps 672692 cpuload 1000
info hashfull 1000
info time 53000 nodes 35640000 nps 672453 cpuload 1000
info hashfull 1000
info time 54000 nodes 36330000 nps 672778 cpuload 1000
info hashfull 1000
info time 55000 nodes 37040000 nps 673455 cpuload 1000
info hashfull 1000
info time 56000 nodes 37710000 nps 673393 cpuload 1000
info hashfull 1000
info time 57000 nodes 38370000 nps 673158 cpuload 1000
info hashfull 1000
info time 58000 nodes 39030000 nps 672931 cpuload 1000
info hashfull 1000
info depth 14 seldepth 46 score cp 14 time 58156 nodes 39130729 pv e2e4 g8f6 e4e5 f6d5 g1f3 b8c6 d2d4 e7e6 f1b5 f8e7 e1g1 e8g8 b1c3 a7a6
info currmove d2d3 currmovenumber 5
info currmove e2e3 currmovenumber 6
info currmove b1a3 currmovenumber 7
info currmove g1h3 currmovenumber 8
info currmove b2b3 currmovenumber 9
info currmove b2b4 currmovenumber 10
info currmove g2g3 currmovenumber 11
info time 59000 nodes 39690000 nps 672712 cpuload 1000
info hashfull 1000
info currmove g2g4 currmovenumber 12
info currmove a2a4 currmovenumber 13
info currmove h2h4 currmovenumber 14
info currmove c2c4 currmovenumber 15
info time 60000 nodes 40330000 nps 672167 cpuload 1000
info hashfull 1000
info currmove f2f4 currmovenumber 16
info currmove c2c3 currmovenumber 17
info currmove a2a3 currmovenumber 18
info currmove h2h3 currmovenumber 19
info currmove f2f3 currmovenumber 20
info depth 14 seldepth 46 time 60422 nodes 40599377 nps 671930
info time 60422 nodes 40599377 nps 671930 cpuload 1000
info hashfull 1000
bestmove e2e4 ponder g8f6