Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Attack tables in QSearch

Author: Gerd Isenberg

Date: 11:12:47 04/14/04

Go up one level in this thread


On April 14, 2004 at 12:38:25, Volker Böhm wrote:

>Hi,
>
>we (Ralf Schäfer and me) are currently developing a new engine from the scratch
>and we have currently implemented the search.
>We desided to use 0x88 and attack-tables. The attack-tables are build up
>incrementally, also in q-search. Here is why:
>
>1. We are nearly three times faster in implementing attack-tables incrementally
>than fully, even with a undo feature.
>2. Lots of positions are positions with king in check because of check
>extensions. With attack tables you can implement a move generation with allmost
>no illegal moves with much less costs than a full move generation.
>3. The legality of a position can be calculated at no cost.
>4. We use attack tables for king security. As king security will produce high
>positional values it would´nt be a candidate for lazy eval.
>5. We use attack tables for mate in 1 detection at every ply
>6. We use attack tables for a simple SEE (not yet implemented but an easy table
>lookup).
>
>On the other hand, attack table generation is really expensive, even if it is
>done incrementally. Without any eval (just material) we are just as fast as
>ruffian.
>
>Greetings Volker

Hi Volker,

yes, incremental updating attack tables is of course interesting stuff. I did
that too in my former DOS-Program. With such stuff one should IMHO do legal move
generation, a huge eval, sophisticated move ordering - and probably to avoid
lazy eval cuts in qsearch by more sophisticated futility or SEE pruning.
That makes the update cost relative smaller, but your nps drops a bit.

Cheers,
Gerd



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.