Author: Edward Screven
Date: 17:37:40 11/17/97
Go up one level in this thread
On November 17, 1997 at 18:44:39, Howard Exner wrote:
>Why doesn't Rebel 8 order the move Re4-e1 before
>b6-b7 since it discovers rather quickly that Re4-e1
>is much better? Would it not be useful to re-order
>the moves after each ply? What are the obstacles in
>doing this?
the information you discovered using the "power analysis"
feature just isn't available from a conventional
implementation of iterative deepening. here's a
simplistic (*) implementation which exhibits the same
characteristic:
for depth in 1 ... +inf loop
score := search(pv,-inf,+inf);
for move in legal_moves minus pv loop
otherscore := search(move,score,score+1);
if otherscore > score then
score := search(move,otherscore,+inf)
pv := move
end loop
end loop
when we consider a move other than the principal variation
we first see if it is better than the current pv by
searching using the null window (score,score+1). if we
discover that it is better, then we try to find out how
much better by searching with a wide window. so in the
case you described, a conventional program would only
know that Re1 and b7 are both worse than g7 at the depths
searched, but would not gain any information about their
relative order.
- edward screven
(*) some of the things missing: using less than fully wide
windows when scoring old and new pvs; dealing with fail-high
followed by fail-low; keeping old pvs high in the move order;
using the condition of the search to affect time allocation;
cutting the search short for "easy" moves.
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.