Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How to evaluate endgames when one side has no pawns?

Author: Robert Hyatt

Date: 05:29:08 11/06/98

Go up one level in this thread


On November 06, 1998 at 03:40:27, Bruce Moreland wrote:

>
>On November 05, 1998 at 21:57:22, Andrew Dados wrote:
>
>>
>>On November 05, 1998 at 21:32:44, Robert Hyatt wrote:
>>
>>>On November 05, 1998 at 09:47:34, Andrew Dados wrote:
>>>
>>>>     Suppose somewhere deep in the search I get reduction to B vs 2P ending...
>>>>what value
>>>>should I assign to it? Side with Bishop can't win - so draw for side with 2P at
>>>>minimum... If I assign  2 *P value then my program will sac Knight for Pawn in
>>>>B+P vs N+2P...rarely sensible .    What should my eval return in B vs P and B vs
>>>>2P ?
>>>>
>>>>  Andrew  .....(I better get those tablebases working :)
>>>
>>>
>>>simple answer:  if one side can't win, set the upper bound on the score
>>>for that side to 0.  Then, when you trade into a B vs pp ending, you simply
>>>say (assuming B=white) score=Min(score,0);  Then you let the two pawns possibly
>>>drag the score < 0, but you are sure you don't let the B pull the score above
>>>zero.
>>>
>>>In my eval, I recognize two cases:  white can't win and black can't win.  And
>>>I limit the score so that if white can't win, the score will *never* go above
>>>zero, and if black can't win, the score will never go below zero...  If both
>>>are true, we have a draw of course.  :)
>>
>>
>>  Yeah... this is what I did so far... However simple bounding like that has the
>>danger of trading into N vs P where N vs 2P could be reached - since those 2
>>positions will return same =draw= value...now I set minimum to draw +
>>Pawn_nr*0.3... primitive, but program cares about those pawns :)
>
>This is a great thread.
>
>The original poster identified a really common problem.  You get into these
>situations not only when you have a minor against two pawns, you get them when
>you have a minor and a rook against a rook and two pawns.
>
>I had a game in the Jakarta WMCCC, I believe against Comet, where Comet took a
>draw rather than get into the pawn side of KRN vs KRPP (mine didn't understand
>it either).  If I remember, the pawns looked half way decent, too. I saw another
>game between Shredder and Virtual Chess at that WMCCC, where neither program
>understood this exact same situation.  Virtual Chess chose to be a pawn or two
>down in a lost position, rather than a piece down in an unlosable position.
>That was two at that same WMCCC.  I also see this come up a lot on ICC, you get
>into these cases where you are "losing", but you can escape into an ending in
>which you are down material, but realistically only you can win.
>
>And you've identified what is wrong with Bob's approach.  What you want to do is
>go into these endings when you have a better chance of winning than you
>otherwise would.  And once you are in one of these, you certainly want to avoid
>just throwing away pawns because all positions are equal.
>
>I've tried to make my program understand these cases, but I don't think I've
>solved the problem you mentioned, that of sacrificing material in order to get
>into one of these cases.  I don't have any good answers, but the questions are
>great and I think very important.
>
>bruce

I'm not sure that there is "something wrong with Bob's approach..."  IE if your
eval can't figure out that two pawns are pretty strong, then the above works as
a catch-all.  For example I've only guaranteed that if I get into a KB vs KPP
ending, that the KB side will *never* think it is winning.  If the pawns are
connected, I'd probably think the KPP side is winning.  If the two pawns are
isolated on opposite sides of the board, but reasonably advanced, I'd also
think the two pawns are winning.  If one or both are advanced, I'd be even
more likely to think the two pawns are winning.

I'm much more concerned about KB vs KP type positions where someone is using
crafty without tablebases... because that is a dangerous one...  always a
draw, yet looking like +2 or so.  There this works very well...



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.