Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Mobility in Chess Evaluation Function at terminal-nodes

Author: Robert Hyatt

Date: 15:58:57 12/28/05

Go up one level in this thread


On December 28, 2005 at 12:46:30, Tord Romstad wrote:

>On December 28, 2005 at 12:31:13, Stuart Cracraft wrote:
>
>>Hi - I ran a small experiment last night.
>>
>>Many people don't put mobility into their evaluation function because of the
>>heavy expense of a move-gen at the terminal node.
>
>I am fairly sure almost everybody uses some kind of mobility in their
>evaluation function.  The only exception I know among reasonably strong
>programs is Crafty (I am not quite sure, though -- I haven't looked at
>Crafty recently).

yes and no.  Crafty does some mobility.  bishops have a normal mobility term,
for example, but with rotated bitboards, the cost is almost nothing.  The first
eval I wrote was 100% mobility.  But many things are commonly used to replace
mobility with an indirect form.  Rooks on open files for example.  Increases
mobility, but that mobility is better than a rook that attacks more squares,but
in a limited way.  I don't do any sort of knight mobility, and once even did
queen mobility although I do not today.

There are _lots_ of ways to get to mobility without actually doing mobility.
"knight on the rim is dim" is a measure of mobility, or the lack thereof, for
example.



>
>As long as you only consider pseudo-legal mobility, it isn't expensive
>at all.  There is no need to do a move-gen at terminal nodes; it is enough
>to count the number of squares each piece attacks.
>
>If you want to calculate safe mobility (i.e. the number of moves each piece
>can make without losing material), achieving good performance is more
>challenging.  I don't know any very efficient ways to do this without using
>attack tables.
>
>Tord



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.