Is it possible that Rybka 2.2 has no transposition table?!

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

Moderator: Ras

metax
Posts: 344
Joined: Wed Sep 23, 2009 5:56 pm
Location: Germany

Is it possible that Rybka 2.2 has no transposition table?!

Post by metax »

The title says it all. :)
My reasons for this (maybe stupid) thought.

-Rybka 2.2 reports no UCI "hashfull" (of course this could be part of the general obfuscating of information Rybka is reporting, but unlike depth, seldepth, node count and nps I don't see any reason to obfuscate the level of the transposition table)
-In the standard endgame testing position about transposition tables, ...

[d]8/k7/3p4/p2P1p2/P2P1P2/8/8/K7 w - -

...Rybka 2.2 analyses:

Code: Select all

 21.01	 0:08 	+0.84 	1.Kb2 Ka8 2.Kc3 Kb7 3.Kd3 Kc7 4.Kc4 Kb6 5.Kb3 Ka6 6.Kc2 Kb7 7.Kc3 Ka6 (707.671) 90
 22.01	 0:08 	+0.75 	1.Kb2 Ka8 2.Kc3 Kb7 3.Kd3 Kc7 4.Kc4 Kb6 5.Kb3 Ka6 6.Kc2 Kb7 7.Kc3 Ka6 (707.920) 90
 23.01	 0:08 	+0.75 	1.Kb2 Ka8 2.Kc3 Kb7 3.Kd3 Kc7 4.Kc4 Kb6 5.Kb3 Ka6 6.Kc2 Kb7 7.Kc3 Ka6 (713.837) 90
 23.02	 0:12 	+1.69 	1.Kb1 Ka8 2.Kb2 Ka7 3.Kb3 Ka6 4.Kc2 Kb7 5.Kc3 Ka6 6.Kd2 Ka7 7.Ke2 Kb6 (1.083.227) 89
 24.01	 0:14 	+1.67 	1.Kb1 Ka8 2.Kb2 Ka7 3.Kb3 Ka6 4.Kc2 Kb7 5.Kc3 Ka6 6.Kd2 Ka7 7.Ke2 Kb6 (1.258.398) 90
 25.01	 0:30 	+1.75 	1.Kb1 Ka8 2.Kb2 Ka7 3.Kb3 Ka6 4.Kc2 Kb7 5.Kc3 Kc7 6.Kb3 Kb7 7.Kc3 Kc7 (2.555.333) 84
 26.01	 0:37 	+1.66 	1.Kb1 Ka8 2.Kb2 Ka7 3.Kb3 Ka6 4.Kc2 Kb7 5.Kc3 Kb6 6.Kd2 Kc7 7.Kd3 Kb6 (3.062.511) 84
 27.01	 0:44 	+1.75 	1.Kb1 Ka8 2.Kb2 Ka7 3.Kb3 Ka6 4.Kc2 Kb7 5.Kc3 Ka7 6.Kb3 Ka6 7.Kc2 Kb7 (4.269.242) 98
 28.01	 0:44 	+1.66 	1.Kb1 Ka8 2.Kb2 Ka7 3.Kb3 Ka6 4.Kc2 Kb7 5.Kc3 Ka7 6.Kb3 Ka6 7.Kc2 Kb7 (4.307.227) 98
not really realizing the thing (right move after some secs, but not seen the win really), while Stockfish 1.5 has the right move immediately, and with an adequate evaluation and high depths.

Code: Select all

 40.01	 0:01 	+3.75 	1.Kb1 Kb7 2.Kc1 Kc7 3.Kd1 Kd7 4.Kc2 Kc8 5.Kd2 Kc7 6.Kd3 Kb7 7.Ke3 Kc7 8.Kf3 Kd8 9.Kg3 Ke7 10.Kh4 Kf6 11.Kh5 Kf7 12.Kg5 Kg7 13.Kxf5 Kf7 14.Kg5 (1.881.464) 1021
 41.01	 0:02 	+4.40++	1.Kb1 Kb7 2.Kc1 Kc7 3.Kd1 Kd7 4.Kc2 Kc8 5.Kd2 Kc7 6.Kd3 Kb7 7.Ke3 Kc7 8.Kf3 Kd8 9.Kg3 Ke7 10.Kh4 Kf6 11.Kh5 Kf7 12.Kg5 Kg7 13.Kxf5 Kf7 14.Kg5 (2.962.210) 1172
 42.01	 0:03 	+4.88 	1.Kb1 Kb7 2.Kc1 Kc7 3.Kd1 Kd7 4.Kc2 Kc8 5.Kd2 Kc7 6.Kd3 Kb7 7.Ke3 Kc7 8.Kf3 Kd8 9.Kg3 Ke7 10.Kh4 Kf6 11.Kh5 Kf7 12.Kg5 Kg7 13.Kxf5 Kf7 14.Kg5 (4.320.710) 1331
 43.01	 0:04 	+6.50++	1.Kb1 Kb7 2.Kc1 Kc7 3.Kd1 Kd7 4.Kc2 Kc8 5.Kd2 Kc7 6.Kd3 Kb7 7.Ke3 Kc7 8.Kf3 Kd8 9.Kg3 Ke7 10.Kh4 Kf6 11.Kh5 Kf7 12.Kg5 Kg7 13.Kxf5 Kf7 14.Ke4 (6.119.446) 1458
 44.01	 0:06 	+9.33 	1.Kb1 Kb7 2.Kc1 Kc7 3.Kd1 Kd7 4.Kc2 Kc8 5.Kd2 Kc7 6.Kd3 Kb7 7.Ke3 Kc7 8.Kf3 Kd8 9.Kg3 Ke7 10.Kh4 Kf6 11.Kh5 Kf7 12.Kg5 Kg7 13.Kxf5 Kf7 14.Ke4 (9.266.003) 1542
 45.01	 0:06 	+9.33 	1.Kb1 Kb7 2.Kc1 Kc7 3.Kd1 Kd7 4.Kc2 Kc8 5.Kd2 Kc7 6.Kd3 Kb7 7.Ke3 Kc7 8.Kf3 Kd8 9.Kg3 Ke7 10.Kh4 Kf6 11.Kh5 Kf7 12.Kg5 Kg7 13.Kxf5 Kf7 14.Ke4 (9.796.376) 1550
 46.01	 0:11 	+10.22	1.Kb1 Kb7 2.Kc1 Kc7 3.Kd1 Kd7 4.Kc2 Kc8 5.Kd2 Kc7 6.Kd3 Kb7 7.Ke3 Kc7 8.Kf3 Kd8 9.Kg3 Ke7 10.Kh4 Kf6 11.Kh5 Kf7 12.Kg5 Kg7 13.Kxf5 Kf7 14.Ke4 (17.534.070) 1576
 47.01	 0:13 	+10.18	1.Kb1 Kb7 2.Kc1 Kc7 3.Kd1 Kd7 4.Kc2 Kc8 5.Kd2 Kc7 6.Kd3 Kb7 7.Ke3 Kc7 8.Kf3 Kd8 9.Kg3 Ke7 10.Kh4 Kf6 11.Kh5 Kf7 12.Kg5 Kg7 13.Kxf5 Kf7 14.Ke4 (20.615.095) 1578
 48.01	 0:19 	+10.54	1.Kb1 Kb7 2.Kc1 Kc7 3.Kd1 Kd7 4.Kc2 Kc8 5.Kd2 Kc7 6.Kd3 Kb7 7.Ke3 Kc7 8.Kf3 Kd8 9.Kg3 Ke7 10.Kh4 Kf6 11.Kh5 Kf7 12.Kg5 Kg7 13.Kxf5 Kf7 14.Ke4 (31.065.332) 1605
 49.01	 0:27 	+11.31++	1.Kb1 Kb7 2.Kc1 Kc7 3.Kd1 Kd7 4.Kc2 Kc8 5.Kd2 Kc7 6.Kd3 Kb7 7.Ke3 Kc7 8.Kf3 Kd8 9.Kg3 Ke7 10.Kh4 Kf6 11.Kh5 Kf7 12.Kg5 Kg7 13.Kxf5 Kf7 14.Ke4 (43.868.057) 1617
 50.01	 0:37 	+14.74++	1.Kb1 Kb7 2.Kc1 Kc7 3.Kd1 (60.140.188) 1587
 51.01	 1:17 	+22.26	1.Kb1 Kb7 2.Kc1 Kc7 3.Kd1 Kd7 4.Kc2 Kc8 5.Kd2 Kc7 6.Kd3 Kb7 7.Ke3 Kc7 8.Kf2 Kd7 9.Kg3 Ke7 10.Kh4 Kf6 11.Kh5 Kf7 12.Kg5 Kg7 13.Kxf5 Kf7 14.Kg5 (107.630.997) 1388
Rybka may obfuscate the depth, maybe with a subtraction of 2 or 3 plies, but not by that difference. Even amateur engines reach a higher depth than Rybka in this position, with a more adequate evaluation of course.
User avatar
Werner
Posts: 2991
Joined: Wed Mar 08, 2006 10:09 pm
Location: Germany
Full name: Werner Schüle

Re: Is it possible that Rybka 2.2 has no transposition table

Post by Werner »

No problems here:
Neue Partie
8/k7/3p4/p2P1p2/P2P1P2/8/8/K7 w - - 0 1

Analysis by Rybka 2.2n2 32-bit:

1.Kb2 Kb6 2.Kc3
+/- (0.75) Tiefe: 6 00:00:00 0kN
1.Kb2 Kb6 2.Kc3 Kc7
+/- (0.84) Tiefe: 7 00:00:00 0kN
1.Kb2 Kb6 2.Kc3 Kc7 3.Kc4
+/- (0.75) Tiefe: 8 00:00:00 0kN
1.Kb2 Kb6 2.Kc3 Kc7 3.Kc4 Kb6
+/- (0.74) Tiefe: 9 00:00:00 0kN
1.Kb2 Kb6 2.Kc3 Kc7 3.Kc4 Kb6 4.Kd3
+/- (0.75) Tiefe: 10 00:00:00 0kN
1.Kb2 Kb6 2.Kc3 Kc7 3.Kc4 Kb6 4.Kd3 Kb7 5.Kc4 Kb6 6.Kd3 Kb7 7.Kc4 Kb6
+/- (0.74) Tiefe: 11 00:00:00 1kN
1.Kb2 Kb6 2.Kc3 Kc7 3.Kc4 Kb6 4.Kd3 Kb7 5.Kc4 Ka6 6.Kb3
+/- (0.75) Tiefe: 12 00:00:00 1kN
1.Kb2 Kb6 2.Kc3 Kc7 3.Kc4 Kb6 4.Kd3 Kb7 5.Kc4 Kb6 6.Kd3 Kb7 7.Kc4 Kb6
+/- (0.74) Tiefe: 13 00:00:00 1kN
1.Kb2 Kb6 2.Kc3 Kc7 3.Kc4 Kb6 4.Kd3 Kb7 5.Kc4 Kb6 6.Kd3 Kb7 7.Kc4 Kb6
+/- (0.74) Tiefe: 14 00:00:00 1kN
1.Kb2 Kb6 2.Kc3 Kc7 3.Kc4 Kb6 4.Kd3 Kb7 5.Kc4 Kb6 6.Kd3 Kb7 7.Kc4 Kb6
+/- (0.74) Tiefe: 15 00:00:00 1kN
1.Kb2 Kb6 2.Kc3 Kc7 3.Kc4 Kb6 4.Kd3 Kb7 5.Kc4 Kb6 6.Kd3 Kb7 7.Kc4 Kb6
+/- (0.74) Tiefe: 16 00:00:00 1kN
1.Kb2 Ka8 2.Kc3 Kb7 3.Kd3 Kc7 4.Kc4 Kb6 5.Kd3 Kc7 6.Kc4 Kb6 7.Kd3 Kc7
+/- (0.74) Tiefe: 17 00:00:00 5kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kb7 5.Kf2 Kb6 6.Kg3 Kc7 7.Kh4 Kd7
+- (1.94) Tiefe: 17 00:00:00 5kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kb7 5.Kf2 Kb6 6.Kg3 Kc7 7.Kh4 Kd7
+- (1.73) Tiefe: 18 00:00:00 5kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kb7 5.Kf2 Kb6 6.Kg3 Kc7 7.Kh4 Kd7
+- (1.93) Tiefe: 19 00:00:00 6kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kb7 5.Kf2 Kb6 6.Kg3 Kc7 7.Kh4 Kd7
+- (1.86) Tiefe: 20 00:00:00 6kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (1.81) Tiefe: 21 00:00:00 10kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (1.99) Tiefe: 22 00:00:00 10kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (2.31) Tiefe: 23 00:00:00 11kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (2.03) Tiefe: 24 00:00:00 15kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (1.97) Tiefe: 25 00:00:00 64kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (2.10) Tiefe: 26 00:00:00 64kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (2.31) Tiefe: 27 00:00:00 65kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (2.22) Tiefe: 28 00:00:00 71kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (2.32) Tiefe: 29 00:00:00 72kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (2.33) Tiefe: 30 00:00:00 74kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (3.38) Tiefe: 31 00:00:00 76kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (3.50) Tiefe: 32 00:00:00 77kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (4.40) Tiefe: 33 00:00:01 81kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (9.35) Tiefe: 34 00:00:01 87kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (9.51) Tiefe: 35 00:00:01 94kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (12.00) Tiefe: 36 00:00:02 168kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (12.00) Tiefe: 37 00:00:02 172kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (12.99) Tiefe: 38 00:00:04 472kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (13.98) Tiefe: 39 00:00:05 698kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (15.40) Tiefe: 40 00:00:07 857kN
1.Kb1 Kb6 2.Kc2 Kc7 3.Kd3 Kb6 4.Ke2 Kc7 5.Kf2 Kd7 6.Kg3 Ke7 7.Kh4 Kf7
+- (14.18) Tiefe: 41 00:00:07 961kN quite a difference in depth :)

