Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Static exchange evaluator and 0x88

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.