Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Rybka Discussion / Nalimov access slowdown
- - By Vasik Rajlich (Silver) [hu] Date 2007-01-09 13:36
Nelson Hernandez wrote:

------------
That's an interesting point, the big slowdown in kns if you use Nalimov.

I am not a programmer, but it seems to me a pretty simple kluge solution could really help. Like for instance Rybka shouldn't refer to EGTBs until the number of pieces on the board is <16, for instance. Wouldn't that prevent the kns slowdown prior to this condition? After the board simplifies to this level pure kns is not nearly as important as EGTB combined with proper endgame position analysis.

My thought is that Rybka ought to be able to handle the entire 1.12TB 6-man set without any loss of speed early on when EGTB is irrelevant.

------------

Sure - Rybka only accesses the Nalimov tablebases when she knows that an entry will be found. This functionality is provided at part of the Nalimov code.

An nps slowdown does take place, but this is fine. One Nalimov node replaces many normal Rybka nodes, there is no time-to-depth slowdown.

Vas
Parent - - By Uri Blass (*****) [il] Date 2007-01-09 14:58
Note that my experience is that there is a time to depth slow down for rybka2.2n2 if I use tablebases.

It may be better for analysis to change the default option from normally to rarely.
I do not have tablebases in the computer that I use now so I cannot check it now.

I will check it later and I think that it may be interesting to compare result of rybka in analysis of endgames
with other users.

Note that I have all the 5 piece tablebases but not 6 piece tablebases installed and I can post positions with analysis with and without tablebases later.

Uri
Parent - - By Uri Blass (*****) [il] Date 2007-01-10 08:40
time to get line at depth 26 in drawn position that rybka does not understand(position is from analysis of a correspondence game that I won):

tablebases normally all 5 piece tablebases 18:45 minutes
tablebase rare 5:09 minutes
no tablebases(I simply changed the tablebase path so rybka cannot use tablebases and I guess that I can get the same result by never) 36 second

Here is the analysis:

New game - Rybka 2.2n2 32-bit
8/8/p7/P7/8/1n1K2k1/7p/7B w - - 0 1


Analysis by Rybka 2.2n2 32-bit :

68.Ke2
  -+  (-2.97)   Depth: 2   00:00:00
68.Bd5
  -+  (-2.84)   Depth: 2   00:00:00
68.Bd5
  -+  (-2.89)   Depth: 3   00:00:00
68.Kc4
  -+  (-2.17)   Depth: 3   00:00:00
68.Kc4
  -+  (-2.32)   Depth: 4   00:00:00
68.Kc3
  -+  (-2.01)   Depth: 4   00:00:00
68.Kc3 Nc5
  -+  (-2.07)   Depth: 5   00:00:00
68.Kc3 Nc5
  -+  (-2.11)   Depth: 6   00:00:01  2kN
68.Kc3 Nc5
  -+  (-2.12)   Depth: 7   00:00:02  3kN
68.Kc3 Nc5
  -+  (-2.18)   Depth: 8   00:00:03  4kN
68.Kc3 Nc5
  -+  (-2.60)   Depth: 9   00:00:05  9kN
68.Kc4 Nc1
  -+  (-2.46)   Depth: 9   00:00:06  12kN
68.Kc4 Nc1
  -+  (-2.45)   Depth: 10   00:00:10  26kN
68.Kc4 Nc1
  -+  (-1.69)   Depth: 11   00:00:12  35kN
68.Kc4 Nc1
  -+  (-2.67)   Depth: 12   00:00:20  57kN
68.Kc4 Nc1
  -+  (-4.20)   Depth: 13   00:00:31  78kN
68.Kc3 Nc5
  -+  (-3.67)   Depth: 13   00:00:33  82kN
68.Kc3 Nc5
  -+  (-4.15)   Depth: 14   00:00:44  104kN
68.Kc3 Nc5
  -+  (-4.17)   Depth: 15   00:01:03  150kN
68.Kc3 Nc5
  -+  (-4.17)   Depth: 16   00:01:10  179kN
68.Kc3 Nc5
  -+  (-4.17)   Depth: 17   00:01:21  212kN
68.Kc3 Nc5
  -+  (-4.20)   Depth: 18   00:01:33  254kN
