Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: what does "fail high" mean? In the context of iterative deepening/

Author: scott farrell

Date: 17:52:42 11/30/02

Go up one level in this thread


On November 30, 2002 at 14:39:42, Russell Reagan wrote:

>On November 30, 2002 at 12:17:29, scott farrell wrote:
>
>>I think there are lot more and smarter ideas you can do playing around near root,
>>aspiraton windows, time maangement, watching fail high, fail low, extending
>>time, etc etc
>
>As I understand it, a fail high means, "this move is good, but we don't know how
>good" or "this move is at least as good as beta," right? And since you don't
>know how good it is, you do the re-search to determine how good it is. Tell me
>if I'm wrong.
>
>Now, a fail low means (as I understand it, tell me if I'm wrong) that not only
>one score fell below alpha, but that all scores for that node fell below alpha.
>That means that there isn't a very good move from this node, right? So if every
>score is a fail low at the current node, you can extend the time to search for
>this move. Is that how you could use fail lows to your advantage?

In fail-high, you can take the move without re-searching if you need to. The
idea is, its a good move, you dont know how good, but there COULD be a better
move also. The fail-high occurs as soon as it can prove 1 line for 1 move is as
good as beta.

With the fail-low, what I am doing, is if you wait for the whole 30+ moves to
fail low, it seems to take a long time, as there is no good-move to compare to ,
and there isnt enough cut-offs. I have very very good move ordering at the root,
I do lots of other things to make sure my root move ordering is exceptional, if
I see 5 fail-lows without a PV move at the root (between alpha and beta),which
means th best 5 things I can think of are a disaster, I abort the search, and
return INVALID, and research full width, and extend the time to find atleast a
PV move or complete the ply as it is dangerous. The great thing about all this,
is I know this in a fraction of the time a whole ply would take to complete, and
in match play, can manage the use of extra time to get out of trouble. The idea
of returning INVALID from the root seems to be good, and I can add other reasons
to abort later, and cause a full-width re-search.

In all cases, when I re-search, I re-search full width. I dont think this wastes
any time (as compared to say beta,INFINITY or -INFINITY,alpha) , as the
hashtable will return all the info of previous searches, and it avoides the case
of fail-low then fail-high, or vise versa, due to search instabililty.

Scott



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.