Archived

This topic is now archived and is closed to further replies.

RPGeezus

Positional evaluation in chess

Recommended Posts

I''ve recently started working on my fourth chess program. The other three were very valuable learning experiences, especially v3 as I had a lot of help from a good chess player. One of the things v3 taught me was how valuable positional evaluation can be. It''s one thing to analyze pawn structure, material balance and the like, but this is often not enough. Even basic positional evaluations can have a major impact on the game. Most people are aware of the standard positional bonuses / penalties. These typically encourage mobility and some common-sense Chess rules. They generally remain static-- that is the same rules are applied all throughout the game (correctly or incorrectly). Being a chess moron (I''m not very good at chess) I''d like to find some more useful positional rules. There is a wealth of excellent material evaluation insights floating around the net, but the same cannot be said for position. An example of a lesser known but excellent material rule would be : If you have two bishops, each is worth more than a knight. If you have only one bishop, the bishop is worth one knight. If the lone bishop is hemmed in it is worth less than a knight. An example of a similar positional rule would be: If the opponent has only one bishop then encourage the placeing of pawns on the color opposite the enemy bishop. If anyone has any positional ''rules of thumb'' for chess they would like to share, or know of any links or other net resources, please share them in this thread. There have been a number of chess related questions come across this forum so I know there are quite a few of us who could benefit from this. Cheers, Will

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
In closed positions (typically 14 or more pawns still on the board, with a locked pawn position in the center) knights go up in value while bishops and rooks go down in value.

A good place for chess wisdom is a lesser known site, but one of the absolute best:

http://www.ex.ac.uk/~dregis/DR/coaching.html

Share this post


Link to post
Share on other sites
A book some good players swear by is Nimzowitsch''s "My System". A more contemporary revision of the book is: "Secrets of Modern Chess Strategy" by Watson. Both books are loaded with general rules and examples. Nimzowitsch''s book will be much easier for a beginner player to follow. His book does not assume much of any previous knowledge, Watson''s does.

In all honesty though, the books aren''t going to help you ''that'' much in the field of positional judgement. The only way to develop positional judgement is to play, study and become a better player. Crafty has no relevant positional judgement and is capable of beating 95% of tournament players 100% of the time.

Share this post


Link to post
Share on other sites
Try this,

For every square any piece can attack, add its value to it (if its the opposing side, subtract it).

You can now see major points, defencive installments, attacked pieces, whose going to win/loose in a trade-off, ect.

Share this post


Link to post
Share on other sites
You should take a look at king safety evaluation rules. Also, center control cuantification has been probed to be a powerfull (but difficult to implement) evaluation term.

But always take into account that it is usually best to keep evaluation function simple and fast (but rational), because it is almost impossible to increase the engine play strength trading nodes per second for evaluation complexity.

Share this post


Link to post
Share on other sites
This is interesting stuff because applying the way chessplayers think doesn't really work. They use their experience to simple "know" if a position is good or bad. Of course they sometimes have to make calculations for specific variants to determine which player has the best position.

I'm gonna give some things that cross my mind though.
- an isolated pawn (pawn with no pawns at the side that can support it) is bad.
- less pawn islands (pawns with no supportive pawns) are better
- a pawn that do not have any opponent pawns in its way (three squares wide) is good.
- how much "space" pieces have is generally good. Even though there are lots of moves that a player can do that doesn't give anything concrete at first instance, these possibilities adds up and will eventually (usually) give some advantage. A cramped position is generally not prefered.
- knights are better in closed positions.

All these comments cannot be seen as laws, they are just guidlines for what offen is true. This is what makes it so hard.

You might wanna study an opensource chessengine like gnuchess.

[edited by - doho on May 24, 2004 5:42:21 AM]

Share this post


Link to post
Share on other sites
Thanks for the great info everybody.

I definately agree that keeping the evaluation fast is very important.

A lot of these ''rules'' cannot be gauranteed to be accurate all of the time but I still think that they can be useful-- as long as their contribution to the evaluation is minor I think.

If anything it would be to help the computer decide between two equally quiet moves-- should it move the rook one space, or the bishop? In the best of worlds it would make the move that would potentially bear the most fruit down the road.

Terms like mobility are useful I think. even if the term ''mobility'' is not exactly refined. As long as it''s bias towards the overall evaluation is low I would think it would be helpful.

My last chess program did a lot of pawn evaluation, but I might dump it in this round. Except for doubled pawns, and encouraging advancement, I may not bother dscouraging passed or isolated pawns. My reason for this is that I find the program maintains good pawn structure without it. Since I already encourage advancement it will try and keep its pawns moving without putting them in danger anyway (which results in good pawn structure).


I found this website with some new-to-me chess ''rules'' of thumb, if anybody is intersted.

http://mywebpages.comcast.net/danheisman/Articles/evaluation_of_material_imbalance.htm

I _think_ it contains many valuable insights-- since I''m not very good at chess, I cannot really tell for sure if there author is right or wrong. I doubt would use his summarized piece values in my own program, but some of the evaluations he describes I might adopt.

Specifically I find the question "when is a queen worth two rooks?" most intersting. This is a very important question for Chess programmers because our evaluation is really only an approximation of strength, where strength should be some indicator as to how likely it is one player will win the game.

Stating that a queen is in fact worth two rooks, under certain circumstances, can totally change the evaluation and therefor the line of play that the computer follows.


Cheers,
Will

Share this post


Link to post
Share on other sites
Hi,
some days ago i overheard somebody talking about implementing neural nets to improve the end-node evaluation function in chess. i am not familiar with neural nets, so i cant add anything to this - just thought i''d throw this in

Share this post


Link to post
Share on other sites
I''ve read about similar projects in the past. Unfortunately, from what I understand, there has been no improvement over a hand-coded evaluation.

Maybe the problem is to broad; I wonder if anyone has tried using a NN or GA to generate an ''endgame'' evaluation-- the problem would be more specific.

Will

Share this post


Link to post
Share on other sites