Computer Chess Club Archives




Subject: Re: The Limits of Positional Knowledge

Author: Robert Hyatt

Date: 06:34:14 11/11/99

Go up one level in this thread

On November 11, 1999 at 03:37:10, Michael Neish wrote:

>I sent in a question to a while ago about how best to
>improve a newly-written Chess program, either by sharpening up its search
>routine or by programming a better positional sense.  In reply I was recommended
>to study the available source code for ideas.
>This has led me to another question.  Supposing you stubbornly insist on using
>alpha-beta, and not add any of the sophisticated embellishments that everyone
>talks about (killer move, null move, etc).  How far can you expect to go just on
>programming positional sense alone?  I ask this because it seems to me (as
>someone mentioned only last week on rgcc) that positional sense in a program is
>to a large extent only window dressing, and that the strength in a program lies
>mainly in its ability to search deep.  From my meagre experience as a Chess
>programmer it seems to me that positional sense provides nothing more than
>general pointers to the program to play sensibly.
>To Dr. Hyatt, who was one of those who replied to me: have you ever tried
>feeding nonsensical positional variables to Crafty to see how its play is

I have done this often, but not intentionally.  :)

Here is my assessment:

for a shallow-searcher, the 'scores' (positional weights) don't matter a
lot.  IE it is more important to simply recognize positional strengths and
weaknesses, regardless of how big/small the scores are.  Because a shallow
searcher will likely not see deep enough to have to choose between 'some of
these and some of those' positional terms.

deep searchers are quite different.  Because they often have to choose between
three of those, two of those, and one of these.  If the weights are not
reasonably accurate, it will make the wrong decision.

I believe that the deeper you go, the more accurate your 'scores' have to be
(by scores I mean weights for each positional thing you recognize).

>  Okay, maybe nonsensical values will ruin the evaluation function
>completely (like a value of 5,000 for putting the Queen on a1) but what about
>different weighting values from the one you use in Crafty, but still sensible?
>Won't the values that enable Crafty to search for the right move in one position
>be useless (or detrimental) in other positions?  What difference can it make for
>the Bishop to get a score of 32 instead of 30 for landing on e4?  Wouldn't
>incurring a heavy penalty for moving, say, Pawn to h5 in a front of your castled
>King prevent Crafty from playing h5 when it would be correct to do so?  You will
>of course excuse me for not having studied every single line of Crafty's code.
>Thanks for your time.

your questions are all good ones.  And the answers are not always easy to
find.  And it is possible that several different sets of evaluation weights
will produce identical skill levels. (IE nothing suggests that the set of linear
equations that the evaluation represents, has only one unique solution).

This page took 0.06 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.