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.