8 pieces endgame database

Discussion about development of draughts in the time of computer and Internet.
Post Reply
TAILLE
Posts: 968
Joined: Thu Apr 26, 2007 18:51
Location: FRANCE

Re: 8 pieces endgame database

Post by TAILLE »

Ed Gilbert wrote:The main benefit of the 8 and 9pc db is in analyzing games. It probably does not make a big difference in elo. When there are for example 14 pieces on the board and you want to know conclusively if the position is a win or draw, you need to probe the databases deep into the search tree. A strong program will usually know the correct move to make, but if it only probes the large db at the root it will not be able to give a conclusive game result. IIRC there are probably some examples in the thread "Help from the 8 pieces endgame database" where the root position is greater than 8 or 9 pieces, the program using a 7pc db could not get a conclusive result, but a conclusive result was obtained using an 8pc db and probing throughout the search.

-- Ed
Yes Ed. I agree with you : when in analyse you should probe the db deep into the tree in order to give the conclusive game result. In the examples given under the thread "Help from the 8 pieces endgame database" you have to note that, though Damy was not able to give the conclusive game result, Damy was able to find the good moves in practically all cases. As a consequence the gain brought be the 8 pieces db is a little difficult to see in a real game.
That is the reason why I plan a lot of tests to see how th 8 db can help in a real game. I am sure I will discover some means to improve the programm based on the 8 pieces db but I guess the ELO gain will not be very significant.
Gérard
MichelG
Posts: 244
Joined: Sun Dec 28, 2003 20:24
Contact:

Re: 8 pieces endgame database

Post by MichelG »

Ed Gilbert wrote:Rein, I have ECC memory in both my build machines. But I agree with Michel that this is no cureall as it does not catch many kinds of errors. It did not prevent two statistics errors from occurring in my counts. Some kind of verify is necessary for any computation that takes such a long time as building these databases. Even the verify that I do has some holes in it. The verify pass is run immediately after the db is built and compressed, and it shares the same cache of successor positions that the build uses. An error in the cache could go undetected.

-- Ed
I think i largely solved the issue with unreliable ram and harddisks. Consider that most databases that are in memory are not changed after they are loaded.

Dragon now writes a checksum for each database it writes.At some point this database will be loaded into memory, and at some point it will be removed from memory again. Dragon now checks the checksum when a database is removed from memory. If there was no error, the computation based its results on verified ram.

If an error was detected you have a problem because you don't know which databases are based on corrupt data and you will have to restart the computation.

Because 80+% of all assigned memory is in the form of read-only databases, this algorithm should catch 80+% of all RAM failures, and nearly 100% of harddisk failures.

Also, some new results:

Code: Select all

3113      809.130.309   92.390.326.233   28.144.887.687   1331   32.195.319.015   20.200.833.913          102.264 
3122    4.406.244.395  137.675.389.516   16.081.273.814   2231   37.099.749.767   66.666.267.039       10.901.081 

All
3113   19.014.278.851  316.718.699.463   56.374.467.086   1331  257.182.052.858  134.480.373.028      445.019.514 
3122   57.005.591.702  429.947.239.682   41.625.236.216   2231  270.553.627.737  255.087.895.895    2.936.543.968 

Ed Gilbert
Posts: 860
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Re: 8 pieces endgame database

Post by Ed Gilbert »

Dragon now writes a checksum for each database it writes.At some point this database will be loaded into memory, and at some point it will be removed from memory again. Dragon now checks the checksum when a database is removed from memory. If there was no error, the computation based its results on verified ram.

If an error was detected you have a problem because you don't know which databases are based on corrupt data and you will have to restart the computation.

Because 80+% of all assigned memory is in the form of read-only databases, this algorithm should catch 80+% of all RAM failures, and nearly 100% of harddisk failures.
This doesn't work for me because I cache successor positions in 4k blocks. I have CRCs for each subdivision file, and there are several hundred thousand of these files for 8 pieces, but not for each 4k block.
3113 809.130.309 92.390.326.233 28.144.887.687 1331 32.195.319.015 20.200.833.913 102.264
3122 4.406.244.395 137.675.389.516 16.081.273.814 2231 37.099.749.767 66.666.267.039 10.901.081
I have the same.

-- Ed
MichelG
Posts: 244
Joined: Sun Dec 28, 2003 20:24
Contact:

Re: 8 pieces endgame database

Post by MichelG »

