Computer Chess Club Archives




Subject: Re: negascout and PVS?

Author: Pham Hong Nguyen

Date: 17:31:29 07/28/04

Go up one level in this thread

On July 28, 2004 at 19:54:25, Russell Reagan wrote:

>On July 28, 2004 at 06:59:50, Fabien Letouzey wrote:
>>Sorry, I can only repeast myself.
>>In PVS/NegaScout only the *first* (= leftmost) is searched with a full window.
>>This does *not* depend on the window.  If you want to implement it with a flag
>>like Bruce's, set the flag after the first move.
>>Bruce's property (his flag) depends on the window.
>Okay, I have thought about it some more and looked at more code. I think I
>understand now. The difference is when each version starts to search with a
>minimal window, right?
>Normal PVS:  Always searches with minimal window after the first move
>Bruce's PVS: Only searches with minimal window after finding a move that
>improves alpha

You got it :)

>So at a node where alpha == -infinity, they behave the same at that node since
>alpha is guarenteed to be improved after searching the first move. Do I
>understand correctly now?

No, little different here. Alpha can be any value (it doesn't require
alpha==-infinity), but it shoult not be updated. See the code:

bool alphaupdated = FALSE;

if (!alphaupdated) value = -SearchWithFullWindow;
else value = -SearchWithZeroWindow;

if (value>alpha) {
 if (value>beta) return alpha;
 alphaupdated = TRUE;

>Okay, the next question is which version is better?

As I have written, from my experience, "new" pvs is better than negascout.

I have just reviewed Crafty (as well as some others) and see that Bob
implemented "Bruce's version". Thus, not only Bruce, perhaps, the majority of
good programmers understands the pvs algorithm as this way.


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.