Author: Yngvi Bjornsson
Date: 09:51:48 11/03/99
Go up one level in this thread
On November 01, 1999 at 18:08:35, Scott Gasch wrote:
>I was reading a book on AI the other day and, out of curiousity, skimmed over to
>the game programming area. I was surprised to find a strange (?) idea about how
>to write an eval routine mentioned.
>
>As best I understand it, this eval method assigns scores of -1, 0 or 1 to some
>position features (e.g. material, mobility, whatever...) and -2, -1, 0, 1, 2 to
>others. Then it combines related features into a "set". Like, I guess, it
>might combine, say, knight-attacks, rook-attacks, pawn-attacks etc... into one
>set. The set consists of one feature that has five steps of resolution and
>others that have only three. So the end set might look like { -2, -1, -1, 0,
>-1} for instance. This set's values are then used to index a heirarchy of
>tables that give the value of this configuration.
>
>My questions are: 1) why is this a good idea? It seems like a waste of memory
>(to store the tables) and it seems like it would be less accurate than a sum of
>weighted terms style eval.
The first mention of signature tables in game-playing programs that I'm a aware
of is in Samuel's work on checkers in the mid 60's. The main reason for him
using signature-tables was to introduce non-linearity into the evaluation
function. In the example you mention above a linear evaluation function will
calculate the merit of knight-attacks, rook-attacks and pawn-attacks as the sum
of all the three features. However, although each individual attack bonus might
be corrctly evaluated, in the case where all three apply simultaniously the sum
of them might either over- or underestimate the assigned bosus. Setting the
value in the signature-tables appropriated allow' one to evaluate the combined
bonus non-linearly (e.g. if the bosus of each attack begin present is 10, the
bonus of all three being present could be set to 25).
> 2) is anyone doing this or something related/non-standard in their eval?
Using purely linear combination of terms in the evaluation-function is clearly
inadequate, and programs have to address this in one way or another. I don't
think signature-tables are necessarity the best way. Instead, this is ofen
hard-coded into the evaluation functions. For example, pawn-weaknesses get
higher penalties the less material is on the board, but king-safety becomes less
significant, backward pawns are less vulenarble if there are no rooks on the
board, etc.
-Yngvi
>Scott
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.