LimUnltd . . . Top Up . . . First Prev Next Last . . . Help

Crafty 2.x Version History

2.7
new evaluation code to handle the "outside passed pawn" concept. Crafty now understands that a passed pawn on the side away from the rest of the pawns is a winning advantage due to decoying the king away from the pawns to prevent the passer from promoting. the advantage increases as material is removed from the board.

2.6
evaluation modifications attempting to cure Crafty's frantic effort to develop all its pieces without giving a lot of regard to the resulting position until after the pieces are out.

2.5
first check extensions added. in the extension search (stage between full-width and captures-only, up to two checking moves can be included, if there are checks in the full-width part of the search. if only one check occurs in the full-width, then only one check will be included in the extension phase of the selective search.

2.4
king safety code completely rewritten. it now analyzes "defects" in the king safety field and counts them as appropriate. these defects are then summed up and used as an index into a vector of of values that turns them into a score in a non-linear fashion. increasing defects quickly "ramp up" the score to about 1/3+ of a pawn, then additional faults slowly increase the penalty.

2.3
king safety code modified further, penalties were significant enough to cause search anomolies. modified rook scoring to avoid having the rook trapped in the corner when the king is forced to move rather than castle, and to keep the rook in a position to be able to reach open files in one move, which avoids getting them into awkward positions where they become almost worthless.

2.2
king safety code re-written and cleaned up. Crafty was giving multiple penalties which was causing the king safety score to be extremely large (and unstable.) now, if it finds something wrong with king safety, it only penalizes a weakness once.

2.1
search is now broken down into three cleanly-defined phases: (1) basic full-width search [Search()]; (2) extended tactical search [extend()] which includes winning/even captures and then passed pawn pushes to the 6th or 7th rank (if the pawn pushes are safe); (3) normal quiescence search [Quiesce()] which only includes captures that appear to gain material.

2.0
initial version preparing for search extension additions. this version has a new "next_evasion()" routine that is called when the king is in check. it generates sensible (nearly all are legal) moves which include capturing the checking piece (if there is only one), moving the king (but not along the checking ray), and interpositions that block the checking ray (if there is only one checking piece.

LimUnltd . . . Top Up . . . First Prev Next Last . . . Help

Lim Unlimited / 24 Jul 1996