Computer Chess Club Archives




Subject: Re: Crafty CCT6 notes

Author: Josť Carlos

Date: 10:12:35 02/02/04

Go up one level in this thread

On February 02, 2004 at 11:24:28, Robert Hyatt wrote:

>On February 02, 2004 at 11:02:53, Josť Carlos wrote:
>>>White helps, but crafty has this inate built-in idea of not "sitting".
>>  Can you explain in simple words how you code that idea?
>>  Josť C.
>Sure.  Basically a "cascading" evaluation where the most important feature is to
>avoid blocked pawns.  If pawns can move, they can produce open lines.  Open
>lines lead to active pieces, active pieces lead to king safety issues for the
>opponent, and so forth.

  IIRC, you do detect which pawns can safely move forward and which ones can't.
I guess you use that to determine your "pawn mobility", because otherwise pawn
blocked for white and black would be the same (except for rare cases of doubled
& blocked pawns) and thus the score would be zero.

>It also requires some "speculative" evaluation where you accept some risk
>for some gain, rather than doing nothing.  Asymmetry also plays here or
>else you are tempted to sit still.

  This is most interesting to me. I've seen my program being happy with his
position and starting moving a piece back and forth, changing basically nothing
in the position and wasting time. Later, when it's forced to open the position
due to the 50 move rule or some repetition, it has little time and falls in
tactical problems.
  So how do I know I'm doing nothing? Checking the position history (or move
path) seems too expensive. I'd like to detect it in static eval but how?

  Thanks for the explanation.

  Josť C.

This page took 0.01 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.