Author: David Rasmussen
Date: 03:51:06 01/11/03
Go up one level in this thread
On January 10, 2003 at 10:46:58, Uri Blass wrote:
>
>Thanks but I still do not understand.
>
>The scores that you store for king safety are evaluation or information about
>pawn structure?
>
>If it is evaluation then I do not like it because the score for king safety that
>I still do not have may be dpendent on other things and not only on pawn
>structure and the same pawn structure that is a problem in one case may be not a
>problem in another case.
>
>If it is information that is used for evaluation then I do not understand
>what information.
>
It is not the final kingsafety score that you calculate. It is just that king
safety _does_ depend on pawn structure, and whatever you information you want to
calculate involving only the king and the pawns, you can refactor so that this
information is calculated only once for each pawn formation and then saved in
the pawn hash table. I do this. It doesn't affect the evaluation at all in
itself. But then I have an EvaluateKingSafety() function that takes into account
all sorts of things (pawn shield, enemy pawn storm, open and half open lines
near the king, weak squares, the proximity of the enemy's pieces to the king
etc.) and all of this is folded together in a non-linear fashion to express the
king safety. But some of the information needed here, only depends on the pawn
formation so I calculate it in the pawn structure code, where it can be hashed.
Think of it this way: Just write whatever king safe code you want. Then if you
find that some of it depends on the pawns, consider if it can be moved to the
pawn structure code.
If you have somehting like:
if (king is on a1,b1 or c1)
{
... penalize a moved pawn shield
... penalize an enemy pawn storm
... etc.
}
else if (king is on f1,g1, h1)
{
... penalize a moved pawn shield
... penalize an enemy pawn storm
... etc.
}
else
{ ... }
then you can do whatever pawn shield and pawn storm analysis you do here, in the
pawn structure code for "free", because it is hashed. And then use it here in
the way you want. You're not doing evaluation, your just doing calculation used
for evaluation later.
/David
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.