68.Kc3 Nc5
  -+  (-4.20)   Depth: 19   00:02:00  364kN
68.Kc3 Nc5
  -+  (-4.40)   Depth: 20   00:02:25  440kN
68.Kc3 Nc5
  -+  (-4.40)   Depth: 21   00:03:02  581kN
68.Kc3 Nc5
  -+  (-9.88)   Depth: 22   00:04:21  989kN
68.Kc3 Nc5
  -+  (-9.88)   Depth: 23   00:05:45  1542kN
68.Kc3 Nc5
  -+  (-9.88)   Depth: 24   00:07:24  1985kN
68.Kc3 Nc5
  -+  (-10.22)   Depth: 25   00:10:17  3994kN
68.Kc4 Nc1
  -+  (-9.88)   Depth: 25   00:15:34  5200kN
68.Kc4 Nc1
  -+  (-9.88)   Depth: 26   00:18:45  5827kN

(,  10.01.2007)

tablebase rare

New game - Rybka 2.2n2 32-bit
8/8/p7/P7/8/1n1K2k1/7p/7B w - - 0 1


Analysis by Rybka 2.2n2 32-bit :

68.Ke2
  -+  (-2.97)   Depth: 2   00:00:11
68.Bd5
  -+  (-2.84)   Depth: 2   00:00:11
68.Bd5
  -+  (-2.89)   Depth: 3   00:00:11
68.Kc4
  -+  (-2.17)   Depth: 3   00:00:11
68.Kc4
  -+  (-2.32)   Depth: 4   00:00:11
68.Kc3
  -+  (-2.01)   Depth: 4   00:00:11
68.Kc3 Nc5
  -+  (-2.07)   Depth: 5   00:00:11
68.Kc3 Nc5
  -+  (-2.11)   Depth: 6   00:00:11  2kN
68.Kc3 Nc5
  -+  (-2.12)   Depth: 7   00:00:11  3kN
68.Kc3 Nc5
  -+  (-2.18)   Depth: 8   00:00:11  4kN
68.Kc3 Nc5
  -+  (-2.60)   Depth: 9   00:00:12  9kN
68.Kc4 Nc1
  -+  (-2.46)   Depth: 9   00:00:13  12kN
68.Kc4 Nc1
  -+  (-2.45)   Depth: 10   00:00:13  28kN
68.Kc4 Nc1
  -+  (-1.69)   Depth: 11   00:00:14  39kN
68.Kc4 Nc1
  -+  (-2.62)   Depth: 12   00:00:16  61kN
68.Kc4 Nc1
  -+  (-3.22)   Depth: 13   00:00:17  89kN
68.Kc3 Nc5
  -+  (-2.50)   Depth: 13   00:00:17  94kN
68.Kc3 Nc5
  -+  (-2.66)   Depth: 14   00:00:19  106kN
68.Kc3 Nc5
  -+  (-2.80)   Depth: 15   00:00:21  132kN
68.Kc3 Nc5
  -+  (-2.70)   Depth: 16   00:00:24  174kN
68.Kc3 Nc5
  -+  (-4.17)   Depth: 17   00:00:26  221kN
68.Kc3 Nc5
  -+  (-4.17)   Depth: 18   00:00:30  349kN
68.Kc3 Nc5
  -+  (-4.20)   Depth: 19   00:00:34  433kN
68.Kc3 Nc5
  -+  (-4.20)   Depth: 20   00:00:41  595kN
68.Kc3 Nc5
  -+  (-4.20)   Depth: 21   00:00:47  676kN
68.Kc3 Nc5
  -+  (-9.88)   Depth: 22   00:01:22  1532kN
68.Kc3 Nc5
  -+  (-9.88)   Depth: 23   00:02:16  2339kN
68.Kc3 Nc5
  -+  (-9.88)   Depth: 24   00:02:52  2846kN
68.Kc3 Nc5
  -+  (-9.88)   Depth: 25   00:03:40  3581kN
68.Kc3 Nc5
  -+  (-9.88)   Depth: 26   00:05:09  4640kN
68.Kc3 Nc5
  -+  (-10.84)   Depth: 27   00:08:30  12168kN
68.Kc4 Nc1
  -+  (-9.88)   Depth: 27   00:19:15  18315kN
