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 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.