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. >> >>Fabien. > >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. Pham
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.