Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: u2600 position comments

Author: Robert Hyatt

Date: 18:05:18 03/07/99

Go up one level in this thread


On March 07, 1999 at 17:29:38, Peter McKenzie wrote:

>On March 07, 1999 at 16:34:47, Robert Hyatt wrote:
><snip>
>>I have done this two ways:
>>
>>(1) first root move fails low, continue searching, hoping that another move
>>will not fail low and you get something useful.  If you search all moves and
>>the score == alpha, you have to relax alpha and search again.
>>
>>(2) first root move fails low, relax alpha immediately and search it again to
>>get the true score for the first move.
>>
>>I do (2) at present, for a couple of reasons:  (a) I want to know how far the
>>score dropped so I have some idea of how much trouble I am in and how much extra
>>time I might want to allocate;  (b) It is not uncommon to 'win' a pawn in early
>>iterations only to see later that you can't hold on to it.  So the old best
>>move is still best, but with a much lower score.  It is more efficient to re-
>>search it immediately than to try all the other moves (which will also fail
>>low) and then try again.
>>
>>Which is better is a good question.  I have seen cases where I wished I would
>>just continue searching, and others where I am glad I re-search after the first
>>move fails low.
>
>I do (1) in my program, I was thinking about this the other day and don't know
>which is best.  Method (1) bets that if the first move fails low, there will
>usually be another move that doesn't fail low.  Perhaps I'll add some stats to
>see if this is true or not.
>
>Perhaps an in between method is worthwhile: if the first move fails low, try
>another couple of moves with the existing alpha beta bounds.  If they fail low,
>restart the search with the new apha beta bounds.
>
>cheers,
>Peter


This was one of the complex things we did in Cray Blitz, that was probably
good, but also a lot of trouble.  We noted a sudden 'eval jump' and a fail
low was instantly researched (first move) when this happened.  IE last move
the score was +.125, after the opponent moves, the score jumps to +1.300 for
several iterations, but near the end it fails low.  In this case, when the
first move fails low, we re-started the search on that move with a less
optimistic alpha value.  In more 'normal' cases (ie last search was +.125,
after opponent moves the score is +.2, then if we failed low we searched _all_
moves before lowering alpha.  That worked and pretty well caught most of the
cases that were 'catchable'...

But I didn't do this in crafty, simply to keep things easy to understand.  I may
do this again at some point in time..



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.