Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Evaluation function

Author: Andrew Williams

Date: 06:04:38 07/02/01

Go up one level in this thread


On July 02, 2001 at 08:38:39, John Wentworth wrote:

>I'am currently writing my first chess program and have got to the point where I
>need to write a function to evaluate the chess positions. Anyone have any good
>advice on this or can point me to some documentation?

My advice is very general: start with something simple.

How about: Loop through your pieces and add their material scores together.
Use a piece/square table to encourage your program to put its pieces on sensible
squares. eg a Bishop on a1 gets a big penalty, while on e3 it might get good
bonus.

Once you're satisfied with this, start thinking about putting your program
on ICC or FICS. This is surprisingly easy to do and you'll get a nice ego-
boost as your program shoots up above 2100 on ICC.

Piece-square tables are of course a bare minimum. Next you could try penalizing
doubled pawns and isolated pawns. Try looking at pawn shelter in front of your
King (only after you've castled!). Piece-square tables are hard to do for
Rooks. Try to get them on files which don't have any pawns. Or see if you
can get your program to put its rooks on the seventh rank.

You'll notice that this is just a random series of ideas. I think the best way
to do this is just to "have a go". You'll waste a lot of time with eval terms
which don't work, but you'll learn a lot in the process. Perhaps you prefer
not to work this way. In that case, try this link:

http://www.gamedev.net/reference/programming/features/chess1/


Andrew



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.