Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: What is the History table?

Author: Bas Hamstra

Date: 02:18:42 09/16/99

Go up one level in this thread


On September 15, 1999 at 19:13:15, leonid wrote:

>What is the History Table and Recursive Null?
>
>Thanks,
>Leonid.

About recusive nullmove:

The idea of nullmove is that when the opponent can make two moves in a row (so
MoveColor has "passed") and still can get no good position, you conclude his
position is so rotten that you don't search it further.

In practice it works as follows: before you search all the moves of a node, you
try a Nullmove, ie you pass and pretend you have done a real move. Normally you
would search this move with depth D, but this is a special case: the opponent
can effectively play 2 moves in a row. You can expect then that the opponent can
easily reach a good position. Therefore you do a shallower search than normal,
and you search not to Depth = D (as for normal moves) but to Depth-R, where R is
typically 2. If the opponent can *still* reach no good position, a value >= Beta
is returned for the nullmove and you cut that position away as if it were a
normal beta cut.

Now in the nullmove search (the search "under" the nullmove) you can again allow
nullmoves. That makes it recursive. Only restriction: don't allow 2 consecutive
nulls in a row.

History:

(I never used it)

A table of counters, used for movesorting. You use a table History[From][To] to
keep track of the number of beta cutoffs for each move [From][To]. And use that
to improve the probability of a cutoff (as you do with killers). If you already
use more than 1 killer I have the impression History doesn't give much extra.




Regards,
Bas Hamstra.

















This page took 0.01 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.