Ed Gilbert wrote: This doesn't work for me because I cache successor positions in 4k blocks. I have CRCs for each subdivision file, and there are several hundred thousand of these files for 8 pieces, but not for each 4k block.
It would still work, if you add a checksum to each block (you could even add the checksum after load rather than writing it into the files, and still be protected from ram errors)

Did you ever experience a crc failure during the computation?
Ed Gilbert wrote: I have the same.

-- Ed
Good :-)
Ed Gilbert
Posts: 860
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Re: 8 pieces endgame database

Post by Ed Gilbert »

It would still work, if you add a checksum to each block (you could even add the checksum after load rather than writing it into the files, and still be protected from ram errors)
True, although with ECC ram I should already be protected from ram errors. I only check the file CRCs when a db file gets copied from one machine to another, and then about once every week or two I did a global check of all the file CRCs.
Did you ever experience a crc failure during the computation?
I have seen a couple cases of file CRC errors after a db file was copied to another machine over the LAN after it was built. I also saw a couple of verify errors during the 8-piece build. These 2 occurred at the same time on 2 different instances of the build program so I assume it was some glitch in the computer. I have never seen a program crash or anything that looked like a possible RAM CRC error.

-- Ed
MichelG
Posts: 244
Joined: Sun Dec 28, 2003 20:24
Contact:

Re: 8 pieces endgame database

Post by MichelG »

Ed Gilbert wrote:Hi Michel,

I can confirm your new results on 2222 and 0431. However I have these results for 1412:

1412b: wins 42534667073, draws 17911160723, losses 2
1412w: wins 166172640, draws 37716098562, losses 28762809912

In 1412w I have one more loss and you have one more draw. I'm leaving for work now, but more later.

-- Ed
Hi Ed,

