Author: Steve Maughan
Date: 09:37:07 12/30/00
In my program I have the following lines of code after the hash probe: if (CurrentHash.Bound = HASH_LOWERBOUND) then begin if (CurrentHash.Value >= Beta) then begin result := CurrentHash.Value; exit; end //increase the value of alpha if lower bound is greater else if CurrentHash.Value > Alpha then begin alpha := CurrentHash.Value; PVLength := Ply; end; end; if (CurrentHash.Bound = HASH_UPPERBOUND) then begin if (CurrentHash.Value <= Alpha) then begin result := CurrentHash.Value; exit; end //see if beta can be lowered else if CurrentHash.Value < Beta then begin Beta := CurrentHash.Value; end; end; The bit that I'm not sure about and having problems with is the section that adjusts the value of alpha and beta based upon the hash results. I'm getting odd PVs and different values returned when I activate this section. Is it valid to raise the value of Alpha when the depth is sufficient and the lowerbound is greater than Alpha? What happens to the PV? I'm just cutting it off at the moment (i.e. PVLength := Ply). Likewise, is it valid to lower beta based on an upperbound? Again what happens to the PV? At the moment I'm doing nothing as I cannot see that it's logical to cut it off. All help and suggestions appreciated! Regards, Steve BTW the code is written in Object Pascal / Delphi!
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.