Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: evaluation function of programs(I want predicted result of the game)

Author: Don Dailey

Date: 15:07:57 07/31/98

Go up one level in this thread


On July 31, 1998 at 01:51:57, blass uri wrote:

>The programs I know give me evaluation in pawns and I prefer to see
>in the evaluation function the predicted result of the game(number between 0
>and 1) and not an evaluation in pawns.
>
>Uri


A predicted RESULT is not very meaningful.  The problem is that you
need information about the skill of each player to make a prediction.

What you CAN do is try to estimate the probability that the position
is a WIN WITH BEST PLAY ON BOTH SIDES.  But this is hard to verify
since in most cases you do not know if a given position is a win
loss or draw.   Most chess programs are probably reasonably good at
measuring this.  If the score is very close to zero, the chances
that the position is actually a win is probably very close to 0.50.
It's probably more accurate to say your EXPECTATION is 0.50 because
there are 3 results possible, win loss and draw.

Another problem is over a set of positions, it may not be the case
that a good evaluation function is much better than a lousy one.
For instance a horrible evaluation function could return ZERO every
time and over a set of random positions would be correct.  I believe
the strongest possible evaluation function would tend to return
scores that were very high, very low or very close to zero.  For
instance the 32 man database would never return anything other than
0, 0.5, and 1.


Amir gave a formula a while back for converting a score to a
probability.  This formula works very well once you have chosen
the right constant.   Here is the equation he gave:

expectancy = 1/(1 + exp(-score/K))

where K is some constant and score is a score returned by your
chess program (in terms of pawns in our case.)  A value of K near
120 seems to be about right for Cilkchess, at least when it comes
to predicting the results of master games.

In case you are interested, the inverse of this formula is:

 score = -K * log( (1-expectancy)/expectancy )



- Don




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.