Author: Dieter Buerssner
Date: 11:28:55 04/07/03
Go up one level in this thread
On April 06, 2003 at 16:09:02, Tony Werten wrote: >For simple EGTB: > >After placing the white king, there are only 63 squares left, after placing the >white king there are only 62 squares left. So the index would be calculated >((((SQWK*64)+SQBK)*63)+SQWR) > >SQBK (square black king ) would be adjusted as follows: if SQBK<SQWK then >dec(SQBK) >SQWR would be adjusted: if SQWR<SQWK then dec(SQWR); if SQWR<SQBK then dec(SQWR) > >That's the trick that saves space (well, to start with) Of course it has 1 nasty >side effect: You can go from a position to an index, but it's quite impossible >to get the position back from an index. I think it is easy. With your variable names. SQWR = index % (64*63); index = index - index%(64*63); SQBK = index % 63; SQBK = index / 64*63; And now readjust the decrements you did. if SQWR >= SQBK then inc(SQWR). etc. I think, the problem with easy reversibibility comes into play, when you have something like knnnk, and you don't want to use tables to calculate the index for the 3 Ns. Regards, Dieter
This page took 0.01 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.