Author: Robert Hyatt
Date: 06:10:12 01/24/00
Go up one level in this thread
On January 24, 2000 at 03:25:16, Christophe Theron wrote: >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! > I suspect that one commercial program is doing no capture search, but may be using a static exchange evaluator to prevent the last move in a PV from being an outright blunder. Seems to be working. No names to protect the guilty, however. :) > >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 > > > you probably do checks in the q-search. I don't. That makes a big difference here. Cray Blitz drops QxR after 4 plies, 2 milliseconds. It sees draw at that point. I don't quite understand your low score for Ngh4 however... but maybe it is because you stopped output after depth=6? >> 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.