Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Really wierd idea: Pawn value as a function of position...

Author: KarinsDad

Date: 07:56:53 08/04/99

Go up one level in this thread


On August 03, 1999 at 22:35:16, Dann Corbit wrote:

>Has anyone tried something like this for pawn value:
>ranks advanced = 0, value = 1.000 = 100 centipawn
>ranks advanced = 1, value = 1.000
>ranks advanced = 2, value = 1.013
>ranks advanced = 3, value = 1.065
>ranks advanced = 4, value = 1.299
>ranks advanced = 5, value = 2.547
>ranks advanced = 6, value = 10.347
>
>This is derived from the following formula:
>pawn_value = 1.0 + (ranks_advanced! - 1.0) * .013;
>
>I believe that the value of a pawn is a factorial of the number of squares it
>has advanced...
>
>The reason that I think such a scheme is reasonable is as follows:
>A pawn gains very little value on the first two moves, except some control of
>the forward squares.  However, a pawn two squares from queening is a problem,
>and a pawn one square from queening is a *big* problem.  You would gladly tie up
>a knight to prevent queening, I think.  Hence, it's value is nearly the value of
>the knight.  And, at the moment of queening, it is worth slightly *more* than a
>queen.  The reason it is worth more than a queen is that it can become a queen,
>or another piece -- if that is advantageous.  A queen cannot do that.  So, the
>moment it lands on the promotion square it has a value of something just over
>10.
>
>Thoughts?

I do something like this in my code. Although, I do not have as extreme a climb
at the end as you have. I think I gain about 1/5th pawn or so by the time I get
to the 7th and I gain some (maybe 1/10th pawn) for capturing towards the center.

But, my code is up in the air right now with us fixing hash table assumption
bugs (i.e. we made some assumptions in the rest of the code which cannot be made
when using hash tables since you have no idea which path you have taken to get
to the position). So, I have no real good idea whether my values are good or
not. But, I do think your values are WAY too extreme.

The search code will determine whether a pawn can promote or not. The advance
code should only be used to "lean" the search more in the direction of pushing
the pawns, but it should not be used as a major score modifier. IMO. And, of
course, in my code, I have multiple PVs, so it is unlikely that a 1/5th pawn
evaluation difference will force the program to pick one move over another (so I
think it is safe to add it, but who knows?).

KarinsDad :)



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.