Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Pawn Majorities : some working examples...

Author: Ricardo Gibert

Date: 23:23:38 09/20/99

Go up one level in this thread


On September 20, 1999 at 14:42:27, Robert Hyatt wrote:

>
>
>OK... I now have some working code.  It is not perfected, by any stretch yet,
>but it works in two pieces, and one of the two pieces is really good, from an
>accuracy point of view.  Here is what I have done:
>
>1.  I have written a piece of code that is very good at enumerating candidate
>passers in a possition.  Nothing fancy except that bitboards help a lot in
>discovering which pawns are candidate passers.  I produce an 8-bit vector for
>each side with a 1 on a file for a candidate passer being present, a 0 if no
>candidate is on that file...
>
>2.  I am using this in a way that is conservative at present, but which works
>pretty well.  If white has a candidate, I compare the 'outsideness' of that
>candidate against real passers and candidate passers for the other side, and
>give a bonus (that is bigger as material comes off) if it has an outside
>candidate passer.
>
>Here are a couple of examples:
>
>       +---+---+---+---+---+---+---+---+
>    8  |   |   |   |   |   |   | *K|   |
>       +---+---+---+---+---+---+---+---+
>    7  | *P| *P|   |   |   | *P| *P| *P|
>       +---+---+---+---+---+---+---+---+
>    6  |   |   |   |   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>    5  |   |   |   |   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>    4  |   |   |   |   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>    3  |   |   |   |   |   |   | P |   |
>       +---+---+---+---+---+---+---+---+
>    2  | P | P | P |   |   |   | P |   |
>       +---+---+---+---+---+---+---+---+
>    1  |   |   |   |   |   |   | K |   |
>       +---+---+---+---+---+---+---+---+
>         a   b   c   d   e   f   g   h
>
>
>(fen  6k1/pp3ppp/8/8/8/6P1/PPP3P1/6K1/ w)
>
>old (16.18 crafty) evaluates this as -36 (black is better) because of
>those two doubled kingside pawns.  new crafty says +.36 because white has
>a potential outside passer on the c file, black can't force a passer without
>the king helping.  Better...
>
>Here is a test of that code, as it is not very well known that two doubled
>pawns can stop a majority, when a duo can't, as in the previous example.
>       +---+---+---+---+---+---+---+---+
>    8  |   |   |   |   |   |   | *K|   |
>       +---+---+---+---+---+---+---+---+
>    7  | *P| *P|   |   |   | *P| *P| *P|
>       +---+---+---+---+---+---+---+---+
>    6  |   |   |   |   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>    5  |   |   |   |   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>    4  |   |   |   |   |   | *B|   |   |
>       +---+---+---+---+---+---+---+---+
>    3  |   |   |   |   |   |   | N |   |
>       +---+---+---+---+---+---+---+---+
>    2  | P | P | P |   |   | P | P | K |
>       +---+---+---+---+---+---+---+---+
>    1  |   |   |   |   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>         a   b   c   d   e   f   g   h
>
>This is the position prior to the last one.  I (as black) played Bxg3.  Old
>crafty promptly plays Kxg3 and now it has to watch out for the passed black
>pawn on the h file (eventually).  new crafty plays fxg3 and black isn't going
>to make any passer.

Be careful! It makes a difference where the g-pawn is. In the example I gave
earlier (W: Pa3, b2 ,c2 B: Pb5, b7) both sides get a Q with white just ahead of
black at the cost of a pawn. In your example (disregarding the Ks for the
moment), after the move f5 the position is effectively moved up one rank so
black is one rank closer from getting his Q AND white is one rank further away.
White will be several tempi slower then. In this particular example, the move
fxg3 appears to be fine despite this. Kxg3 allows black to get the better of it
due the quality of his candidate (further from the center). I'm too lazy to
figure out the evaluations more precisely. The "branching factor" is too high
for me at this hour. Interesting example though.

>
>How this is going to work in games is anybody's guess...  the outside passed
>pawn code has pretty well stood the test of time, this is just taking in one
>level more abstract.
>
>More after I run it a while to see how it behaves.  BTW, as I mentioned, this
>has not slowed me down one bit.  In fact, in adding this, I consolidated several
>flags into one pawn hash entry to make room for the two new bitmaps (8 bits
>each) and actually the new code is a bit faster than the old (without this
>majority stuff)...
>
>If you have a position you'd like to see it evaluate, let me know.  Best kinds
>are those that don't need a search, so we can see what it understands or doesn't
>understand with pure evaluation.
>
>Maybe its endgame strength will increase a little more with this.  It certainly
>seems reasonable at present to assume so...

How does Crafty cope with: 5k2/8/pppppppp/8/PPPPPPPP/8/8/5K2 w - - 0 0
Which move by white does Crafty examine first? A human can find the best first
move without "calculating" if he/she knows his stuff. A very instructive
position though maybe not so practical ;-)

>
>Bob



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.