Open Standard for EndGame Databases

Discussion about development of draughts in the time of computer and Internet.
Post Reply
BertTuyt
Posts: 1592
Joined: Wed Sep 01, 2004 19:42

Open Standard for EndGame Databases

Post by BertTuyt » Mon Sep 28, 2009 22:36

Some time ago Jaap Bus asked me if it was possible to standardize on EndGame databases.
Jaap uses multiple computer programs , to analyze (for example) endgame compositions.

To name a few (and most likely this list is not complete):
- Truus, Damage, KingsRow, TurboDambase, Dam 2.x, Flits.

All these programs using different EndGame Databases which can not be exchanged between Draughts programs.

In the past this was maybe not an issue, as the (standard) DB was 6p and "only" occupied a few GigaByte (I only know that Gerard has a complete different approach which consumes far less memory).

However with 7P Databases , and 8P Databases (so far only Ed Gilbert, Kingsrow has calculated them, but i guess some other programs will also start preparing them in the near future), this will become an issue.

So my basic question to the programmers community, do we want to create a standard for EndGame Databases (even if we have a standard, a specific program could always use an "own" implementation next to the "default").

Maybe I forget a few details , but the "normal" implementation (and again so far I guess that only Gerard has a quite novel approach) is based on :

- Databases use initially 2 bits for a result (Win/Draw/Lose/Unknown), so we have to agree which bit-combination is used for which result.
- Naming convention line DB7-XXXOvOOX-77 (or whatever).
- Include conversion databases?
- Compression Technique used.
- Most DB's do not include the white-to move and capture positions (to improve compression).
- Index Function : Position --> DB-Index.

I think I have (most likely) overseen some additional boundary conditions, but im interested to see some reactions, and if there is a willingness to develop such a common standard.


With kind regards,

Bert

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

Re: Open Standard for EndGame Databases

Post by TAILLE » Tue Sep 29, 2009 00:13

Hi Bert,
Many comments can be made to your post :

1) As you mentionned yourself the approach I used in Damy is different as most of the other programmers. Let's take a very simple example. In the 5WK-2BK db almost all positions are winning positions for white. As a consequence the corresponding db in Damy is made of two files : the files of draw positions and the file of lost positions for white (this last file is empty if is white to move!).
As you can see I do not use a db based on 2 bits per position.

2) In addition why 4 states (Win/Draw/Lose/Unknown) instead of 3(Win/Draw/Lose) ?

3) For now several years, all world championship (and it will also be the case for the next wch in Brazil) use for tie break criteria the notion of draw+ and draw-.
I think that the rule for computers should be quite identical to the rule used in the major human tournaments. In that case we have to handle 5 states (Win,Draw+,Draw,Draw-,Lose).
I generated in the past the corresponding 5pieces db and I intend now to generate the 6p and 7p db.

4) Is compression so important ? For storing the 7p db with 5 states per position, without compression, we need about 450Gb. It was too high some years ago but it is not so high now. On my new computer I have a disk of 1,5Tb. For the 8p pieces db we need 8,5Tb. It is a little to high today but certainly not in 2 years!
Gérard

ildjarn
Posts: 1537
Joined: Tue Aug 22, 2006 15:38
Real name: Joost de Heer

Post by ildjarn » Tue Sep 29, 2009 00:24

- Should things like 'should the 25-move rule be used in DB generation' be included in this standard?
- AFAIK, for long wins, knowing WDL may not be enough to actually win, because you don't know which move will actually bring you closer to the real win. So DTW/DTC databases are necessary too.

PS: The original post has 'dash dash >' in the text, which seriously mucks up the layout of the page, because the renderer thinks it's a comment end...
Last edited by ildjarn on Tue Sep 29, 2009 10:36, edited 1 time in total.
Lasst die Maschinen verhungern, Ihr Narren...
Lasst sie verrecken!
Schlagt sie tot -- die Maschinen!

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

Post by Ed Gilbert » Tue Sep 29, 2009 04:48

Some time ago Jaap Bus asked me if it was possible to standardize on EndGame databases.
Jaap uses multiple computer programs , to analyze (for example) endgame compositions.

To name a few (and most likely this list is not complete):
- Truus, Damage, KingsRow, TurboDambase, Dam 2.x, Flits.

All these programs using different EndGame Databases which can not be exchanged between Draughts programs.
Hi Bert,

At the moment this question is rather moot, because the only programs that have large databases are not publicly available. There is only a very small number of people that I have given copies of kingsrow to, and I assume the situation is the same with damy and damage. This situation will work itself out when one or more of the owners of a large db decides to 1) distribute the databases, and 2) document the internal organization, indexing, compression, etc. of the db, or distribute an access library for it.

For 8x8 checkers, you can download a dll from my web site which gives an API to several large databases, including the kingsrow 10pc db for English checkers, the 10pc db for Italian checkers, the Martin Fierz 8pc db, and the Chinook 8pc db. If I ever decide to distribute the 8/9pc draughts db I would probably do something similar.

-- Ed

Post Reply