(, 17.12.2009)
Werner
Uri Blass
Posts: 10882
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Is it possible that Rybka 2.2 has no transposition table

Post by Uri Blass »

Did not care to analyze with rybka but some comments:

1)Rybka2.2 is not Rybka2.2n2

2)not solving the relevant position does not prove that the program does not have tranposition tables and it may be because of some pruning rules
that generally help but hurt in the relevant position.

Uri
User avatar
Werner
Posts: 2991
Joined: Wed Mar 08, 2006 10:09 pm
Location: Germany
Full name: Werner Schüle

Re: Is it possible that Rybka 2.2 has no transposition table

Post by Werner »

Yes - that´s true :oops:

FEN: 8/k7/3p4/p2P1p2/P2P1P2/8/8/K7 w - - 0 1
Rybka v2.2.w32:
28 00:18 3.909.686 222.789 +1.55 Ka1b1 Ka7b7 Kb1c1 Kb7c7 Kc1d1 Kc7d7 Kd1c2 Kd7c8 Kc2d2 Kc8d8 Kd2c3 Kd8c7 Kc3d3 Kc7b7

but it uses tbs - just tested with a 5men position.
Werner
Dann Corbit
Posts: 12791
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Is it possible that Rybka 2.2 has no transposition table

Post by Dann Corbit »

