Author: Uri Blass
Date: 15:35:22 01/24/04
Go up one level in this thread
On January 24, 2004 at 17:12:45, Tord Romstad wrote: >On January 24, 2004 at 15:57:50, Mike Siler wrote: > >>In an average middlegame position, around 80-85% of the nodes my program >>searches are quiesce nodes. I have a static exchange evaluator and I only search >>captures with SEE value > 0. It seems like other engines are always under 25% >>qnodes. What else should I be doing to reduce these numbers? > >Use the SEE more aggressively. When the static eval is below beta, but >static_eval+(value of capturing biggest hanging enemy piece) > beta+margin, >return beta. This is too risky unless your SEE is very sophisticated. There >are >two ways to solve this problem: You can improve the accuracy of your SEE, but >this tends to make it much slower (of course). You can also use your static >evaluation function to estimate the tactical complexity of the position, and use >this estimate to decide whether it is safe to trust your SEE at this node. If >there >are pinned, trapped or overloaded pieces or too many pieces are hanging, you >search the captures, if not you just return beta. > >I use the second approach. My SEE is rather simple, and my qsearch uses >information >computed by the static eval to decide whether (and which) captures should be >searched. > >Tord This post seems to contradict another post of you http://www.talkchess.com/forums/1/message.html?343947 You said there that the problem with futility pruning is making assumption about how much a move can change the evaluation and I read now that you do exactly that(make assumptions about how much a capture can change the score). I do not understand what the reason that you do not use the words futility pruning to describe what you do because you exactly prune captures that seem to be futile. Uri
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.