Author: Heiner Marxen
Date: 13:38:03 05/16/00
Go up one level in this thread
On May 15, 2000 at 18:48:04, Georg v. Zimmermann wrote: >Hello, > >I could of course look at the Chest Code but I assume that it would take me >several hours, so here is my question: For a start you can read the section "Implementation Highlights" in the README_LONG that comes with Chest. Then you may have a look at the "Board" structure (what it contains). >what are the main things you are doing differently in chest as compared to a >normal chess program ? > >Of course you have no evaluation, and a simple alpha-beta (like no aspiration >wdw) I guess. But what else can you do to speed up mate solving that much ? > >Can you name the 2/3 things that speed it up the most ? Sure. There are many small things, but the most important point (IMO) is the attack information contained in every square, and what is done with it. Each square contains a set of direct attacks (others have done similar things), and a set of indirect attacks: those go through one piece. When a piece is pinned to its king, the pinning piece has an indirect attack at the king. We invented this to assist the generation of legal moves, but it is fine for many other computations also. Then there is a specialized move generator for the last ply, where Chest leaves out moves which cannot be mate moves, since some flight square is neither directly attacked nor an attack is uncovered. With some exceptions, an uncovered attack is an indirect attack before the move. Then there is a good "defender evaluation" used to select the defending move, in order to cut down the size of the spanned tree. >Thanks, > >Georg v. Zimmermann You are welcome! Heiner Marxen
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.