68.Kc4 Nc1
  -+  (-9.88)   Depth: 28   00:25:09  22021kN
68.Kc4 Nc1
  -+  (-9.88)   Depth: 29   00:32:27  25249kN
68.Kc4 Nc1
  -+  (-9.88)   Depth: 30   00:41:35  29225kN

(,  10.01.2007)

without tablebases

New game - Rybka 2.2n2 32-bit, 240'/40+240'/20+240'
8/8/p7/P7/8/1n1K2k1/7p/7B w - - 0 1


Analysis by Rybka 2.2n2 32-bit :

68.Ke2
  -+  (-2.97)   Depth: 2   00:00:00
68.Bd5
  -+  (-2.84)   Depth: 2   00:00:00
68.Bd5
  -+  (-2.89)   Depth: 3   00:00:00
68.Kc4
  -+  (-2.17)   Depth: 3   00:00:00
68.Kc4
  -+  (-2.32)   Depth: 4   00:00:00
68.Kc3
  -+  (-2.01)   Depth: 4   00:00:00
68.Kc3 Nc5
  -+  (-2.07)   Depth: 5   00:00:00
68.Kc3 Nc5
  -+  (-2.11)   Depth: 6   00:00:00  2kN
68.Kc3 Nc5
  -+  (-2.12)   Depth: 7   00:00:00  3kN
68.Kc3 Nc5
  -+  (-2.18)   Depth: 8   00:00:00  4kN
68.Kc3 Nc5
  -+  (-2.60)   Depth: 9   00:00:00  9kN
68.Kc4 Nc1
  -+  (-2.46)   Depth: 9   00:00:00  12kN
68.Kc4 Nd2+ 69.Kd3 Nf3 70.Ke4 Nh4 71.Ke3 Nf5+ 72.Ke4
  -+  (-2.32)   Depth: 10   00:00:01  32kN
68.Kc4 Nd2+ 69.Kd3 Nf3 70.Ke4 Nh4 71.Ke3 Nf5+ 72.Ke4 Nd6+ 73.Kd3
  -+  (-2.33)   Depth: 11   00:00:01  36kN
68.Kc4 Nd2+ 69.Kd3 Nf3 70.Ke4 Nh4 71.Ke3 Nf5+ 72.Ke4 Nh6 73.Kd4
  -+  (-2.34)   Depth: 12   00:00:02  46kN
68.Kc4 Nd2+ 69.Kd3 Nf3 70.Ke4 Nh4 71.Ke3 Nf5+ 72.Ke4 Nh6 73.Kd4 Ng4
  -+  (-2.36)   Depth: 13   00:00:02  59kN
68.Kc4 Nd2+ 69.Kd3 Nf3 70.Ke4 Nh4 71.Ke3 Nf5+ 72.Ke2 Nh6 73.Bd5 Ng4 74.Bc6
  -+  (-2.36)   Depth: 14   00:00:03  77kN
68.Kc4 Nc1
  -+  (-4.20)   Depth: 15   00:00:03  182kN
68.Kc3 Nc5
  -+  (-2.73)   Depth: 15   00:00:04  206kN
68.Kc3 Nc5
  -+  (-4.17)   Depth: 16   00:00:04  252kN
68.Kc3 Nc5
  -+  (-4.17)   Depth: 17   00:00:05  346kN
68.Kc3 Nc5
  -+  (-4.17)   Depth: 18   00:00:05  381kN
68.Kc3 Nc5
  -+  (-4.17)   Depth: 19   00:00:06  437kN
68.Kc3 Nc5
  -+  (-4.17)   Depth: 20   00:00:06  515kN
68.Kc3 Nc5
  -+  (-4.17)   Depth: 21   00:00:07  620kN
68.Kc3 Nc5
  -+  (-4.17)   Depth: 22   00:00:07  757kN
68.Kc3 Nc5
  -+  (-4.17)   Depth: 23   00:00:08  1050kN
68.Kc3 Nc5
  -+  (-5.26)   Depth: 24   00:00:13  1822kN
68.Kc3 Nc5
  -+  (-5.46)   Depth: 25   00:00:30  4599kN
68.Kc3 Nc5
  -+  (-5.46)   Depth: 26   00:00:36  5608kN