I did a recompute and recount of 1412, and the results do not match my previous calculation, but they also still are different from your numbers. :-(

It may just be that my computer has some hardware issue. Did you finish your computation of 1412 yet?

I think i will recreate 5v3 on my newer computer, with the memory checks activated.

Code: Select all

Non-capture
DB     Win             Draw                Lose                    Win           Draw             Lose
3122    4.406.244.395  137.675.389.516   16.081.273.814   2231   37.099.749.767   66.666.267.039       10.901.081 
3131   11.141.956.409   79.183.896.249      954.179.841   3131   11.141.956.409   79.183.896.249      954.179.841 
4004        3.867.093    2.491.768.949    8.564.817.791   0440    2.003.198.359       39.424.745                0 
4013       59.360.248   10.672.070.357   28.290.532.567   1340   10.397.256.338      575.449.895               53 
4022      326.119.883   19.751.545.206   31.390.130.860   2240   18.787.384.942    3.274.677.451           34.889 
1412   42.534.667.073   17.911.160.723                2   1214      166.172.640   37.716.098.564   28.762.809.910 

All
3122   57.005.591.702  429.947.239.682   41.625.236.216   2231  270.553.627.737  255.087.895.895    2.936.543.968 
3131   88.535.910.616  218.584.119.672    8.828.455.312   3131   88.535.910.616  218.584.119.672    8.828.455.312 
4004       50.164.530    6.697.520.049   17.566.064.496   0440   23.500.190.638      813.291.105          267.332 
4013      466.684.247   30.270.382.582   56.886.396.021   1340   82.473.392.054    5.142.930.914        7.139.882 
1412  279.702.401.953   85.472.535.138      209.332.709   1214    5.588.412.150  287.132.364.906   72.663.492.744 
4022    2.259.169.492   54.284.384.176   61.611.799.032   2240  103.818.953.958   14.273.197.255       63.201.487 

Michel
Last edited by MichelG on Wed Oct 06, 2010 14:44, edited 1 time in total.
Ed Gilbert
Posts: 860
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Re: 8 pieces endgame database

Post by Ed Gilbert »

Hi Michel,
It may just be that my computer has some hardware issue. Did you finish your computation of 1412 yet?
No, I stopped it as soon as you reported that you had found the error and that we then had agreement. As I recall it was about 1/2 complete, and that part of it was in agreement with my original result. Unfortunately I discarded the partial rebuild data and removed all the build files from that computer because I needed the disk space for something else. Since you are still getting inconsistent results, maybe I should start it up again.

-- Ed
MichelG
Posts: 244
Joined: Sun Dec 28, 2003 20:24
Contact:

Re: 8 pieces endgame database

Post by MichelG »

Never mind Ed, 4v4 should be done tomorrow or so, after which i will redo the 5v3 on my main computer first and see what happens.

Can you verify the 4022 results?

Michel
Ed Gilbert
Posts: 860
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Re: 8 pieces endgame database

Post by Ed Gilbert »

Here are my 8-piece counts:

0404b: wins 30823865, draws 4245737717, losses 560081
0404w: wins 30823865, draws 4245737717, losses 560081
0413b: wins 548631694, draws 13794024089, losses 257207
0413w: wins 109951875, draws 21450905536, losses 57739438
0422b: wins 2892283317, draws 15045959691, losses 36546
0422w: wins 125521931, draws 39917605934, losses 1046702123
0431b: wins 7386983954, draws 2527311452, losses 0
0431w: wins 48729931, draws 23742050981, losses 10995615714
0440b: wins 2003198359, draws 39424745, losses 0
0440w: wins 3867093, draws 2491768949, losses 8564817791
0503b: wins 704925456, draws 3560143014, losses 0
0503w: wins 3281314, draws 3196650674, losses 417551618
0512b: wins 8273581968, draws 2181353594, losses 0
0512w: wins 10284244, draws 7293125775, losses 8055044119
0521b: wins 8415019196, draws 66685206, losses 0
0521w: wins 7142747, draws 4600829936, losses 17204584803
0530b: wins 2276443113, draws 54807, losses 0
0530w: wins 879372, draws 533378154, losses 9830307636
1313b: wins 1905191192, draws 71565238320, losses 58503429
1313w: wins 1905191192, draws 71565238320, losses 58503429
1322b: wins 10048283993, draws 83274268705, losses 14241250
1322w: wins 2128648799, draws 137975831241, losses 1493070805
1331b: wins 32195319015, draws 20200833913, losses 102264
1331w: wins 809130309, draws 92390326233, losses 28144887687
1340b: wins 10397256338, draws 575449895, losses 53
1340w: wins 59360248, draws 10672070357, losses 28290532567
1403b: wins 3183280592, draws 21081806976, losses 1
1403w: wins 58934290, draws 14406335089, losses 1041842747
1412b: wins 42534667073, draws 17911160723, losses 2
1412w: wins 166172640, draws 37716098562, losses 28762809912
1421b: wins 49017235602, draws 865155848, losses 1
1421w: wins 108718067, draws 23641719924, losses 71987892084
1430b: wins 13630855430, draws 2258092, losses 0
1430w: wins 11924643, draws 2589119760, losses 43381858062
2222b: wins 11367135074, draws 170353316894, losses 505968094
2222w: wins 11367135074, draws 170353316894, losses 505968094
2231b: wins 37099749767, draws 66666267039, losses 10901081
2231w: wins 4406244395, draws 137675389516, losses 16081273814
2240b: wins 18787384942, draws 3274677451, losses 34889
2240w: wins 326119883, draws 19751545206, losses 31390130860
2303b: wins 5545934827, draws 49851178830, losses 1326
2303w: wins 414220042, draws 25351325306, losses 711107593
2312b: wins 71754487361, draws 68321092173, losses 2355
2312w: wins 1090631973, draws 85270745825, losses 28883537482
2321b: wins 111574048416, draws 5862170096, losses 1271
2321w: wins 688627911, draws 51653889810, losses 115192271809
2330b: wins 32595643902, draws 39932910, losses 165
2330w: wins 67062099, draws 5141553136, losses 76162747341
3131b: wins 11141956409, draws 79183896249, losses 954179841
3131w: wins 11141956409, draws 79183896249, losses 954179841
3140b: wins 12293577989, draws 7378038068, losses 5748220
3140w: wins 717881165, draws 18008886166, losses 11346089563
3203b: wins 4466652149, draws 58909554693, losses 180417
3203w: wins 1266060285, draws 21101466572, losses 134951068
3212b: wins 47203364390, draws 115287145418, losses 114648
3212w: wins 3151557576, draws 87813087861, losses 8288194700
3221b: wins 118750965622, draws 19482078715, losses 79822
3221w: wins 1949052171, draws 59850673173, losses 84285824514
3230b: wins 38658117832, draws 352149770, losses 18560
3230w: wins 176385864, draws 6087192104, losses 65520698661
4040b: wins 1679348685, draws 4166183732, losses 721544217
4040w: wins 1679348685, draws 4166183732, losses 721544217
4103b: wins 1504932981, draws 34724920678, losses 68652462
4103w: wins 1676275165, draws 7838115242, losses 3644756
4112b: wins 12613483638, draws 81623628162, losses 34595439
4112w: wins 3894964600, draws 38050409025, losses 619573129
4121b: wins 50936769443, draws 30349747610, losses 3175760
4121w: wins 2333140380, draws 38388250857, losses 22741756845
4130b: wins 22133439437, draws 1134811613, losses 110745
4130w: wins 193023577, draws 5104523026, losses 26267634589
5003b: wins 123145526, draws 5707509406, losses 2487578793
5003w: wins 1116389792, draws 486172283, losses 5394
5012b: wins 835597125, draws 16848467773, losses 4178888730
5012w: wins 3395471564, draws 3870366709, losses 4518808
5021b: wins 4525225035, draws 13544872022, losses 1019315412
5021w: wins 2194909520, draws 7933971594, losses 857700511
5030b: wins 4286328986, draws 1238313239, losses 11543661
5030w: wins 155476601, draws 2059459350, losses 3318984005

-- Ed
MichelG
Posts: 244
Joined: Sun Dec 28, 2003 20:24
Contact:

Re: 8 pieces endgame database

Post by MichelG »

Thx ed,

Results are equal to my counts for all 4v4 endings.

Michel
Ed Gilbert
Posts: 860
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Re: 8 pieces endgame database

Post by Ed Gilbert »

Results are equal to my counts for all 4v4 endings.
Thanks, that is good news.
TAILLE
Posts: 968
Joined: Thu Apr 26, 2007 18:51
Location: FRANCE

Re: 8 pieces endgame database

Post by TAILLE »

Hi Ed, Michel ... and the others,

Have just finished the generation the 4 pieces against 4 pieces database, and all my counters are identical to yours.
It took Damy a little more than 2 months witch is what I planned.
I just begin the 5 pieces against 3 pieces generation. and the 5K against 3K is now under generation.
I hope to achieve the complete 5 pieces against 3 pieces db in 3 months.
Gérard
MichelG
Posts: 244
Joined: Sun Dec 28, 2003 20:24
Contact:

Re: 8 pieces endgame database

Post by MichelG »

TAILLE wrote:Hi Ed, Michel ... and the others,

Have just finished the generation the 4 pieces against 4 pieces database, and all my counters are identical to yours.
It took Damy a little more than 2 months witch is what I planned.
I just begin the 5 pieces against 3 pieces generation. and the 5K against 3K is now under generation.
I hope to achieve the complete 5 pieces against 3 pieces db in 3 months.
Good to hear :-)

