Pro Deo nodecounter overflow

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
Eelco de Groot
Posts: 4565
Joined: Sun Mar 12, 2006 2:40 am
Full name:   

Pro Deo nodecounter overflow

Post by Eelco de Groot »

Hello,

I believe that for long analysis times the overflow of Pro Deo's nodecounter is causing some problems for rebeluce.exe. At least that is my interpretation for what is happening, running Pro Deo 1.5 under Shredder 9.1 UCI GUI with Odd Gunar Malin's rebeluci.exe. Running Pro Deo as UCI in the Shredder interface goes surprisingly well but after a while there is no more PV output to the analysis window, the analysis still continues and you can see Pro Deo progressing on the move list but for a new PV you have to open the Wb2Uci.log file. For instance in Ron Murawski's testposition after entering 22.Bf1 the analysis goes no further than 15 ply:


After 22.Lf1


rnr3k1/3bppb1/8/6R1/3PP3/p4NB1/1q3PP1/3QRBK1 b - -

Engine: ProDeo 1.5 (0 MB)
gemaakt door Ed Schroeder

1.00 0:00 -0.40 22...Tc2 (4) 4

1.00 0:00 -0.09 22...a2 (8) 8

2.00 0:00 -0.09 22...a2 23.Da1 Tc2 24.Dxb2 Txb2 (2.145) 2145

3.00 0:00 -0.17 22...a2 23.Da1 Tc2 24.Pe5 (4.798) 4798

4.00 0:00 -0.51 22...a2 23.Da1 Db3 24.Pe5 (12.889) 12889

4.00 0:00 -0.44 22...Tc3 23.Dd2 Tc2 (20.870) 20870

4.00 0:00 -0.42 22...Kf8 23.Pe5 a2 (24.270) 24270

4.00 0:00 -0.40 22...Ta4 23.Da1 Dc2 (27.370) 27370

4.00 0:00 -0.38 22...f6 23.Te2 Dc1 24.Dxc1 Txc1 (30.887) 30887

5.00 0:00 -0.38 22...f6 23.Te2 Dc1 24.Dxc1 Txc1 (37.005) 37005

6.00 0:00 -0.61 22...f6 23.Tc5 Pc6 24.Le2 (77.421) 77421

6.00 0:00 -0.50 22...a2 23.Da1 Db6 24.Pe5 Dh6 25.Lf4 (137.420) 137420

7.00 0:00 -0.33 22...a2 23.Da1 Db6 24.Le5 f6 25.Tg6 Tc2 (342.046) 342046

8.00 0:00 -0.33 22...a2 23.Da1 Db6 24.Pe5 Dh6
25.Pxd7 Pxd7 26.Lf4 Dh4 27.g3 (908.985) 908985

9.01 0:01 -0.51 22...a2 23.Da1 Db6 24.Le2 Db4 25.Ld3 Dc3
26.Le5 (1.915.690) 1915

10.01 0:13 -1.53 22...a2 23.Pe5 Db6 24.Dh5 Df6
25.Pxd7 Pxd7 26.e5 (16.084.831) 1237

10.02 0:14 -0.95 22...f6 23.Tc5 e6 24.Txc8+ Lxc8
25.Te2 Db7 26.Tc2 (17.822.608) 1273

10.10 0:19 -0.64 22...La4 23.Dd2 (23.778.361) 1251

11.01 0:24 -0.64 22...La4 23.Dd2 (30.143.556) 1255

12.01 0:36 -0.66 22...La4 23.Dd2 (44.172.845) 1227

13.01 1:18 -0.68 22...La4 23.De2 Pd7 24.Dxb2 axb2
25.Tb1 Tc2 26.Kh2 Kh7 27.Ld3 Tc3
28.Lb5 Lxb5 29.Txb5 (96.124.141) 1232

14.01 2:59 -0.75 22...La4 23.De2 Dxe2 24.Lxe2 (223.256.177) 1247

