Smooth evaluation

Discussion of chess software programming and technical issues.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
User avatar
Kempelen
Posts: 620
Joined: Fri Feb 08, 2008 9:44 am
Location: Madrid - Spain
Contact:

Smooth evaluation

Post by Kempelen » Mon Sep 29, 2008 11:30 am

I have noted when examining Rybka (and possible many more programs) that when evaluating a position, Rybka evaluates the position very smooth, I mean, the evaluation only change from ply to ply only in a few centipawns (in the start position 3 centipawns). My program, in a tipical middlegame position sometimes changes 40 centipawns or more between plys, so my question is:

- What make an engine to evaluate positions "the smooth way", with "small jumps"?

- does lots of chess knowledge make evaluation funcion more smooth or less?

- What are proper ways to adjust the evaluation and search function to be as I describe?

- and last, is a program who change the evaluation from ply to ply a lot a good evaluation engine?

thx

User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 6:43 pm

Re: Smooth evaluation

Post by sje » Mon Sep 29, 2008 3:17 pm

One idea that might be helpful is to assign a small positional bonus to the side on the move. This fails for zugzwang positions, though. But most of the time it helps.

bob
Posts: 20795
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: Smooth evaluation

Post by bob » Mon Sep 29, 2008 4:13 pm

Kempelen wrote:I have noted when examining Rybka (and possible many more programs) that when evaluating a position, Rybka evaluates the position very smooth, I mean, the evaluation only change from ply to ply only in a few centipawns (in the start position 3 centipawns). My program, in a tipical middlegame position sometimes changes 40 centipawns or more between plys, so my question is:

- What make an engine to evaluate positions "the smooth way", with "small jumps"?

- does lots of chess knowledge make evaluation funcion more smooth or less?

- What are proper ways to adjust the evaluation and search function to be as I describe?

- and last, is a program who change the evaluation from ply to ply a lot a good evaluation engine?

thx
There are two options. (1) small score components so that as a feature is activated, the resulting change is small; (2) "phasing in" positional scores so that they suddenly don't just "turn on" but instead phase in slowly.

A simple example might be an outpost knight supported by friendly pawns. A knight on e5 is good, if no pawns can attack the knight, it is better, if it is supported it is better still. If the opponent has no knights and no bishop on that color square, it is better still. You could just "turn this on" in one big chunk, or you could phase it in as each requirement is met...

bob
Posts: 20795
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: Smooth evaluation

Post by bob » Mon Sep 29, 2008 4:13 pm

Kempelen wrote:I have noted when examining Rybka (and possible many more programs) that when evaluating a position, Rybka evaluates the position very smooth, I mean, the evaluation only change from ply to ply only in a few centipawns (in the start position 3 centipawns). My program, in a tipical middlegame position sometimes changes 40 centipawns or more between plys, so my question is:

- What make an engine to evaluate positions "the smooth way", with "small jumps"?

- does lots of chess knowledge make evaluation funcion more smooth or less?

- What are proper ways to adjust the evaluation and search function to be as I describe?

- and last, is a program who change the evaluation from ply to ply a lot a good evaluation engine?

thx
There are two options. (1) small score components so that as a feature is activated, the resulting change is small; (2) "phasing in" positional scores so that they suddenly don't just "turn on" but instead phase in slowly.

A simple example might be an outpost knight supported by friendly pawns. A knight on e5 is good, if no pawns can attack the knight, it is better, if it is supported it is better still. If the opponent has no knights and no bishop on that color square, it is better still. You could just "turn this on" in one big chunk, or you could phase it in as each requirement is met...

Post Reply