Author: Robert Hyatt
Date: 13:05:00 01/24/00
Go up one level in this thread
On January 24, 2000 at 15:34:39, Christophe Theron wrote: >On January 24, 2000 at 09:10:12, Robert Hyatt wrote: > >>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. :) > > > >I'm really curious about this. Using a SEE to "close" the search is in my >opinion a beginner's mistake (no offense intended). > >It's the first thing I have done myself when I started programming chess, and I >suspect many of us have followed the same path. > >But if somebody tells me it really works, then I have, once again, to reconsider >seriously all I know about chess programming. > >It's not new anyway. Every now and then I realize how little I know. That's part >of the fun. > > Good question. I did this around 1972 or so, and found it was a great addition since I couldn't afford a q-search at the speed of 10 nodes per second or so. I too dropped this around 1978 when I went "full-width + q-search" to become yet another "clone" of chess 4.x after the Frey book came out. I'll let the 'author' of the suspected non-q-searcher speak up if he wants, to avoid starting a long "did, did not, did too" type discussion. I am not sure it is totally bad with a decent search in front of it. When I did it I was doing a 4-5 ply selective search. It was ok. I went to a 4-5 ply full- width search. It was not ok after that. Maybe after 13-14 plies it is OK again? > > > >>>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 really know why my program solves this quickly. Probably other programs >solve it quickly as well (I tried only with Tiger). Crafty has no problem with >this for example. It wasn't that fast... ie took ten plies. Yes, a second or two on my quad, but still not real fast... CB was blazing away by 2 plies as the PV was long at that point. But it took a while to see chasing the king to safety and then the inability to defend against the queen check/mate... > >At first glance I thought that the position would be really difficult to solve >and I was surprised to see that Qxh7 was never considered (or soo quickly >rejected), because I don't extend very agressively on checks. I have not >investigated more. > >Actually I have just tried again, and Tiger would play Qxh7 from ply depth 1 to >5. It realizes Qxh7 is losing (not a draw) at ply depth 6. Qxh7 does not appear >on my listing because Tiger does not output the best lines in the first half >second of the search. > That's pretty good/quick. Takes me 4 plies more to see draw, 5 more to see losing at depth=11... > > >>I don't quite understand your low score for Ngh4 however... but maybe it is >>because you stopped output after depth=6? > >Yes, score for Ngh4 quickly raises after several more seconds. It reaches +1.00 >in 12 seconds. Then after 42 seconds it is already at +1.50. OK. I don't get Ngh4 until later, where I am apparently already deep enough to see the +1.5 and up scores... > > > > Christophe
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.