68.Kc3 Nc5
  -+  (-5.46)   Depth: 27   00:00:41  6204kN
68.Kc3 Nc5
  -+  (-9.88)   Depth: 28   00:04:14  38552kN
68.Kc3 Nc5
  -+  (-9.88)   Depth: 29   00:09:33  94074kN
68.Kc3 Nc5
  -+  (-10.64)   Depth: 30   00:32:42  310936kN
68.Kc4 Nc1
  -+  (-9.88)   Depth: 30   00:36:57  326945kN
68.Kc4 Nc1
  -+  (-9.88)   Depth: 31   00:39:35  337446kN
68.Kc4 Nc1
  -+  (-9.88)   Depth: 32   00:42:46  350462kN
68.Kc4 Nc1
  -+  (-9.88)   Depth: 33   00:46:54  366235kN
68.Kc4 Nc1
  -+  (-9.88)   Depth: 34   00:52:19  386502kN
68.Kc4 Nc1
  -+  (-9.88)   Depth: 35   01:01:30  425846kN

(,  10.01.2007)

Note that Yoav dothan got the following analysis with rybka with tablebases but he used different version of rybka(rybka2.2mp)

New game
8/8/p7/P7/8/1n1K2k1/7p/7B w - - 0 1

Analysis by Rybka 2.2 mp 32-bit:
1.Bd5 Kf2 2.Ba8 Nc1+ 3.Kc2 Ne2 4.Kd1 Nd4
  -+  (-3.65)   Depth: 9   00:00:00
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Bf3 Nc4
  -+  (-3.05)   Depth: 10   00:00:00
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Bf3 Nc4
  -+  (-3.05)   Depth: 10   00:00:00
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Bf3 Nc4
  -+  (-3.05)   Depth: 10   00:00:00
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Bf3 Nc4
  -+  (-3.05)   Depth: 10   00:00:00  1kN
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Bf3 Nc4
  -+  (-3.05)   Depth: 10   00:00:00  1kN
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Bf3 Nc4
  -+  (-3.05)   Depth: 10   00:00:00  1kN
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Bf3 Nc4
  -+  (-3.05)   Depth: 10   00:00:00  1kN
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Bf3 Nc4
  -+  (-3.05)   Depth: 10   00:00:00  1kN
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Bf3 Nc4
  -+  (-3.05)   Depth: 10   00:00:00  1kN
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Bf3 Nc4
  -+  (-2.40)   Depth: 11   00:00:00  5kN, tb=1
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Bf3 Nc4
  -+  (-2.61)   Depth: 12   00:00:00  8kN, tb=1
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Bf3
  -+  (-3.47)   Depth: 13   00:00:00  13kN, tb=2
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Bf3
  -+  (-3.45)   Depth: 14   00:00:00  15kN, tb=2
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Bf3 Nc4
  -+  (-3.47)   Depth: 15   00:00:00  20kN, tb=2
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Bf3 Nc4
  -+  (-3.63)   Depth: 16   00:00:00  20kN, tb=2
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Bf3 Nc4
  -+  (-3.63)   Depth: 17   00:00:00  20kN, tb=2
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Ke5 Nc4+
  -+  (-3.65)   Depth: 18   00:00:01  28kN, tb=24
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Ke5 Nc4+
  -+  (-3.65)   Depth: 19   00:00:01  35kN, tb=41
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bd5 Nd6 7.Ke5 Nc4+
  -+  (-4.35)   Depth: 20   00:00:03  44kN, tb=77
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bc6 Nd6 7.Ke5 Nc4+
  -+  (-8.20)   Depth: 21   00:00:23  212kN, tb=649
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bc6 Nd6 7.Ke5 Nc4+
  -+  (-8.20)   Depth: 22   00:00:33  340kN, tb=1117
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bc6 Nd6 7.Ke5 Nc4+
  -+  (-8.20)   Depth: 23   00:00:40  357kN, tb=1236
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bc6 Nd6 7.Ke5 Nc4+
  -+  (-8.20)   Depth: 24   00:00:59  505kN, tb=1841
1.Kc3 Nc5 2.Kd4 Ne6+ 3.Ke4 Kf2 4.Ke5 Ng5 5.Kf4 Nf7 6.Bc6 Nd6 7.Ke5 Nc4+
  -+  (-8.99)   Depth: 25   00:03:12  4269kN, tb=12657
