Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: An (easy) Question

Author: Omid David Tabibi

Date: 13:01:23 04/01/04

Go up one level in this thread


On April 01, 2004 at 15:46:19, Steve Maughan wrote:

>All,
>
>When doing an ordinary null move (R=2) what depth reduction should actually be
>used?  Two possibilities:
>
>a)  Depth Next Ply = Current Depth - 2
>
>b)  Depth Next Ply = (Current Depth - 1) - 2
>
>i.e. does the (R=2) refer to a depth reduction of 2 or an *additional* depth
>reduction of 2?

/* the depth reduction factor */
#define R 2
int search (alpha, beta, depth) {
    if (depth <= 0)
        return evaluate(); /* in practice, quiescence() is called here */
    /* conduct a null-move search if it is legal and desired */
    if (!in_check() && null_ok()) {
        make_null_move();
        /* null-move search with minimal window around beta */
        value = -search(-beta, -beta + 1, depth - R - 1);
        if (value >= beta) /* cutoff in case of fail-high */
            return value;
    }
    /* continue regular NegaScout/PVS search */
    . . .
}


Figure 1: Standard null-move pruning.





>
>Thanks,
>
>Steve



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.