Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Tablebase Space Indexing Improvement?

Author: Ed Trice

Date: 17:13:44 01/29/04

Go up one level in this thread


On January 29, 2004 at 19:59:37, Pham Hong Nguyen wrote:

>>
>
>Just mark those positions by a special value, say, ILLEGALPOS. In my database,
>ILLEGALPOS = 255
>

well, the procedure I had in mind is more complicated than that. Suppose in a
given database, the maximum win length in 59 plies. That means you are using
only integers 0-58 in the white-to-move-and-win database. So, values 59-255 can
be used.

Let's say in Position X white checks black, yet it is white to move. There can
be  a host of arrangements where the same piece delivers the check, yet other
pieces for that side can be at various locations on the board. You could have
something like 62x61x60 illegal arrangments "all in  a row" depending how you
encode your indexing function.

So, you can let value 59 in your database mean 1 illegal "run" of moves. value
60 can be 2 consecutive illegal runs. Value 61 can be 3 consecutive runs...value
100 might be 225 consecutive runs. Value 101 could be 250, 102 = 275......200
could be 1500, 201 = 2000, 202 = 2500, etc.

The idea being, you can encode many consecutive illegal positions using only 1
byte.

This is what we do in the checkers world for creating very large databases.
Since these are accessed in real-time to assist the search, the lookup is very
fast. It could be the same here.

Does anyone know if the Tablebases are run length encoded for illegal/impossible
positions?



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.