Author: Martin Giepmans
Date: 07:41:35 08/01/01
Go up one level in this thread
On August 01, 2001 at 09:00:39, Erik Evenson wrote: >Thanks again for the responses to my previous posts. I got replies that gave me >links to code that read Nalimov tablebases. My main interest is in creating my >own version of the tablebases (perhaps just the 3-mans first), just to >understand how they are created. > >My plan to do this is (please tell me where I have gone astray...): > >A) Start with, say, KQK endgame. > >B) Generate the 64x63x62 possible positions. > >C) Eliminate the checkmated positions. > >D) Eliminate the positions where the King is in check and the opposition is to >move (expected to be a large number). > >E) For each position, generate mainlines to mate using minmax with no pruning >but with full transpositional table. > First find the positions in which you have a mate in 1. Score = (say) 99999 if there is a mate in 1, score = 0 otherwise. For the remaining positions (score=0) you need a 2-ply search to find all the mates-in-2. (in the searchtree after 2 ply use the allready stored data, score=99999 or 0, when the search on a position is completed you have e=0 or e=99999, e=99999 means there is a forced mate in 2, you may store this result with score=99998) To find the mates-in-3 again only a 2-ply-search is needed, etc. Have fun! Martin Have fun! >F) Store results in a compressed form that allows my engine to probe with a call >like bestMove=getMoveFromTablebase(KQK); > >G) Repeat for next endgame type. > >Comments? Thanks in advance -- I'm having way too much fun building this >engine...
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.