Author: Severi Salminen
Date: 15:22:52 10/30/02
Go up one level in this thread
>>Could you please define precisely how you count qnodes? Where do you increment >>and what? > >Every time qsearch is called i count one node. You should maybe change your engine count as others do. I think the most logical and common way to do it is to call a qnode every node which is _created in qsearch_. So a node is a qnode only if it was reached by trying only capture -> called from qsearch. So you can't increase at the beginning of qsearch() but only just before you call qsearch() in qsearch() again. And be sure to check that when entering qsearch() from search() you must increase nodes, not qnodes. Using the above method gives you better figures to see how SEE works. >I could but i use a very difficult methode for which i'am not even sure that the >results are correct. Basically i first fill up a matrix where for every ray the >attackers are stored in attacking order. Then i cycle through this array to find >the least valued attacker and this proces is repeated until no attacker is left. >Then the score is calculated in a method like used in Crafty. > >As i said, this is a very clumsy and time consuming matter. It simply takes to >much time to find these attackers. First of all: SEE is time consuming by its nature. It can never be as fast as MVV/LVA - your NPS will drop when using SEE but you'll be able to use SEE scores to prune even more. For example: you can decide to skip every losing capture in qsearch - don't search them at all. And you can prune even more by comparing SEE scores to alpha and current material balance. You can experiment a lot with this. SEE scores are also very useful in normal move ordering: search winning (and maybe even) captures first, then killers and other moves sorted by history heuristics, and losing captures the last. This can be achieved only with SEE. How much you do of the above? There are more ways to take advantage of SEE scores but the above are the basic things. Could you post your SEE code here (or a part of it). Then it would be easier to see if it really is inefficient. Crafty has a good and quite easy to understand SEE code so if you do it like Crafty, you are not doing too badly at least. I've never done a 0x88 SEE but I believe the basics are the same. But with code sample, it would be easier to judge it. Severi
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.