Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Opening, Middlegame, Endgame (for authors)

Author: Uri Blass

Date: 09:34:43 06/17/04

Go up one level in this thread


On June 17, 2004 at 11:40:58, Fabien Letouzey wrote:

>On June 17, 2004 at 11:15:40, Tom Likens wrote:
>
>>On June 17, 2004 at 05:09:36, Fabien Letouzey wrote:
>>>Fruit does exactly that, in an attempt to reduce the blemish effect described by
>>>Hans Berliner.
>>>
>>>That means two scores are associated with each evaluation feature.  The
>>>"computational expense" can be reduced to near 0 if you feel like it (mixing two
>>>16-bit values into a single 32-bit integer).
>>>
>>>Maybe the main drawback is that features are evaluated regardless of the
>>>position.  Of course you can make exceptions if you like, but that somewhat
>>>defeats the original goal.
>>>
>>>Fabien.
>
>>Hello Fabien,
>
>>A couple of questions and perhaps a clarification.  What do you use for the
>>x-axis variable of interpolation (I'm guessing the value of material left for
>>each side, excluding pawns)?  Also do you scale the values for black and
>>white independent of each other or do you simply blend the final value?
>
>Single interpolation.  I use the sum of all material (both sides, 0/3/3/5/9 as
>you mentionned).

Imagine the following position.

[D]1n1qk3/3ppp2/6p1/8/2p5/1p6/5PP1/R2QK3 w - - 0 1

Do you think that white want to do the king active the same as black?

I think that black has more to be afraid from mate but if I understand correctly
your code does not consider it in it's piece square table and use the same piece
square table for both kings.

Not that movei has the same problem and it also use the same piece square table
for both kings but I think that it may be better to consider only the pieces of
the opponent to decide about the phase of the game.

I still did not implement your interpolation but I think to change it to have 2
different numbers for white and black accept cases when both sides have equal
material when I can skip the calculation of the second number
and I may have something like:
//valpieces[0]=value of white pieces not pawns.
//valpieces[1]=value of black pieces not pawns.

phase[0]=calculatephase(valpieces[1])
if (valpieces[0]==valpieces[1])
phase[1]=phase[0];
else phase[1]=calculatephase(valpieces[0]);


Uri



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.