Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: evaluation tuning tricks

Author: Tom Likens

Date: 10:26:56 03/17/04

Go up one level in this thread


On March 17, 2004 at 11:04:20, Fabien Letouzey wrote:

>On March 17, 2004 at 10:27:34, Tom Likens wrote:
>
>>On March 17, 2004 at 09:52:27, Tord Romstad wrote:
>>
>>>On March 17, 2004 at 04:58:06, Peter Alloysius wrote:
>>>
>>>>what are tricks for evaluation tuning so that it could
>>>>search less nodes?
>>>
>>>An easy way to reduce your tree size enormously is to evaluate all
>>>positions to the value 0.  You will get beta cutoffs at the first move
>>>everywhere in the tree, therefore the tree will be extremely small.  Your
>>>move ordering will always be perfect, and the simple evaluation function
>>>will certainly boost your nodes/second count.  :-)
>>>
>>>Seriously, I don't think tuning the evaluation is the right way to go
>>>in order to reduce the tree size.  You should rather concentrate on
>>>making the evaluation function as accurate as possible, and look for
>>>improvements in your search and move ordering when trying to reduce the
>>>size of your tree.
>>>
>>>Tord
>>
>>Ah ha!!  I knew there was a final *secret* you weren't sharing Tord, but now the
>>cat is out of
>>the bag.  After reading this I've replaced my evaluation function completely
>>with...
>>
>>return 0;
>>
>>and it has *never* been faster.
>>
>>--tom
>>
>
>
>That's only the beginning.
>
>Now that the first move always gives the best score, you don't need to search
>the other ones anymore ...
>
>There are many secrets you did not know about apparently!
>
>Fabien.

Hello Fabien,

You're right I wasn't being imaginative enough.  After much empirical
data and testing,  I've managed to reduce the size of my search tree
to practically nothing.  In fact, I now take the first move (which
coincidentally, has a value of 0, regardless of the move ordering I use)
and return immediately.  Of course I handle the case of being in check
with special code, but it was very easy to create!

This has also allowed me to throw out the hash table, history heuristic,
special move generators, quiescence search etc.  I'm going to start
some test matches immediately, but I suspect with my new speed and
smaller code size (which will allow the program to reside *completely* in
L1 cache) that I will easily see a 200-300 ELO improvement!!

--tom "I've probably carried this too far"




This page took 0.1 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.