15.01 8:44 -0.82 22...La4 23.Dd2 Dxd2 24.Pxd2 Pc6
25.Pc4 f6 26.Th5 Pxd4 27.Pxa3 Le8
28.Td5 (655.465.169) 1250

beste zet: Ld7-a4 tijd: 366:37.657 min n/s: 1.250.887 nodes: 655.465.169

I can see in Wb2Uci.log that at 16 ply the total nodes is a negative number and I suspect that rebeluci.exe can't handle that.

26226.640: C< info depth 14 currmovenumber 46 currmove b2a1
26226.656: S> var:curmov=14 45 47 b2d2
26226.656: C< info depth 14 currmovenumber 47 currmove b2d2
26226.656: S> var:curmov=15 -1 47 d7a4
26226.656: C< info depth 15 currmovenumber 1 currmove d7a4
26397.000: S> 15 -82 52400 655465169 d7a4 d1d2 b2d2 f3d2 b8c6 d2c4 f7f6 g5h5 c6d4 c4a3 a4e8 h5d5
26397.000: C< info depth 15 score cp -82 time 524000 nodes 655465169 nps 1250887 pv d7a4 d1d2 b2d2 f3d2 b8c6 d2c4 f7f6 g5h5 c6d4 c4a3 a4e8 h5d5
26397.000: S> var:curmov=15 0 47 f7f6
26397.000: C< info depth 15 currmovenumber 2 currmove f7f6
26421.828: S> var:curmov=15 1 47 c8c3
26421.828: C< info depth 15 currmovenumber 3 currmove c8c3
26475.656: S> var:curmov=15 2 47 a8a4
26475.656: C< info depth 15 currmovenumber 4 currmove a8a4
26494.015: S> var:curmov=15 3 47 b8c6
26494.015: C< info depth 15 currmovenumber 5 currmove b8c6
26511.109: S> var:curmov=15 4 47 c8c2
26511.109: C< info depth 15 currmovenumber 6 currmove c8c2
26525.828: S> var:curmov=15 5 47 e7e5
26525.828: C< info depth 15 currmovenumber 7 currmove e7e5
26529.625: S> var:curmov=15 6 47 a3a2
26529.625: C< info depth 15 currmovenumber 8 currmove a3a2
26627.734: S> var:curmov=15 7 47 g8f8
26627.734: C< info depth 15 currmovenumber 9 currmove g8f8
26634.765: S> var:curmov=15 8 47 a8a7
26634.765: C< info depth 15 currmovenumber 10 currmove a8a7
26641.422: S> var:curmov=15 9 47 d7e6
26641.422: C< info depth 15 currmovenumber 11 currmove d7e6
26672.172: S> var:curmov=15 10 47 g8h8
26672.172: C< info depth 15 currmovenumber 12 currmove g8h8
26677.437: S> var:curmov=15 11 47 b8a6
26677.437: C< info depth 15 currmovenumber 13 currmove b8a6
26679.812: S> var:curmov=15 12 47 c8c6
26679.812: C< info depth 15 currmovenumber 14 currmove c8c6
26717.265: S> var:curmov=15 13 47 f7f5
26717.265: C< info depth 15 currmovenumber 15 currmove f7f5
26731.593: S> var:curmov=15 14 47 b2b7
26731.593: C< info depth 15 currmovenumber 16 currmove b2b7
26761.547: S> var:curmov=15 15 47 b2b4
26761.547: C< info depth 15 currmovenumber 17 currmove b2b4
26772.515: S> var:curmov=15 16 47 g8h7
26772.515: C< info depth 15 currmovenumber 18 currmove g8h7
26776.640: S> var:curmov=15 17 47 d7e8
26776.640: C< info depth 15 currmovenumber 19 currmove d7e8
26806.906: S> var:curmov=15 18 47 e7e6
26806.906: C< info depth 15 currmovenumber 20 currmove e7e6
26871.531: S> var:curmov=15 19 47 b2c3
26871.531: C< info depth 15 currmovenumber 21 currmove b2c3
26889.109: S> var:curmov=15 20 47 c8d8
26889.109: C< info depth 15 currmovenumber 22 currmove c8d8
26932.297: S> var:curmov=15 21 47 c8e8
26932.297: C< info depth 15 currmovenumber 23 currmove c8e8
26947.859: S> var:curmov=15 22 47 c8f8
26947.859: C< info depth 15 currmovenumber 24 currmove c8f8
26956.859: S> var:curmov=15 23 47 b2a2
26956.859: C< info depth 15 currmovenumber 25 currmove b2a2
26960.062: S> var:curmov=15 24 47 b2b6
26960.062: C< info depth 15 currmovenumber 26 currmove b2b6
26965.359: S> var:curmov=15 25 47 b2c2
26965.359: C< info depth 15 currmovenumber 27 currmove b2c2
26997.453: S> var:curmov=15 26 47 d7f5
26997.453: C< info depth 15 currmovenumber 28 currmove d7f5
26998.328: S> var:curmov=15 27 47 d7c6
26998.328: C< info depth 15 currmovenumber 29 currmove d7c6
27026.578: S> var:curmov=15 28 47 d7h3
27026.578: C< info depth 15 currmovenumber 30 currmove d7h3
27029.359: S> var:curmov=15 29 47 b2b3
27029.359: C< info depth 15 currmovenumber 31 currmove b2b3
27029.437: S> var:curmov=15 30 47 d7g4
27029.437: C< info depth 15 currmovenumber 32 currmove d7g4
27029.750: S> var:curmov=15 31 47 a8a5
27029.750: C< info depth 15 currmovenumber 33 currmove a8a5
27030.000: S> var:curmov=15 32 47 c8c7
27030.000: C< info depth 15 currmovenumber 34 currmove c8c7
27030.406: S> var:curmov=15 33 47 a8a6
27030.406: C< info depth 15 currmovenumber 35 currmove a8a6
27030.531: S> var:curmov=15 34 47 c8c1
27030.531: C< info depth 15 currmovenumber 36 currmove c8c1
27030.578: S> var:curmov=15 35 47 c8c4
27030.578: C< info depth 15 currmovenumber 37 currmove c8c4
27031.375: S> var:curmov=15 36 47 d7b5
27031.375: C< info depth 15 currmovenumber 38 currmove d7b5
27033.984: S> var:curmov=15 37 47 b2d4
27033.984: C< info depth 15 currmovenumber 39 currmove b2d4
27034.031: S> var:curmov=15 38 47 c8c5
27034.031: C< info depth 15 currmovenumber 40 currmove c8c5
27034.297: S> var:curmov=15 39 47 b2f2
27034.297: C< info depth 15 currmovenumber 41 currmove b2f2
27034.343: S> var:curmov=15 40 47 b2b1
27034.343: C< info depth 15 currmovenumber 42 currmove b2b1
27034.390: S> var:curmov=15 41 47 b2c1
27034.390: C< info depth 15 currmovenumber 43 currmove b2c1
27034.422: S> var:curmov=15 42 47 b2e2
27034.422: C< info depth 15 currmovenumber 44 currmove b2e2
27034.484: S> var:curmov=15 43 47 b2d2
27034.484: C< info depth 15 currmovenumber 45 currmove b2d2
27034.515: S> var:curmov=15 44 47 b2b5
27034.515: C< info depth 15 currmovenumber 46 currmove b2b5
27034.531: S> var:curmov=15 45 47 b2a1
27034.531: C< info depth 15 currmovenumber 47 currmove b2a1
27034.531: S> var:curmov=16 -1 47 d7a4
27034.531: C< info depth 16 currmovenumber 1 currmove d7a4
28823.265: S> 16 -67 295100 -601865072 d7a4 d1d2

