Computer Chess Club Archives


Search

Terms

Messages

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

Author: scott farrell

Date: 20:54:31 11/30/02

Go up one level in this thread


On November 30, 2002 at 23:38:44, Russell Reagan wrote:

>On November 30, 2002 at 20:55:54, scott farrell wrote:
>
>>if it was 3.03-3.77 as you suggest, a few things would need to have happened:
>>
>>Nf6 would have needed to fail low
>>Possibly several other moves would have needed to fail low
>>Nf4 failed high
>>
>>So what I am saying is that, for this analysis only, that a wider window would
>>reduce the chance of Nf6 to fail low, and hence why I think it was a
>>narrow/narrower window.
>
>Ok I'm still learning and trying to understand this better. Let's take an
>example. Let's say that in this example from Monsoon, we got the result after 10
>plies of Nf6 with a score of +3.02. Now when we do our 11 ply search, what do we
>set the aspiration window to? If 'score' is the score from the previous ply
>(which is +3.02 in this case), and 'n' is the width of the search window, then
>do you set your aspiration window to (score, score+n)? Bob gave the example of
>using (0,2*score). Obviously there are a lot of ways you could set your
>aspiration window. How do you know what is safe and what is not? For example, I
>suggested (3.02,3.77) and you said that it might be unsafe, and other things
>would have needed to happen for this to be safe. So how do you determine how to
>set the upper and lower bounds for your aspiration window?

I dont think I said it was 'unsafe' I said it didnt explain the output of
Monsoon.

I think Robert says in crafty he does alpha=value-0.3, and beta=value+0.3.

Anyway, there is clearly no 'correct' value for this (nor anything else in chess
programming).

It largely depends on what your strategy is, ie. what are you going to do on a
fail-low or fail-high, are you trying to work out/infer anything else?

I am setting the alpha value to a low enough figure, so if I get 5 fail-lows, I
panic on the clock, and request more time to find some sort of solution. So the
value I choose needs to be enough to set off my panic, without too many false
alarms. I have been using 1/3 of pawn (which is similar to Roberts 0.3 by
co-incidence). If the score drops for the same move by 0.3, then that is my
partial panic mode, if it is 1 pawns, 5 pawns etc, just panic more !!!

For fail-highs I am planning to take the move without re-searching, if time is
low. So I need to set it high enough, that if I get a fail high it is probably a
really good move. The higher you set it, the less fail-highs you get, so it
helps less.

So it comes back to what is your strategy , and what are you going to do with
the fail-low, fail-high situations. I only started working on this today, so I
am no genius on it or anything, I am interested in other people's ideas.

I am currently trying an idea of
margin= max(0.1 pawns, abs( value of N-2  - value of N-1))
alpha= value of N-1  - margin
beta= value of N-1  + margin

So when the score is flakey and bouncing around from iteration to iteration, I
use a larger bound, and when it is stable it uses a minium of 0.1 pawns. Thus I
am trying to minimise my 'false alarms'.






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.