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.