Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Extend on Check

Author: Stuart Cracraft

Date: 07:51:13 07/31/04

Go up one level in this thread


On July 29, 2004 at 01:37:36, Volker Böhm wrote:

>Hi,
>
>what do you "extend" in quiescese, only "check-evades" (king is in check - all
>evades are done, not only captures) or checking moves (move that set king in
>check) too?
>
>What extends do you have you in total in normal search? (Make sure, that you
>NEVER add extensions to add more than one depth at one position).
>
>"Usual" Extend Algorithm for main search:
>
>DoMove(Position, Move)
>if (InCheck(Position)) Extend = 1; else Extend = 0;
>// Usually limit extensions to the double of RootDepth (Depth value at root)
>if (Ply + Depth + Extend > RootDepth * 2) Extend = 0;
>PosVal = -Search(Position, -Beta, -Alpha, Depth - 1 + Extend, !Wtm);
>UndoMove(Position, Move);
>
>Do you use the same algorithm?
>
>Greetings Volker

GA only extends on check in quiescence. If upon entry to the quiescence,
the program is in check, it returns a value equal to the result of
a regular main-search of 1 ply in this position. No limits.

If I remove this, the program's performance drops.

Any attempt by me to add a check extension to the main search does not
work. The program's performance suffers unless the check extension is
limited and when limited, the performance does not go up but stays the
same.

So I have kept check in quiescence only.

It is possible that a separate set of features will work well in
a game but not in problem sets. The features I have noticed drop
problem set performance for me include

  FUTILITY
  RECAPTURE
  CHECK EXTENSION in main search
  ...etc.

I have kept all these as conditional compilation flags so that the
can be resurrected for regular games.

They do NOT help with problem sets. In my case.

Stuart





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.