Author: Tord Romstad
Date: 14:12:45 01/24/04
Go up one level in this thread
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 page took 0.02 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.