Author: James Swafford
Date: 08:58:02 09/04/99
Go up one level in this thread
Are you sure you're ordering the squares the right way? For example, in my engine, A8=0, H8=7 .... H1 = 63. In Eugene's code, H1 = 0 ... A8 = 63, so I had to do an inversion before placing squares in the list. Before I caught this, my program was screwing up simple three man mates. Talk about frustrating. :-) -- James On September 04, 1999 at 06:47:17, Frank Phillips wrote: >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.