Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Speed and horizont effect

Author: Christophe Theron

Date: 00:25:16 01/24/00

Go up one level in this thread


On January 23, 2000 at 17:03:49, Robert Hyatt wrote:

>On January 23, 2000 at 14:06:46, Peter McKenzie wrote:
>
>>On January 23, 2000 at 10:07:36, Robert Hyatt wrote:
>>
>>>On January 22, 2000 at 20:43:22, Peter McKenzie wrote:
>>>
>>>>On January 22, 2000 at 17:40:10, Robert Hyatt wrote:
>>>>
>>>>>On January 22, 2000 at 03:12:53, David Blackman wrote:
>>>>>
>>>>>>On January 21, 2000 at 11:31:06, Robert Hyatt wrote:
>>>>>>
>>>>>>>The solution to the horizon effect is depth.  And extensions.  The most common
>>>>>>>horizon effect type of move is a check, which constrains the opponent to react
>>>>>>>to the check, and removes 2 plies from the depth.  Extend on the check and you
>>>>>>>cut the loss by 1 ply.  A capture/recapture is the next most likely cause, as
>>>>>>>a capture must either be followed by the recapture, a different capture to
>>>>>>>maintain material balance, or a check.  Again you lose 2 plies.  And extending
>>>>>>>on a capture/recapture pair will recover one of those plies.  The capture,
>>>>>>>check, get out of check, recapture group of moves is harder of course...
>>>>>>
>>>>>>Yes. You need extensions. Depth won't solve it on its own, but will make the
>>>>>>program stronger.
>>>>>>
>>>>>>Recently i have tried a program that usually gets to 14 ply fairly quickly, but
>>>>>>has almost no extensions. It plays reasonably well most of the time, but a
>>>>>>couple of times i've seen it make obvious tactical errors. I mean obvious to me,
>>>>>>without computer assistance, and i'm a 1500 player.
>>>>>>
>>>>>>Careful analysis of the positions showed it was the horizon effect. A simple
>>>>>>tactic of 3 to 6 plies apparent depth was being missed because the computer
>>>>>>could play a series of meaningless and perhaps slightly bad delaying moves to
>>>>>>push the problem out past 14 plies so it couldn't see the main tactic.
>>>>>
>>>>>
>>>>>reaching a depth of 14 plies should hide most horizon effect problems from any
>>>>>but the very strong tactical players.  But getting to 14 plies sounds impossible
>>>>>for a primitive program, without some sort of selectiveness... and _that_ will
>>>>>certainly cause tactical oversights...
>>>>
>>>>I think that 14 ply using nullmove pruning (R=2) and no extensions (not even
>>>>check) and no fancy quiescence would still be prone to some quite bad tactical
>>>>mistakes.
>>>>
>>>>Take the following classic type of position for example:
>>>>
>>>[D]5k2/1p5r/3pp3/p2p4/1b1P1P2/qP1Q1NP1/P1P3N1/1K6 w - -
>>>>
>>>>Its obvious to a human that after Qxh7?? Bc3, white will be mated.  The tricky
>>>>thing for a program is to wade thru. the mindless checks by the white queen, and
>>>>of course the null movers have a little trouble with the Qb2# threat.
>>>>
>>>>I think a vanilla 14ply null mover without any extensions would have a tough
>>>>time avoiding Qxh7 though - even at depth 14.
>>>
>>>
>>>
>>>
>>>I think a 14 ply search will see this.  It takes Crafty 10 plies to see
>>>Qxh7 drop to draw, and it drops every move after that.  At depth=10 Crafty
>>>switches to something else.  I would expect a 14 ply search to get a 'sniff'
>>>of this...
>>
>>What is the 10ply PV of crafty here?
>>How many checks does it contain?  If it contains more than 4 checks, doesn't
>>that mean a 14ply search without check extensions wouldn't find it?
>>Also, are you using a mate threat extension?
>>
>
>I use the null-move search mate threat extension...   here is the PV:
>
>
>               10     7.27   0.00   1. Qxh7 Bc3 2. Qh6+ Ke7 3. Qg7+ Ke8
>                                    4. Qg8+ Ke7 5. Qh7+ Kf8
>
>this on my sony notebook.
>
>>>
>>>And yes, some positions with no extensions will look ugly...  but think of all
>>>the good positional things a 14 ply search would see..
>>
>>Yes, I think I'd like my program to be able to see 14ply :-)
>
>
>we had strong programs in the 70's that did just this.  No extensions, no
>q-search (Heck, I think we have one strong commercial program with _zero_
>q-search today)


Which program are you thinking about?

Actually I have found that throwing out the QSearch makes my program slower!


BTW here is the output of the Rebel-Tiger for this position.

Tiger rejects Qxh7 in less than a third of second (K6-2 450MHz, 8MB HT).

N6     0.33s  c3                                                          -6.01
N6     0.60s  c3 Rc7 Qg6 Bxc3 Qf6+ Rf7 Qd8+ Kg7                           -2.44
N6     0.77s  Ne3                                                         -2.43
N6     0.82s  Ne3 Rh1+ Nf1 a4 g4 Ke7 f5 exf5 gxf5                         -2.12
N6     0.93s  Nge1                                                        -2.11
N6     0.99s  Nge1 Rc7 Qg6 Bc3 Nd3 Re7                                    -1.20
N6     1.10s  Ngh4                                                        -1.19
N6     1.21s  Ngh4 Rg7 Ng5 Ke7 c3 Rxg5 fxg5                               -0.32



    Christophe



> just a fast search with a very primitive eval was enough
>for "L'exentrique" to give lots of people (programs) fits...
>
>BTW in the above, after 12 plies on mhy notebook, Ngh4 is +2.23



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.