Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Fail highs..which subsequently fail low

Author: Robert Hyatt

Date: 18:56:49 08/27/00

Go up one level in this thread


On August 27, 2000 at 18:43:47, Dan Newman wrote:

>On August 27, 2000 at 17:52:44, José Carlos wrote:
>
>>On August 27, 2000 at 17:33:15, Tom King wrote:
>>
>>>Hi all,
>>>
>>>a question for programmers on fail highs.
>>>
>>>what do you do in your program if a fail high is encountered, which on the
>>>research fails low?
>>>
>>>I've ignored this issue, because it doesn't seem to happen all that often (in my
>>>program). So if my program finds a move which fails high, even if the research
>>>indicates that it maybe shouldn't have failed high, it thinks the move is good.
>>>Maybe this is bad? At the WMCCC recently, I noticed a couple of these fail high/
>>>fail low moves cropping up at critical, complex positions. Often I was unhappy
>>>with the move my program chose in these cases. Perhaps these fail high/ fail low
>>>moves need to be treated with suspicion?
>>>
>>>Cheers,
>>>Tom
>>
>>  In Averno, when I fh, and research with a new Alfa,Beta window, if I fail low
>>in the research, I use Alfa as the eval of the position so, as it failed high
>>before, it becomes the PV move, until a better move is found.
>>
>>  Hope this helps :)
>>
>>  José C.
>
>In Shrike I do something rather horrible.  When I fail high I open up to
>[alpha,+inf], and then if I fail low in the re-search, I open all the way up
>[-inf,+inf].  I suspect that I'm just wasting nodes in this case.  In fact
>it seems like it often comes up with a score that's not too far from fitting
>into the original window...  This is something I need to look at.
>
>One scheme I read about (in one of Levy's books I think) involved just
>continuing on when you get a fail-high, and searching all the rest of the
>moves--unless you get a second fail-high.  Then the question becomes "which
>of the two fail-high moves is the best?"  I don't recall exactly how you
>proceed after this, but you don't need to re-search any of the other moves
>that have already been searched that didn't fail-high.  You do have to
>re-search the two fail-highs, however.  I guess this scheme isn't very good
>for PVS search since you might end up without a PV to follow.
>
>-Dan.


"blitz" was the first program to use that approach.  Murray Campbell suggested
it during an ACM event, and since I wasn't using that machine for the
tournament, we made the changes and tested it.  The next night, the Cray died,
we switched back to the vax and was surprised at all those fail highs.  :)

The idea was this:

first fail high, save the move as best and keep searching, without trying to
resolve the fail high.  If a second move fails high, research _both_.  Pick
one and search with the new window (beta, beta+something), and then search
the other with a null-window again.  If it fails low, the first move was
best.  If the second fails high, don't research to get a score, just keep
on, hoping another doesn't also fail high which makes you stop and resolve
that in the same way.

I quit this several years ago... one reason is that you often end your last
iteration with no best move for the opponent.  Which means nothing to ponder.
Crafty's "puzzle mode" would now solve that, but I don't think it is worth
all that much anyway, and I prefer to see the real score as soon as possible,
to keep my curiousity under control.  :)



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.