I can't test this with Chessbase but I suppose it would have the same problem. I think there is a possible workaround by using Odd Gunnar Malin' latest beta version of Wb2Uci.exe (I tried the version from 16-6-2005 from http://utilities.sjakk.biz/Wb2Uci/ ) instead of rebeluci.exe and just pointing the Gui to this, using the normal wb2uci.eng textfile for Pro Deo.

Mine looks like this, I'm experimenting with a personality file Test13 so that is the default personality, and installed Pro Deo 1.5 a second time and called it
Pro Deo 1.5 wb2uci

Code: Select all

&#91;ENGINE&#93; 
Name = ProDeo 1.5 wb2uci
Author = Ed Schröder
Filename=Wb2Uci.exe 


&#91;OPTIONS&#93;
Program = prodeo.exe w5 Test13.eng
; InitString = BookOff/n
LevelExtend = none
Analyze = false
UseUndo = false
Logfile = false
LevelType = 2
SimulateHint = true
TerminateHard = true
; In WIN XP or Win NT  TerminateHard = true
Protocol = 1
Visible = Ponder,Logfile,Extras

&#91;EXTRAS&#93;
Personality=setvar personality personal\%s.eng|combo|ProDeo|ProDeo|Strong Club Player|Average Club Player|Test|Q3 - Tactical Engine
Anti-GM=setvar antigm|combo|off|off|active|strong|smart
Playing Style=setvar playstyle|combo|normal|aggressive|active|normal|solid|defensive
Strength=setvar playstrength|combo|strong|novice|club player|strong
Opening Book=setvar bookfile books\%s.bin|combo|mainbook|mainbook|tourbook
EOC database=setvar eocfile eoc\%s.eoc|combo|prodeo|prodeo
EOC Usuage=setvar eocuse|combo|strong|none|moderate|strong|book
Now I get output for 16 plies but there is no more total nodecount visible in the PV at iteration 16. So I think that is what caused it, now I hope I will get a PV at 17 ply also!


[D]rnr3k1/3bppb1/8/6R1/3PP3/p4NB1/1q3PP1/3QRBK1 b - -

Engine: ProDeo 1.5 wb2uci (0 MB)
gemaakt door Ed Schröder

1.00 0:00 -0.40 22...Tc2 (4) 4

1.00 0:00 -0.09 22...a2 (8) 8

2.00 0:00 -0.09 22...a2 23.Da1 Tc2 24.Dxb2 Txb2 (2.148) 2148

3.00 0:00 -0.17 22...a2 23.Da1 Tc2 24.Pe5 (4.805) 4805

4.00 0:00 -0.51 22...a2 23.Da1 Db3 24.Pe5 (12.897) 12897

4.00 0:00 -0.44 22...Tc3 23.Dd2 Tc2 (20.879) 20879

4.00 0:00 -0.42 22...Kf8 23.Pe5 a2 (24.279) 24279

4.00 0:00 -0.40 22...Ta4 23.Da1 Dc2 (27.379) 27379

4.00 0:00 -0.38 22...f6 23.Te2 Dc1 24.Dxc1 Txc1 (30.897) 30897

5.00 0:00 -0.38 22...f6 23.Te2 Dc1 24.Dxc1 Txc1 (37.016) 37016

6.00 0:00 -0.61 22...f6 23.Tc5 Pc6 24.Le2 (77.240) 77240

6.00 0:00 -0.50 22...a2 23.Da1 Db6 24.Pe5 Dh6 25.Lf4 (137.328) 137328

7.00 0:00 -0.33 22...a2 23.Da1 Db6 24.Le5 f6 25.Tg6 Tc2 (342.209) 342209

8.00 0:00 -0.33 22...a2 23.Da1 Db6 24.Pe5 Dh6
25.Pxd7 Pxd7 26.Lf4 Dh4 27.g3 (909.123) 909123

9.01 0:01 -0.51 22...a2 23.Da1 Db6 24.Le2 Db4 25.Ld3 Dc3
26.Le5 (1.916.076) 1916

10.01 0:14 -1.53 22...a2 23.Pe5 Db6 24.Dh5 Df6
25.Pxd7 Pxd7 26.e5 (16.153.051) 1153

10.02 0:15 -0.95 22...f6 23.Tc5 e6 24.Txc8+ Lxc8
25.Te2 Db7 26.Tc2 (17.894.792) 1192

10.10 0:20 -0.64 22...La4 23.Dd2 (23.809.394) 1190

11.01 0:25 -0.64 22...La4 23.Dd2 (30.174.059) 1206

12.01 0:37 -0.66 22...La4 23.Dd2 (44.206.333) 1194

13.01 1:18 -0.68 22...La4 23.De2 Pd7 24.Dxb2 axb2
25.Tb1 Tc2 26.Kh2 Kh7 27.Ld3 Tc3
28.Lb5 Lxb5 29.Txb5 (96.119.824) 1232

14.01 2:57 -0.75 22...La4 23.De2 Dxe2 24.Lxe2 (222.012.405) 1254

15.01 7:44 -0.73 22...La4 23.Dd2 Dxd2 24.Pxd2 Kf8
25.Pc4 Lxd4 26.Pxa3 Pd7 (579.450.909) 1248

16.01 40:33 -0.73 22...La4 23.Dd2 1248

Eelco
User avatar
Eelco de Groot
Posts: 4565
Joined: Sun Mar 12, 2006 2:40 am
Full name:   

Re: Pro Deo nodecounter overflow

Post by Eelco de Groot »

I do get output now at 17 ply and there is even information again about the total number of nodes at this plydepth! I think that is possible because it is now a positive number again. I can't check for sure because I have no wb2uci.log yet for this installation with Wb2Uci.exe.


15.01 7:44 -0.73 22...La4 23.Dd2 Dxd2 24.Pxd2 Kf8
25.Pc4 Lxd4 26.Pxa3 Pd7 (579.450.909) 1248

16.01 40:33 -0.73 22...La4 23.Dd2 1248

17.01 177:19 -0.71 22...La4 23.Dd2 Dxd2 24.Txg7+ Kxg7
25.Pxd2 (515.869.647) 48


Eelco
Odd Gunnar Malin
Posts: 294
Joined: Wed Mar 08, 2006 9:59 pm
Location: Norway, Vads?

Re: Pro Deo nodecounter overflow

Post by Odd Gunnar Malin »

hi.

You are correct, from my log:

// 31.10.04 - Allow negative values in nodecount (nodes set to 1).

Maybe time to convert it to version 1.3 without beta :)

