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

Crafty 4.x Version History

4.5
book move selection algorithm replaced. Crafty now counts the number of times each book move was played as the book file is created. since these moves come (typically) from GM games, the more frequently a move appears, the more likely it is to lead to a sound position. Crafty then enumerates all possible book moves for the current position, computes a probability distribution for each move so that Crafty will select a move proportional to the number of times it was played in GM games (for example, if e4 was played 55% of the time, then Crafty will play e4 55% of the time) although the special case of moves played too infrequently is handled by letting the operator set a minimum threshold (say 5) Crafty won't play moves that are not popular (or are outright blunders as the case may be.) pushing a passed pawn to the 7th rank in the basic search [Search() module] now extends the search by two plies unless we have extended this ply already (usually a check evasion) or unless we have extended the whole line to more than twice the nominal iteration depth.

4.4
piece/square tables simplified, king tropism scoring moved to Evaluate() where it is computed dynamically now as it should be.

4.3
hash scoring "repaired." as the piece/square tables changed, the transposition table (positional evaluation component) along with the pawn and king-safety hash tables prevented the changes from affecting the score, since the hashed scores were based on the old piece/square table values. now, when any piece/square table is modified, the affected hash tables are cleared fo evaluation information.

4.2
extension search modified. fixed a problem where successive passed-pawn pushes were not extended correctly by extend() code. threat-extension margin was wrong after changing the value of a pawn to 1000, it is now back to 1.5 pawns.

4.1
extension search modified. it now "tracks" the basic iteration search depth up to some user-set limit (default=6). for shallow depths, this speeds things up, while at deeper depths it lets the program analyze forcing moves somewhat deeper.

4.0
evaluation units changed to "millipawns" where a pawn is now 1000 rather than the prior 100 units. this provides more "resolution" in the evaluation and will let Crafty have large positional bonuses for significant things, without having the small positional advantages add up and cause problems. V3.8 exhibited a propensity to "sac the exchange" frequently because of this. it is hoped that this is a thing of the past now. also, the "one legal reply to check" algorithm is now being used. in short, if one side has only one legal reply to a checking move then the other side is free to check again on the next ply. this only applies in the "extension" search, and allows some checks that extend() would normally not follow.

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

Lim Unlimited / 24 Jul 1996