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.