ChessUSA.com TalkChess.com
Hosted by Your Move Chess & Games
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Lazy eval vs. lazy QSearch
Post new topic    TalkChess.com Forum Index -> Computer Chess Club: Programming and Technical Discussions Flat
View previous topic :: View next topic  
Author Message
H.G.Muller



Joined: 10 Mar 2006
Posts: 12753
Location: Amsterdam

PostPost subject: Lazy eval vs. lazy QSearch    Posted: Fri May 04, 2012 3:53 pm Reply to topic Reply with quote

The side that does the last move before the horizon has the tendency to grab whatever it can. QSearch was invented to punish this greediness. But like any alpha-beta search, QSearch is lazy, and often does as poor a job as it can get away with.

What I wondered about in particular is how to treat a leaf where you should fail high, because you were well ahead in the branch leading up to it, but on the last move the opponent plays a capture that approximately evens the score. You might be able to secure the fail high by standing pat, but due to the near equality, you cannot decide that based on a lazy eval, but would need a full (expensive) evaluation.

An alternative would be to play the recapture. This restores your advantage, or even increases your lead (if the capture at d=1 was unsound). The recapture would lead to an all-node, but the opponent might not have a 'repeat performance' after having burnt his capture that was just good enough, all remaining captures falling well short of alpha. So you can declare them futile based on a lazy eval, and would never have to do a full eval. This could well make up for the cost of doing the extra node. As an additional award, it could give you a much sharper lower bound on the score. (E.g. if you were at beta+960cP, but he can trade Q on the horizon, the full eval might give you LB=beta+10cP, but recapturing the Queen leaving only some of your minors attacked would give LB=beta+600cP-lazyEvalMargin.)

So being less lazy in QS (searching the move rather than going for the stand pat) allows you to be more lazy in eval in such cases, with a much better (and more certain!) pay-off.

Are there engines that make use of this method?
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Subject Author Date/Time
Lazy eval vs. lazy QSearch H.G.Muller Fri May 04, 2012 3:53 pm
      Re: Lazy eval vs. lazy QSearch Vincent Diepeveen Sun May 06, 2012 3:02 pm
            Re: Lazy eval vs. lazy QSearch H.G.Muller Sun May 06, 2012 3:52 pm
                  Re: Lazy eval vs. lazy QSearch Vincent Diepeveen Thu May 10, 2012 10:18 am
                        Re: Lazy eval vs. lazy QSearch H.G.Muller Thu May 10, 2012 10:31 am
Post new topic    TalkChess.com Forum Index -> Computer Chess Club: Programming and Technical Discussions

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Powered by phpBB © 2001, 2005 phpBB Group
Enhanced with Moby Threads