Computer Chess Club Archives


Search

Terms

Messages

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

Author: scott farrell

Date: 06:27:20 11/30/02


This is a continuration from another thread, but I need some help in
understanding this.

Some of the engines "failed-high" detecting  the move, before they had fully
completed the ply.

Uri and I cant understand how they detect or report this.

See the output from an engine below.
At depth 10 is says : Nf6
At a partial depth 11 (fail-high) it says Nf4! ++ 9 (without a Pv)
with a few more minutes it gets a PV for depth 11.
How come it didnt get a score for Nf6 first, and detected Nf4 as an outstanding
move?

Scott

The position was :
[D]2rr3k/1p4p1/1P2b2p/p1Bnpp1q/8/Q1P2PP1/P6P/RB3RK1 b - - 0 26


Posted by scott farrell (Profile) on November 30, 2002 at 03:19:18:

In Reply to: Re: what does "fail high" mean? posted by scott farrell on November
30, 2002 at 02:48:29:


On November 30, 2002 at 02:48:29, scott farrell wrote:

>On November 30, 2002 at 01:37:01, Uri Blass wrote:
>
>>On November 29, 2002 at 22:34:40, scott farrell wrote:
>>
>>>On November 29, 2002 at 21:12:55, Scott Gasch wrote:
>>>
>>>>On November 29, 2002 at 17:22:20, Will Singleton wrote:
>>>>
>>>>>2rr3k/1p4p1/1P2b2p/p1Bnpp1q/8/Q1P2PP1/P6P/RB3RK1 b - - 0 26
>>>>>
>>>>>Solution times (amd 1.6ghz):
>>>>>
>>>>>Yace       not in 5 min
>>>>>Crafty     not in 5 min
>>>>>Aristarch  3:48 min
>>>>>Gromit     3:12 min
>>>>>Ruffian    44 sec
>>>>>CM9000     5 sec
>>>>>
>>>>
>>>>Monsoon fails high in 2:16 and resolves a PV in 4:27.
>>>>
>>>> 1u   +0.35  00:00:00.02  11           PV= a4 <+0.00>
>>>> 1u   +1.35  00:00:00.05  57           PV= Nf4 <+0.00>
>>>> 1.   +1.35  00:00:00.08  77           PV= Nf4 <+0.00>
>>>> 2-   +0.57  00:00:00.13  190          **FL** --
>>>> 2u   -0.47  00:00:00.14  302          PV= Ra8 1. Bd3 <+0.00>
>>>> 2u   -0.36  00:00:00.15  380          PV= Rc6 1. Qxa5 <-1.00>
>>>> 2u   -0.10  00:00:00.16  448          PV= Nf6 1. Qxa5 <-1.00>
>>>> 2.   -0.10  00:00:00.21  508          PV= Nf6 1. Qxa5 <-1.00>
>>>> 3.   +0.59  00:00:00.27  1635         PV= Nf6 1. Qxa5 e4 <-1.00>
>>>> 4u   +0.64  00:00:00.31  6748         PV= Rc6 1. Bd3 Nxb6 2. Bxb6 Rxb6 [Q]
>>>>                                        > 3. Qxa5 [Q] <+0.00>
>>>> 4.   +0.64  00:00:00.38  9055         PV= Rc6 1. Bd3 Nxb6 2. Bxb6 Rxb6 [Q]
>>>>                                        > 3. Qxa5 [Q] <+0.00>
>>>> 5+   +1.40  00:00:00.47  22433        Nf6! ++
>>>> 5.   +1.49  00:00:00.63  42341        PV= Nf6 1. Bd6 Bc4 2. Re1 Qxf3 3. Bxe5
>>>>                                        > [Q] <+0.00>
>>>> 6.   +1.52  00:00:00.93  90963        PV= Nf6 1. Bd6 e4 2. fxe4 fxe4 3. Bc2
>>>>                                        > <+0.00>
>>>> 7.   +1.77  00:00:01.49  209895       PV= Nf6 1. Bc2 Rd2 2. Rf2 Rxf2 3. Bxf2
>>>>                                        > Qxf3 4. Qxa5 [Q] <+0.00>
>>>> 8.   +1.77  00:00:03.82  698640       PV= Nf6 1. Bc2 Rd2 2. Rf2 Rxf2 3. Bxf2
>>>>                                        > Qxf3 4. Qxa5 <+0.00>
>>>> 9+   +2.52  00:00:05.36  994464       Nf6! ++
>>>> 9.   +2.71  00:00:08.69  1812429      PV= Nf6 1. Bd6 Bc4 2. Rf2 e4 3. g4 Nxg4
>>>>                                        > 4. fxg4 Qxg4+ [+] 5. Bg3 Rd1+
>>>>                                        > [Q] 6. Kg2 [Q] <-1.00>
>>>>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>
>>>
>>>How do you guys get this sort of output?
>>
>>I also do not understand it.
>>
>>Monson finished depth 10 with Nf6 in the pv but I do not see pv for Nf6 at depth
>>11.
>>
>I think they must be doing something like, start depth 11 with a window of say
>3.5 to 3.6. This "fails-high" where any one branch can prove it can do atleast
>as good at 3.6 using soft alpha/better bound, or they actually used say
>3.5-3.77. Assuming that fail-low are real fast, and the search ussually fails
>low, then they ussually dont waste much time. I report fail-low at the root, to
>see this sort of this, using -INFINITY to INFINITY, you dont get fail low at the
>root. So after the fail-high, they know atleast one move is dramatically better,
>but not exatly how much better, or if there is also another real good move which
>is better. When they re-search, they search with say 3.77-INFINITY.
>
>My hashtable/hash alorithm doesn't have data/smarts to do window searches like
>this. What extra info do I need, I current store the type of bound (a/b/exact),
>and the score, and do Robert H's fail low/fail hi routine if enough depth.
>
>>Does it start analyzing Nf4 and not Nf6 at depth 11?
>>>
>>>My engine doesnt report the final move Nf4 until it has fully analysed that
>>>move, and hence already has the PV.
>>
>>I do not understand.
>>
>>Do you use normal alpha beta?
>>
>>I try to find if other moves are better than the best move that I found.
>>For that purpose I use a window of 0.01 pawns.
>>
>>If they are better I have a fail high and increase the size of the window from
>>0.01 pawns to something bigger than 0.01 pawns.
>>
>We are saying the same thing, I use PVS, but have to have fully searched a move
>at each ply first. They did something smarter than us. Or are you saying 0.01
>pawns from previous iteration, say from ply 10 in this example.
>>Uri
Just thinking some more, they may be detecting the fail-high somewhere other
than at the root, say near the leaves somewhere, a nice high score, that is
unlikely to be rebutted, it might be detected by the null-move, but the search
continues to find out if it can force anything better deeper in the tree.

Scott




This page took 0.01 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.