Author: Charles Roberson
Date: 20:03:43 02/09/03
I have more tests to do, but this seems to work.
I began to wonder how close the first and second search values are in pvs.
I ran some tests and the seem relatively close. So, I adjusted the algorithm.
Normal algorithm:
v = -Search(-alpha-1,-alpha); // first value
if ((v>alpha) && (v<beta))
v = -Search(-alpha,-beta) // second value
Adjusted algorithm:
v = -Search(-alpha-1,-alpha);
if ((v>alpha) && (v<beta))
{
int nalpha, nbeta;
nalpha = v - (pawnvalue>>3);
nbeta = v + (pawnvalue>>3);
v = -Search(-nbeta,-nalpha);
if ((v<nalpha) || (v>nbeta))
v = -Search(-beta, -alpha);
}
So far this produces a 3 to 5 percent speedup in NoonianChess.
What does everyone think?
Charles
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.