Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: chain of responsibility

Author: Robert Hyatt

Date: 06:47:04 05/03/00

Go up one level in this thread


On May 03, 2000 at 09:43:11, Robert Hyatt wrote:

>On May 03, 2000 at 01:15:11, Bruce Moreland wrote:
>
>>On May 02, 2000 at 10:02:29, Robert Hyatt wrote:
>>
>>>this happened on ICC the other night.  Fortunately I had the KRPP vs KRN
>>>position.  In that position, I _know_ I will either win or draw, while my
>>>opponent apparently thought he was winning.  And he missed the one golden
>>>opportunity to trade the knight for my two pawns.  And went down in flames
>>>a good while later...
>>
>>Does your program think it is better, or just not terribly bad?
>>
>>bruce
>
>Depends on how far the pawns are advanced.  KRN vs KRPP gets evaluated as
>draw, at worst, for the KRPP side.  IE I know that the KRN side can't win,
>so I at least hold the score to zero for that side.  And if the pawns advance
>a little, they will pull the score in favor of the two pawns.
>
>I wouldn't say it is 'perfect' but it is the right idea.  KRN can't win,
>KRPP can't lose.  So the score stays at zero or favors the KRPP...


I should have added an explanation of how I do this...

At the top of Evaluate() I call a function, EvaluateDraws() that returns 4
possible answers.

(1) not a draw.  (both sides have pawns as an example)

(2) absolutely drawn (kr vs kr)

(3) white can't win but black can  (krn vs krpp as an example)

(4) black can't win but white can  (krpp vs krn as an example)


If 3 or 4 is found, I do my norma evaluation stuff.  But just before I
return, if I got a "white can't win" condition, then I do a quick
'score=Min(score,0)' and if I got a "black can't win" condition then I do
a quick 'score=Max(score,0)'.

Bob



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