Computer Chess Club Archives


Search

Terms

Messages

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

Author: scott farrell

Date: 09:17:29 11/30/02

Go up one level in this thread


On November 30, 2002 at 11:55:34, Russell Reagan wrote:

>On November 30, 2002 at 10:39:45, Robert Hyatt wrote:
>
>>Simple.  When you start an iteration, you should use some sort of aspiration
>>window, rather than setting alpha=-infinity and beta=+infinity.  In the case
>>of Crafty, if the score for iteration N-1 was +.30, then I might start the
>>search at iteration N with alpha=0, beta=+60 to try to bracket the expected
>>score.  This makes the search tree smaller as you can prune lines that lose
>>or win material quickly.  However, if you really do suddenly see a path to
>>win a pawn, that score will be >= +.60, which means the search returns beta
>>rather than a true score.  You have to re-set beta to something larger and
>>search again to get the true score.  That is a "fail high".
>
>Let me see if I understand. Using this output from Monsoon:
>
>>10.   +3.02  00:00:26.78  5824368      PV= Nf6 1. Bd6 Bc4 2. Rf2 e4 3. Bc2
>>                                        > e3 4. Rg2 Qxf3 5. Re1 <+1.00>
>>11+   +3.77  00:02:16.62  28726569     Nf4! ++
>>11.   +5.19  00:04:27.40  58248289     PV= Nf4 1. gxf4 Rd2 2. Bf2 [threat]
>>                                        > Qxf3 3. Qxa5 Bd5 4. Qxd5 [threat]
>>                                        > Qxd5 5. Bxf5 Rf8 6. c4 Qxc4 [Q]
>>                                        > <+3.00>
>
>What happened was Monsoon used +3.02 from the search to depth 10, then it did an
>aspiration search using something like (say) +2.27 to +3.77 (which is the score
>of ply-1, +3.02, -/+0.75), and it got a fail-high as you describe it, and
>immediately reported that score, without having a real PV. Then it re-searches
>with a larger window and gets the real PV, and displays it with the real score
>of +5.19. Do I understand this correctly?

yes, that is how I see it.

I think the real big advantage in a real game is time management.

I have noticed you need to be able to use partial plies to your advantage, to
work out whether to spend more time or not.

In the output above, if you are short on time, you can take your move Nf4 at
2:16 rather than wait to 4:27 to get the whole PV. Why is this an advantage? If
you starting thinking for ply 11, and time runs low at say 3:00 - you have no
better move than at ply10 - which is nf6 - which is wrong.

I also look for other things, like when the 1st move at root is complete, I
compare the score to the previous iteration (previous ply) if the difference is
say -0.5, then I allow more time to try to find a better alternative. I see this
5 or 6 times a game, and allow more time, and atleast once a game, it changes
its mind from a loosing move to a better move.

I beleive any information you can get before an iteration completes, to help
with time management is a huge boost.

I think there are lot more and smarter ideas you can do playing around near rot,
aspiraton windows, time maangement, watching fail high, fail low, extending
time, etc etc

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.