Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Speed and horizont effect

Author: Vincent Diepeveen

Date: 14:38:35 01/23/00

Go up one level in this thread


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.

That's complete nonsense, and depending upon how bad your qsearch is.
Diep is doing checks in qsearch, so without threat and mating and
singular or whatever extension except doing a few checks in qsearch
this is easy to see, see here results:

PII450 with sound at background and a very small hashtable:
white to move
clean
Clearing all Hashtables...
anal
Analysis mode is on
process 0: engineflags = 0 denktime=10000000 maxtime=10000000
00:00 3 (0) 1 6.29 Qd3xh7
00:00 102 (0) 2 3.78 Qd3xh7 Bb4-c3
00:00 528 (0) 3 3.11 Qd3xh7 Bb4-c3 Qh7-h8 Kf8-e7
00:00 1257 (0) 4 3.14 Qd3xh7 Bb4-c3 Qh7-h8 Kf8-e7 Qh8-g7 Ke7-d8
00:00 2557 (0) 5 2.96 Qd3xh7 Bb4-c3 Qh7-h8 Kf8-e7 Qh8-g7 Ke7-d8 Qg7-g8 Kd8-c7
00:00 4842 (0) 6 2.71 Qd3xh7 Bb4-c3 Qh7-h8 Kf8-e7 Qh8-g7 Ke7-d8 Qg7-f6 Kd8-c7 Qf
6-e7 Kc7-b8
00:00 11668 (0) 7 -1.01 Qd3xh7 Bb4-c3 Qh7-h6 Kf8-e7 Qh6-g5 Ke7-d7 Nf3-e5 d6xe5 Q
g5-g7 Kd7-c8
++ g2-h4
00:03 67389 (0) 7 -0.30 Ng2-h4 Rh7-c7 Qd3-g6 Bb4-c3 Qg6-f6 Kf8-e8 Qf6xe6 Ke8-f8
Qe6-f5 Kf8-e8
00:06 116210 (0) 8 -0.81 Ng2-h4 Rh7-c7 Qd3-g6 Bb4-c3 Qg6-f6 Kf8-e8 Qf6xe6 Ke8-d8
 Qe6-f6 Kd8-d7 Qf6-f5 Kd7-c6
00:13 277351 (0) 9 -0.82 Ng2-h4 Rh7-c7 Qd3-g6 Bb4-c3 Qg6-f6 Kf8-e8 Qf6xe6 Ke8-d8
 Qe6-f6 Kd8-d7 Qf6-f7 Kd7-c6 Qf7-e8 Kc6-b6
00:27 570805 (0) 10 -2.25 Ng2-h4 Rh7-c7 Qd3-e3 Bb4-c3 Qe3-c1 Qa3xc1 Kb1xc1 Kf8-g
7 g3-g4 Kg7-f6 g4-g5 Kf6-e7
++ d3-e3
00:31 665367 (0) 10 -1.66 Qd3-e3 Rh7-h1 Ng2-e1 Bb4xe1 Nf3xe1 Kf8-f7 g3-g4 Qa3-b4
 c2-c3 Qb4-a3
++ f3-h4
00:49 991669 (0) 10 -1.07 Nf3-h4 Rh7-c7 Ng2-e3 Bb4-c3 Ne3-d1 Qa3-b4 Nh4-f3 a5-a4
 Qd3-g6 Kf8-e7

>I think a vanilla 14ply null mover without any extensions would have a tough
>time avoiding Qxh7 though - even at depth 14.

vanilla search with consequent qsearch and good evaluation already fixes
this problem.

Vincent



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.