I see in my log that I have added a few features after last release too:

// 08.07.06 - Read inifiles in the following order:
// commandline option - programname.eng - wb2uci.eng
// 10.07.06 - Added CpuPower.


I don't know if there are any interest in these. The fix 08.07.06 is so you can rename the wb2uci.exe file and have a ini file with the same new name.

Ex.
RebelStrong.exe -> RebelStrong.ini
RebelExpert.exe -> RebelExpert.ini

CpuPower is experimential to try to give 4% cpu time, 10% etc. to the engine to lower the strength like this. Better method than the SlowDown feature.

Odd Gunnar
Odd Gunnar Malin
Posts: 294
Joined: Wed Mar 08, 2006 9:59 pm
Location: Norway, Vads?

Re: Pro Deo nodecounter overflow

Post by Odd Gunnar Malin »

Odd Gunnar Malin wrote:Ex.
RebelStrong.exe -> RebelStrong.ini
RebelExpert.exe -> RebelExpert.ini
Should be:
RebelStrong.exe -> RebelStrong.eng
RebelExpert.exe -> RebelExpert.eng
User avatar
F.Huber
Posts: 853
Joined: Thu Mar 09, 2006 4:50 pm
Location: Austria

Re: Pro Deo nodecounter overflow

Post by F.Huber »

