Author: Robert Hyatt
Date: 10:33:22 02/02/04
Go up one level in this thread
On February 02, 2004 at 13:12:35, José Carlos wrote: >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. Note that this is not exactly reflexive. IE I can have a pawn that is not blocked even though you do not. This is the concept of "potential levers" that I added years ago to combat the "blockers" that play on ICC looking only for draws against computers. :) I also evaluate pure "rams" but that is a different concept, as a pawn ram can obviously not move at all. > >>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? One thing is to use the 50 move rule counter. As it gets bigger, drag the score toward a draw. This prevents you from doing nothing, unless there is nothing you can do. IE it will encourage a pawn push to reset the counter, but you have to make sure you are not locking things up worse by doing so.. > > 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.