Author: Russell Reagan
Date: 22:33:22 08/29/03
Go up one level in this thread
On August 30, 2003 at 00:50:46, Slater Wold wrote:
>On August 29, 2003 at 23:49:24, Mike Siler wrote:
>
>>I'm using aspiration search windows of the previous search value + or - half a
>>pawn. My question is this: when the search value falls outside this window, is
>>it generally better to go immediately to a full width search (+INF,-INF) or
>>should I increase the window a little bit, then increase it more if necessary?
>>
>>Michael
>
>If I understand it correctly the value returned must be > alpha and < beta to be
>useful. If it is >= beta, re-search with a bigger beta. If it is <= alpha,
>re-search with a lower alpha.
Better read Bruce's page on aspiration search. The section "Search Instability
Issues" discusses how this could blow up in your face, if you're not careful.
From http://www.brucemo.com/compchess/programming/aspiration.htm Bruce says:
"When I first added an aspiration window to my chess program, I assumed that if
I got a value back that was greater than or equal to beta, that the re-search
would result in a higher score the next time through. Wrong! I had hellacious
crashing problems. Here is the code:
alpha = -INFINITY;
beta = INFINITY;
for (depth = 1;;) {
val = AlphaBeta(depth, alpha, beta);
if (TimedOut())
break;
if (val <= alpha) { // WRONG!
alpha = -INFINITY;
beta = val + 1;
continue;
}
if (val >= beta) { // WRONG!
beta = INFINITY;
alpha = val - 1;
continue;
}
alpha = val - valWINDOW;
beta = val + valWINDOW;
depth++;
}
The above code would work great if you could be sure that your re-search would
work. But of course what happened to me is:
1. The search with (alpha, beta) failed high.
2. The re-search with (beta - 1, INFINITY) failed low.
3. The re-search with (-INFINITY, alpha + 1) failed high.
4. And so on, and so on, and so on ...
Anything you write needs to prevent this."
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.