Author: Steven J. Edwards
Date: 07:13:55 06/13/98
Go up one level in this thread
On June 13, 1998 at 02:05:23, jonathan Baxter wrote: >Does anyone have a short description of the format of the tablbase >files distributed with crafty? I have looked in the code but that >part is pretty horrendous to read. That bad, eh? The values stored, one per byte, in a tablebase file are documented in the epddefs.h file and give the mate-N, loss-in-N, etc. position valuations. Each TB file is indexed by N subscripts where N is the number of men in the class. The subscripts are applied in reverse name order; the white king subscript varies fastest (its the first piece in the class name), with each successive piece varying less fast. There are three flavors of subscripts: full, half, and triangle. The full flavor runs from 0 to 63 following the squares a1 to h8 and it is the default flavor. (a1 b1 c1 d1 e1 f1 g1 h1 a2 b2 ... g8 h8) The second flavor runs from 0 to 31 following the squares on the queenside. (a1 b1 c1 d1 a2 b2 ... c8 d8). The third flavor runs from 0 to 10 following the squares a1 b1 c1 d1 b2 c2 d2 c3 d3 d4. The rules are: 1) In an N man class, exactly (N - 1) subscripts are full flavor. 2) If there is at least own pawn in the class, then the last pawn in the class name uses the second (32 square) flavor subscript 3) If there are no pawns in the class, then the very last man in the class name uses the third (triangle 10 square) flavor subscript. A position is folded via one or more of X, Y, and x=y rotations until the non-default flavor subscript man is in the restricted (32 or 10) square field. The index is comuputed and forms the file offset for the byte of interest. Now that you know this, then maybe the code won't seem so bad. -- Steven (sje@mv.mv.com)
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.