Odd Gunnar Malin wrote: I see in my log that I have added a few features after last release too:

// 08.07.06 - Read inifiles in the following order:
// commandline option - programname.eng - wb2uci.eng
// 10.07.06 - Added CpuPower.


I don't know if there are any interest in these.
Of course, Odd Gunnar,

so where is it? :wink:

Oh, I´ve just seen it - finally it´s here! :)

Many thanks,
Franz.
Odd Gunnar Malin
Posts: 294
Joined: Wed Mar 08, 2006 9:59 pm
Location: Norway, Vads?

Re: Pro Deo nodecounter overflow

Post by Odd Gunnar Malin »

Hi.

I'm short of time right now so I haven't time to create any 'help-file' for these.

I got a 'PM' on this, here is my answer.
http://utilities.sjakk.biz/download/Wb2Uci_1.3_B22.zip

You can either set the cpuPower direct in the .eng file or in the visible option.

Ex. for ProDeo 5

;------ Wb2Uci.eng----------
[ENGINE]
Name = ProDeo 1.5
Author = Ed Schroeder
Filename = ProDeoUci.exe

[OPTIONS]
Program = prodeo.exe w4 ProDeo.eng
; InitString = BookOff/n
LevelExtend = none
Logfile = false
LevelType = 2
SimulateHint = true
TerminateHard = true
; In WIN XP or Win NT TerminateHard = true
Protocol = 1
;Set the cpu usage to 5% processor time.
;CpuPower=5.0
Visible = Ponder,Logfile,Extras,CpuPower