1.Kc4 Nc1 2.Kc5 Kf2 3.Kb6 Kg1 4.Be4 Nd3 5.Bc6 Nf4 6.Kxa6 Ng2 7.Kb6 h1Q
  -+  (-8.20)   Depth: 25   00:05:00  6545kN, tb=16746
1.Kc4 Nc1 2.Kc5 Kf2 3.Kb6 Kg1 4.Be4 Nd3 5.Bc6 Nf4 6.Kxa6 Ng2 7.Kb6 h1Q
  -+  (-8.20)   Depth: 26   00:06:08  7482kN, tb=21683
1.Kc4 Nc1 2.Kc5 Kf2 3.Kb6 Kg1 4.Be4 Nd3 5.Bc6 Nf4 6.Kxa6 Ng2 7.Kb6 h1Q
  -+  (-8.20)   Depth: 27   00:07:45  9264kN, tb=30050
1.Kc4 Nc1 2.Kc5 Kf2 3.Kb6 Kg1 4.Be4 Nd3 5.Bc6 Nf4 6.Kxa6 Ng2 7.Kb6 h1Q
  -+  (-8.20)   Depth: 28   00:09:53  12370kN, tb=43819
1.Kc4 Nc1 2.Kc5 Kf2 3.Kb6 Kg1 4.Bf3 Nd3 5.Kxa6 Ne1 6.Bc6 Ng2 7.Kb6 h1Q
  =  (-0.11)   Depth: 29   00:26:59  72027kN, tb=80428
1.Kc4 Nc1 2.Kc5 Kf2 3.Kb6 Kg1 4.Bf3 Nd3 5.Kxa6 Ne1 6.Bc6 Ng2 7.Kb6 h1Q
  =  (-0.11)   Depth: 30   00:30:41  81158kN, tb=101022
(Dothan, Ramat Hasharon 14.12.2006)
Parent - - By Nelson Hernandez (Gold) [us] Date 2007-01-10 12:59
Here's a perfect example of a position that would benefit from 7-man WLD tables.  Presumably you'd instantly arrive at the fact that you couldn't win in this position.
Parent - - By Jouni (**) [fi] Date 2007-01-10 14:27
Isn't best way to compare by running endgame test suite? I have already done it with EET suite:

normally   59/98    time 56:09
rarely      57/98    time 56:36

PC is old P2400 and I have 888 MB of Nalimov bases. 2 positions from EET are false.

No big difference at all! In my own suite rarely was slightly better.

Jouni
Parent - - By gala.martin (**) Date 2007-01-10 15:37
I think a hybrid system of Nalimov Tablebases and WLD bitbases could work. I mean that the engine could use WLD bases during the game, and switch to Nalimov when 6 pieces are left on the board (maybe it is convenient to switch to nalimov even if there are 7 pieces on the board). Of course, a fast access to WLD bases would be critical, and one should really understand what is optimal in this case (cutting off weird positions? using only 3-4-5 men bases? compressing and loading in RAM?). On the other hand, fast access to Nalimov TBs is not required, since they should be accessed once per move. One could store huge Nalimov TBs even on a remote server. For instance, Convetka could allow rybka users to access a Nalimov endgame database (this can be an issue when 7 men tbs become available).

Thinking about engines' elo and rating lists, the pay off for using hybrid bases should be quite low. Anyway, a solid endgame analysis should be a main target in computer chess.
Parent - By Vasik Rajlich (Silver) [hu] Date 2007-01-13 09:49
Really, there should be a third "practical positions" format.

It's how computer chess works - you try to get the practical 98% of cases.

Vas
Parent - By Vasik Rajlich (Silver) [hu] Date 2007-01-13 09:48
Note that you'd need more than one position - a time-to-depth slowdown of a factor of 3 or 4 can be easily explained by "bad search luck".

I did test this a litle bit many months ago and the tablebase use with a Nalimov setting of "normal" did not adversely affect times-to-depth on my machine. However, I've heard other comments similar to yours and should take a better look.

Vas
Up Topic Rybka Support & Discussion / Rybka Discussion / Nalimov access slowdown

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill