Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Square-of-the-pawn

Author: Robert Hyatt

Date: 06:47:01 01/14/98

Go up one level in this thread


On January 14, 1998 at 09:08:45, Don Dailey wrote:

>Hi Stuart,
>
>I'll bet square of the pawn differs significantly in what it adds to
>each program.   I'm guessing that if you don't have good passed pawn
>heuristics it will make a bigger difference.   When I specifically
>tested it a previous program it did not show up as being a big deal.
>But
>most programs probably have bonuses for getting the king closer to
>passed pawns (which mine does) and this may tend to serve the same
>function (but not nearly as precise.)
>
>But it's still very important to have this heuristic in my opinion.
>You WILL definitely lose and draw games you didn't need to.  When it
>shows up it really does put your program in a different class and it's
>easy to implement the basic algorithm.   There are some fine points you
>may want to cover later though like recognizing pawn races but you'll
>get 90% of the benefit with the simple version of square of pawn.
>
>I don't remember the test results specifically but I do remember it
>was enough to measure with little trouble.  This implies at least 20
>rating points but it could be somewhat more.   But 20 rating points
>is a lot, a couple 20 pointers and you have a noticably better program.
>
>
>- Don
>
>


I view this as a totally different concept.  Pushing passed pawns is one
thing.  This is completely different.  This idea comes into play when
(say)
both sides have passed pawns and perhaps a bishop vs knight or
something,
and you discover you can rip your opponent's knight and win one or two
pawns
as a result.  Unless you have truly huge passed pawn push scores, your
program might do this, only to discover a few moves later that it can't
catch that pawn of the opponent's.  Granted that with a decent hashing
algorithm, searching 15 or so plies is not too hard given enough time,
and
you ought to search this and find it.

But suppose your q-search discovers this tactical trick near the end of
the search and that looks like the best score.  So you win two pawns,
and
a few moves later discover uh-oh...

So I don't depend on this to advance passed pawns... I depend on it to
help
me avoid trading into a material-up but dead lost ending.  Without it I
found myself making lots of mistakes.  This was one of the earliest
things
I added to Crafty.  Fortunately it is basically "free" in terms of
computational costs, when using bitmaps.  I'd bet that a program without
this will make huge mistakes in endgames, particularly at quick time
controls.  You have to hope that a move made at the root, which leads to
an unstable position at the tip (where a pawn can run) leaves you an
option
to "bail out" later before you reach the critical (lost) position.  If
it
does, you survive.  If it is an early committment to an irreversible
plan,
you could be doomed.  For the cost of the algorithm, it can't be wrong
to
do this.  And it is actually easy to implement...  just iterate over all
the
pawns to see if one side has a pawn that can't be stopped.  If both do,
you
can get fancier as I have, and see which queens first, if one queens
with
check, or if one queens and simultaneously attacks the queening square
of the
other pawn, or if the latter is true does the king also defend the
queening
square so the pawn can promote anyway and draw?  The more correct
answers,
the fewer mistakes you make.  And the more games you don't lose to silly
mistakes...



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.