With fine.70, the dominatingly important thing is pawn hash tables.

Perhaps Rybka 2.2 does not maintain a separate pawn hash table.

Or it could be some other issue.

I think that to search as well as Rybka 2.2x searches, a hash table is pretty much a given. Besides which, it does have a hash command that does use up memory.

Code: Select all

Arena 2.0.1
965**----------New game---2009-12-17 12:11:52,679 Thu -------------
53.754*1*---------------------Starting engine 1 Rybka 2.2 64 bit---------------------
53.757*1*Configured Engine 1 Type:   UCI
53.878*1*Engine 1 dir: C:\chess\winboard\Arena201\Engines\Rybka
53.919*1*Engine 1 commandline: "C:\chess\winboard\Arena201\Engines\Rybka\Rybka v2.2n2.mp.x64.exe" 
54.092*1*Engine 1 ProcessID: 5256
54.236-->1:uci
54.287<--1:id name Rybka 2.2n2 mp
54.336<--1:id author Vasik Rajlich
54.387<--1:option name Hash type spin min 2 max 4096 default 32
54.438<--1:option name Max CPUs type spin min 1 max 2048 default 2048
I guess it could just be doing a malloc() and not using it, but that would be a tad on the silly side.
Uri Blass
Posts: 10882
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Is it possible that Rybka 2.2 has no transposition table

