Author: Paul
Date: 18:06:06 10/05/01
Go up one level in this thread
On October 05, 2001 at 20:42:21, Robert Hyatt wrote: >On October 05, 2001 at 19:15:19, Paul wrote: > >>On October 05, 2001 at 14:59:28, Robert Hyatt wrote: >> >>>On October 05, 2001 at 12:33:06, José Carlos wrote: >>> >>>> Due to recent posts about SEE, I've decided to implement it. I have a doubt. >>>>In this position: >>>> >>>>[D]6rk/3n4/6p1/8/8/3B4/P2R4/7K w - - 0 1 >>>> >>>> white has only a capture: Bxg6. If I understood right, SEE looks only for >>>>captures in one square, so it will try: Bxg6 Rxg6 and I'm losing a bishop for a >>>>pawn. So SEE will tell me Bxg6 loses, and I'll discard a move that actually >>>>gives me a pawn for free. Is this correct? >>>> >>>> José C. >>> >>> >>>That is correct. But notice this is only "discarded" somewhere in the >>>q-search (in my case.) I _never_ throw moves out in the normal search. >>>This will be searched near the end, because it looks like it loses a >>>piece for a pawn. But it _will_ be searched. The q-search will be wrong. >>>But then it is possible that your RxN can't be played either because your >>>rook might be pinned. That gets too complicated for this kind of simple/static >>>analysis... >>> >>>The q-search is _full_ of errors, because it is by definition not exhaustive >>>at all. Which means it overlooks pins. forks, skewers, etc already. What's >>>one more small error tree in that forest? :) >> >>Bob, could you explain what you mean by 'it overlooks pins'? >> >>Groetjes, >>Paul > > >Sure... the typical SEE code (at least that implemented in Crafty, and what I >did in Cray Blitz) looks at one specific target square for exchanges. It >doesn't pay any attention to absolute or regular pins (ie if a piece is >pinned on my king by your rook, I can _still_ use that piece in the sequence >of captures. It is less accurate, but the errors in the q-search are so >large, this is "noise" basically. > >In the example given at the start of this thread, we have a discovered attack >that SEE misses as well. BxP, and when the opponent plays something takes >bishop, he has a piece hanging to the discovered attack exposed when we moved >the bishop to take the pawn. > >Other things include overloaded pieces. The point is that _all_ that is >considered is "which pieces bear on the target square, whether they are >pinned, overloaded, or anything else?" Ahh ... I read your statement above like this: A qsearch even without a SEE overlooks pins, etc. But that can't be, or can it? So a qsearch without a SEE seems to be a heck of a lot more accurate than one with? Reading what you say above, and thinking about it for the first time in my chess programming life, I don't understand it works at all ... yet everybody's using it! Hmmm ... :) Paul
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.