Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: pawn structure, pawn hash, square-of-pawn, pawn-races

Author: Stuart Cracraft

Date: 16:36:29 08/19/04

Go up one level in this thread


On August 19, 2004 at 15:42:05, Robert Hyatt wrote:

>On August 19, 2004 at 15:27:56, Stuart Cracraft wrote:
>
>>Hi,
>>
>>I am looking around for those last few "big-ticket" items
>>to implement in my program and am wondering about these.
>>
>>The program currently knows nothing about pawns other
>>than preference for center pawns and pawns near the friendly
>>castled king.
>>
>>So the question is how much improvement for games vs.
>>normal middle-game position tests do you see coming from
>>the three items square-of-pawn, pawn races, and general
>>pawn structure including passers, isolani, doubled, color
>>complex weakness, etc. as well as implementing a pawn
>>hash. Be detailed. I'm interested in what kind of results
>>before and after you added these that you saw.
>>
>>For example, I once heard one programmer comment that
>>square of pawn was worth a full rating class in competitive play.
>>
>>And how do you implement square-of-pawn and and pawn races
>>and what gotchas did you encounter?
>>
>>Thanks,
>>
>>Stuart
>
>Once you get your program tactically sound, you will lose every game you can't
>win tactically, if you don't understand pawn structure.  It is a _huge_ issue.
>
>If you don't understand weak pawns, isolated pawns, doubled pawns, pawn
>majorities, distant majorities, outside/distant passers, etc, IM/GM players will
>have you for lunch...

Just as a reminder, here's what you wrote a few years ago about it.

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.