Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: EGTBs

Author: Frank Phillips

Date: 03:47:17 09/04/99

Go up one level in this thread


On September 03, 1999 at 16:07:57, James Robertson wrote:

>On September 03, 1999 at 08:03:46, frank phillips wrote:
>
>>I thought I had understood how to implement Eugene's EGTBs, but may have been
>>overly optimistic.
>>
>>The databases are registered and return a number which seem to vary consistently
>>according to my perception of how many moves to mate in simple KRRk endings, but
>>in actual play against GNUChess in a KNBk ending the pieces just dance around
>>until a draw by 3 rep.  So I must have messed up the conversation to my programs
>>mate scoring.
>>
>>The database returns numbers up to 127, -126. Are these ply or moves?  Is the
>>score from the perspective of the side to move - whoever has the most pieces?
>>
>>Apologies for the simple questions but I could not find the answers in the
>>documentation.
>>
>>Frank
>
>You're not alone in having problems with the mate conversions; I had a heck of a
>time trying to convert the scores to my mate value. Eventually I succeeded and
>the pieces still danced around until I fixed several bugs in my search.... it is
>possible that is where your problem is.
>
>James

You may well be correct, James  Something is certainly not right and it could be
the search.  But I also noticed that when I turned on the DEBUG I get asset
errors as in

// If we know TB size, it's better for offset be smaller
assert (!FRegistered (iTb, side) || indOffset < ptbd->m_rgcbLength[side]);

from tbindex.cpp (line 3840) – the original one I think, not the one now on
Bob’s site.

I suspect that I do not know enough about C, C++, MSVC, endgame tablebases and
have even lost the ability to follow simple instructions (those Eugene included
as probe.txt with his source code) and should give up.  But before I do, If
anyone can take the time to tell how you actually integrated the code into your
program, I would be grateful :-)

To begin with, I copied Bob’s probe.c code (and his macro VInitSqCtr(rgCtr,
rgSquares, piece, bitboard)), took out the #defines except for XX, piece, square
and so forth, did #include tbindex.cpp and inserted that into my program in
MSVC++5, which identified tbindex.cpp and tbindex.h as external dependencies.
The code compiled and seemed to register the databases which returned plausible
values.  Of course, I also set the tb path and cache.  However, in use, KNBk
endings against GNU made no progress, ending in draws by 3rep (which could be my
search, but it manages without the egtbs); and with DEGUB on I get the above
assert error.

So I started again, this time with the version of tbgen.zip from Bob’s site.
This is different and does not have tdindex.h.  When I try to compile it tells
me to define SqFirst() and so on.  Surely it cannot be this difficult – Eugene
did all the hard work.

Dazed and confused.

Frank







This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.