Post by Uri Blass »

Dann Corbit wrote:With fine.70, the dominatingly important thing is pawn hash tables.

Perhaps Rybka 2.2 does not maintain a separate pawn hash table.
No

pawn hash tables has no importance for fine 70.

pawn hash tables may make the program slightly faster but only by a small constant and in fine 70 it is unimportant.

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

Re: Is it possible that Rybka 2.2 has no transposition table

Post by Eelco de Groot »

Probably I only know half the answer Luca, anyway I believe Vas originally wanted to have an option to display "win percentage", winning chances, along with the regular eval. Later I suppose the Rybka eval was more directly a measure of win percentage, at least in theory. But you would have to ask at the Rybka forum it that is correct interpretation, but I always understood that was the idea, one pawn up should be close to a sure win so Rybka's evaluations are/were lower than most other programs. Later with Rybka 3 the style changed to a more attacking one and then I don't know if that influenced the score reporting again, because Rybka 3 would surely use more speculative terms than the Rybka 2 series?

There is an Rybka 2.2n2 UCI option "Win Percentage to Hash Usage", enable this , start Rybka up again and it should report the hash fill rate again. Tord once explained in a forumpost here this is really a half baked measure because hash is never full but don't ask me to explain :?

Regards,
Eelco
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
Jouni
Posts: 3646
Joined: Wed Mar 08, 2006 8:15 pm
Full name: Jouni Uski

