Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: what does "fail high" mean?

Author: Scott Gasch

Date: 13:15:08 11/30/02

Go up one level in this thread


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?
>
>My engine doesnt report the final move Nf4 until it has fully analysed that
>move, and hence already has the PV.

After a complete search of all moves in the root position to (at least) 10 ply
depth monsoon's PV started with Nf6 (and it printed the 10. line).

Now we begin checking every move in the root position to at least depth 11.  The
first move analized, of course, is the PV move from last search depth -- Nf6.
The next move monsoon analized was Nf4.  This move caused a root fail high of
the aspiration window and caused the 11+ line to be output.  The engine has
fully analized the Nf6 move at this point but because it caused a root fail high
the aspiration window must be adjusted and the entire position researched with
the new window.

The next time through, the moves it has already worked on should benefit greatly
from the hash table.  My beta is now +INFINITY so another root fail high can't
happen.  I've actually thought about gradually opening this window but have
never played with it.  When monsoon next analizes the Nf4 position it has a PV
change at the root but this is not reported in my output because as soon as the
Nf4 move failed high at the root I changed the PV to a PV of length 1, move Nf4.
 This causes monsoon to play the move that failed high if time expires before
the fail high can be resolved.

Then it has to consider all the mvoes in the depth 11 search before it can make
a final report of depth 11... which is the first time I report the PV with Nf4
as the lead.  So monsoon would play the Nf4 move anytime after the fail high but
doesn't report a PV starting with that move until the full depth 11 search is
complete.

Scott

>
>The rest of the ply takes more time, ie. discarding all other moves at the root.



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.