Author: Dann Corbit
Date: 14:06:14 10/23/01
Go up one level in this thread
On October 23, 2001 at 16:11:32, Angrim wrote: >On October 23, 2001 at 13:35:53, Dann Corbit wrote: > >>On October 23, 2001 at 02:17:15, Nino wrote: >>[snip] >>>Hi Angrim, >>> >>>How are egtb's done if the position is not stored? (just curious) >>>Anyway I really dont know much about egtb's but I do know a little bit about >>>storing of epd positions and that the current method I think requires 192 bits >>>per position. I have just put together a table using Les's concept but for >>>storing chess positions. The table follows: >>> >>> Bits >>>Square Saved % saved >>> >>>1x3 50 78.1 >>>1x4 49 76.6 >>>1x5 48 75.0 >>>1x6 47 73.4 >>>1x7 46 71.9 >>>1x8 45 70.3 >>>2x3 47 73.4 >>>2x4 45 70.3 >>>2x5 43 67.2 >>>2x6 41 64.1 >>>2x7 39 60.9 >>>2x8 37 57.8 >>>3x1 50 78.1 >>>3x2 47 73.4 >>>3x3 44 68.8 >>>3x4 41 64.1 >>>3x5 38 59.4 >>>3x6 35 54.7 >>>3x7 32 50.0 >>>3x8 29 45.3 >>>4x1 49 76.6 >>>4x2 45 70.3 >>>4x3 41 64.1 >>>4x4 37 57.8 >>>4x5 33 51.6 >>>4x6 29 45.3 >>>4x7 25 39.1 >>>4x8 21 32.8 >>>5x1 48 75.0 >>>5x2 43 67.2 >>>5x3 38 59.4 >>>5x4 33 51.6 >>>5x5 28 43.8 >>>5x6 23 35.9 >>>5x7 18 28.1 >>>5x8 13 20.3 >>>6x1 47 73.4 >>>6x2 41 64.1 >>>6x3 35 54.7 >>>6x4 29 45.3 >>>6x5 23 35.9 >>>6x6 17 26.6 >>>6x7 11 17.2 >>>6x8 5 7.8 >>>7x1 46 71.9 >>>7x2 39 60.9 >>>7x3 32 50.0 >>>7x4 25 39.1 >>>7x5 18 28.1 >>>7x6 11 17.2 >>>7x7 4 6.3 >>>7x8 -3 -4.7 >>>8x1 45 70.3 >>>8x2 37 57.8 >>>8x3 29 45.3 >>>8x4 21 32.8 >>>8x5 13 20.3 >>>8x6 5 7.8 >>>8x7 -3 -4.7 >>>8x8 -11 -17.2 >>> >>>It is interesting to see the gains using this method. Remember to throw out the >>>7x8, 8x7 and 8x8 sets. Now those numbers might be interesting to ponder when it >>>comes to storing chess positions. Unless my math is wrong can someone tell me >>>if they see anything wrong with this approach? Mr Corbit?? >> >>I think it is a good idea, which compresses the 64 bit board image pretty well. >>My problem is I don't really know what Eugene does internally. To me, the >>tablebase is just a black box that spits out answers. Probably Eugene can >>address whether this notion will save anything or not. > >Here is a simplified version of the algo for calculating the index into >the tablebase file. This index could be used to store board positions, >since the calculation is reversible. >1. use the filename or a few bytes at the start of the file to store which >pieces are present. >2. for each piece, calculate that pieces index from 0-63, > notation i[N] is index of piece #N >3. for 3 piece table, index is i[1]*64*64+i[2]*64+i[3] > >This is a number between 0 and 63*64*64+63*64+63=262143 so could >be stored in 18 bits. Note that this is used as an index into the file >and so does not need to be stored at all. Also note that the actual >algo used takes board symetries and legal positions for kings into >account, and so is much more efficient. Here are the statistics for KQK, which is a 3 piece file. It is a lot less than 262,143 entries (by a factor of about 4.8). wtm: Mate in 10: 1 wtm: Mate in 9: 375 wtm: Mate in 8: 1936 wtm: Mate in 7: 4102 wtm: Mate in 6: 4101 wtm: Mate in 5: 3313 wtm: Mate in 4: 2546 wtm: Mate in 3: 1157 wtm: Mate in 2: 649 wtm: Mate in 1: 312 wtm: Broken positions: 7137 btm: Lost in 0: 46 btm: Lost in 1: 175 btm: Lost in 2: 397 btm: Lost in 3: 949 btm: Lost in 4: 1823 btm: Lost in 5: 3230 btm: Lost in 6: 5077 btm: Lost in 7: 6883 btm: Lost in 8: 5603 btm: Lost in 9: 1500 btm: Lost in 10: 8 btm: Draws: 2953 54273 This brings a lot of questions to my mind. If (for instance) we are actually representing 262,143 (less illegal) positions, how many wins/losses/draws are actually contained in the tablebase file? Is the compression based solely on the rotations of the board, or are mirror reflections used also?
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.