Re: Is it possible that Rybka 2.2 has no transposition table

Post by Jouni »

The real challenge here: find mate! How many moves, I think it has been discussed here? My quess 32-35x.

Jouni
BBauer
Posts: 658
Joined: Wed Mar 08, 2006 8:58 pm

Re: Is it possible that Rybka 2.2 has no transposition table

Post by BBauer »

Jouni wrote:The real challenge here: find mate! How many moves, I think it has been discussed here? My quess 32-35x.

Jouni
Could be a mate in 35. For esample

Code: Select all

 1. Kb1 Kb7  2.Kc1  Kc7   3.Kd1  Kd7   4.Kc2 Kc8    5.Kd2  Kd7  6.Kc3 Kc7   7.Kd3  Kb7
 8. Ke2 Kc7  9.Kf3  Kd7  10.Kg3  Ke7  11.Kh4 Kf6   12.Kh5  Kf7 13.Kg5 Kg7  14.Kxf5 Kf7
15.Kg5  Kg7 16.f5   Kf7  17.f6   Kf8  18.Kf4 Ke8   19.Kg4  Kf8 20.Kg5 Kg8  21.Kg6  Kh8
22.Kf7  Kh7 23.Ke7  Kg6  24.f7   Kf5  25.Kxd6 Ke4  26.Ke6  Ke3 27.d6  Kd3  28.d7   Ke4
29.d8=Q Kf3 30.Qxa5 Kg2  31.f8=Q Kh3  32.Qaf5+ Kh2 33.Qh5+ Kg3 34.Qg5+ Kh2 35.Qfh6#
kind regards
Bernhard