Author: Tony Werten
Date: 12:59:29 12/26/03
Go up one level in this thread
On December 25, 2003 at 06:29:31, rasjid chan wrote:
Ed has a different structure in his search.
Most people have:
search
{
evaluate
for all moves do
make move
call search
unmake move
next
}
Ed uses:
search
{
for all moves do
make move
evaluate
call search
unmake move
next
}
The different location of evaluate causes all the differences like <=alpha
instead of >=beta etc
Tony
>The QS as described in Ed's article seems a little strange.
>There are crucial differences with the simple QS as in TSCP :-
>1) simple QS automatiaclly fails high if evaluation score
> (not lazy score) >= beta.
>Rebel's sets certain conditions on fail high.
>2) simple QS simply calls QS if score < beta
>and sets alpha to score if greater
>(Ed's article did not specify setting alpha).
> the more controversial element -
> Rebel's QS returns score ( or lazy score) if score <= alpha
>
>I have now fully implemented attack tables and am testing lazy
>evaluation by first calling eval() at depth == 1. My current eval()
>is a little elaborate compared to the raw eval() of TSCP.
>If I stay strictly to simple QS it plays normally at about the level
>of TSCP. The nps is about 60000 during middle game on a P4 1.4 GH,
>1/3 that of TSCP.
>
>Any attempt to fail low as in 2) above makes it play very
>badly.I wonder if anyone has a QS that fails low on score <= alpha
>and yet has a workable QS.
>
>I am not sure if I interpreted anything again with gross silliness.
>
>Rasjid
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.