Dragon is also still working hard to solve endgames. I had some delay on 5v3 due to insufficient disk space, but it is now halfway done, with all the numbers matching as well until now.

I also computed 6v1, maybe we can compare those results as well.

Michel
TAILLE
Posts: 968
Joined: Thu Apr 26, 2007 18:51
Location: FRANCE

Re: 8 pieces endgame database

Post by TAILLE »

Hi Michel,

My counters for the 6x1 db :

Code: Select all

BM  WM  BK  WK	WLoss WDraw WWin BLoss BDraw BWin
0	0	1	6	0	19716	326058222	268963344	3744	0
0	1	1	5	0	204084	1890343576	1430046376	33070	0
0	2	1	4	0	898704	4570985481	3158978541	145271	0
0	3	1	3	5	2295637	5896639051	3710353634	483732	28
0	4	1	2	4	3838396	4276248354	2443019419	1196464	21
0	5	1	1	0	4043397	1650613809	854107334	1711194	0
0	6	1	0	5448	2642102	263442890	122858603	1566978	2983
1	0	0	6	0	0	256158858	463543519	2084	0
1	1	0	5	0	0	1513840780	2491899439	20673	0
1	2	0	4	0	0	3728217735	5567963422	88051	0
1	3	0	3	3	2	4893715088	6618319652	217832	0
1	4	0	2	3	13	3608119288	4413146925	354228	0
1	5	0	1	0	35	1415735411	1564877241	389907	0
1	6	0	0	0	591	230794589	230322705	303527	283
Gérard
MichelG
Posts: 244
Joined: Sun Dec 28, 2003 20:24
Contact:

Re: 8 pieces endgame database

Post by MichelG »

Seems to be the same as my numbers :-)

Michel
Post Reply