[EXTRAS]
Personality=setvar personality personal\%s.eng|combo|ProDeo|ProDeo|Strong Club Player|Average Club Player|Absolute Novice Player|Q3 - Tactical Engine
Anti-GM=setvar antigm|combo|off|off|active|strong|smart
Playing Style=setvar playstyle|combo|normal|aggressive|active|normal|solid|defensive
Strength=setvar playstrength|combo|strong|novice|club player|strong
Opening Book=setvar bookfile books\%s.bin|combo|prodeo|prodeo
EOC database=setvar eocfile eoc\%s.eoc|combo|prodeo|prodeo
EOC Usuage=setvar eocuse|combo|strong|none|moderate|strong|book
;-------End of file ---------

You set the power with the standard decimal point '.' Ex. 1.5
You can set it below 1.0 but the engine will probably lose on time in blitz game then.

There is also an option to use the limit_strength feature but I haven't had time to do any research here so for now it just use:
CpuPower=UCI_Elo/10

For uci engines (or WB-engine in WB gui) this feature is also added to the latest 'InBetween' (http://utilities.sjakk.biz/).

I'm starting out for Bulgaria on monday morning so I don't get time to add a full description on the web-page (or answer mails) before i'm back (12 july).
For the other feature, it shouldn't need much description. Programname.exe=Programname.eng

Hope this help.

Odd Gunnar
Kaj Soderberg

Re: Pro Deo nodecounter overflow

Post by Kaj Soderberg »

Eelco de Groot wrote:I do get output now at 17 ply and there is even information again about the total number of nodes at this plydepth! I think that is possible because it is now a positive number again. I can't check for sure because I have no wb2uci.log yet for this installation with Wb2Uci.exe.


15.01 7:44 -0.73 22...La4 23.Dd2 Dxd2 24.Pxd2 Kf8
25.Pc4 Lxd4 26.Pxa3 Pd7 (579.450.909) 1248

16.01 40:33 -0.73 22...La4 23.Dd2 1248

17.01 177:19 -0.71 22...La4 23.Dd2 Dxd2 24.Txg7+ Kxg7
25.Pxd2 (515.869.647) 48


Eelco
Hi Eelco,

You are absolutely right, i think. SmarThink also starts giving information again when it is in positive numbers. It has the same kind of (bit lousy) node counting method as Rebel/Pro Deo. It is just annoying to see this situation. It should have shown in a test before, but maybe the test case, if it did exist, happened within the positive range (up to 2,47 billion(miljard) nodes). I notified Lokasoft once years ago about Rebel12 and also on this forum and now again with SmarThink, but i got an answer in those days back from someone on this forum saying that everything was working fine with him, so i rested my case as an oddity. Glad you bring it up again. This should be solved. I know that Lokasoft has notified the programmer of SmarThink, but no result has been fed back yet.

Best regards,

Kaj