Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Chess Programming: how to identify ending phase?

Author: Robert Hyatt

Date: 06:31:00 04/21/01

Go up one level in this thread


On April 20, 2001 at 15:49:33, Normand M. Blais wrote:

>Hi,
>
>I'm using the following:
>
>#define ENDING \
>((pawn_mat[side]+pawn_mat[xside] <= 1200) && \
>(piece_num[side]+piece_num[xside] <= 5))
>
>
>Assuming a value of 1000 for a pawn and that the kings or the pawns are not
>counted as a pieces for "piece_num", is the expression above correct?
>
>Thank you for your help.
>
>NMB


You _really_ don't want to do this in an evaluation.  It will give you a
serious "boundary effect" where the eval has significant changes around some
boundary in the game.  In this case, around the point where you decide whether
it is still a middlegame or an endgame.  You want a _smooth_ transition from
MG to EG, not an abrupt change.  The program will search around that boundary
and produce some very bizarre results...

I simply phase MG eval terms out as material comes off, and phase EG eval
terms in at the same time.  But it is gradual rather than an abrupt change
around some magic material boundary...



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.