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

Crafty 7.x Version History

7.6
null move search now searches with R=2, unless within 3 plies of the quiescence search, then it searches nulls with R=1.

7.5
repetition code modified. it could store at repetition_list[-1] which clobbered the long long word just in front of this array.

7.4
performance improvements produced by elimination of bit-fields. this was accomplished by hand-coding the necessary ands, ors, and shifts necessary to accomplish the same thing, only faster.

7.3
Evaluate() is no longer called if material is too far outside the current alpha/beta window. the time-consuming part of Evaluate() is no longer done if the major scoring contributors in Evaluate() haven't pulled the score within the alpha/beta window, and the remainder of Evaluate() can't possible accomplish this either. gross error in EvaluatePawns() fixed, which would "forget" all of the pawn scoring done up to the point where doubled white pawns were found. error was xx=+ rather than xx+=, which had an extremely harmful on pawn structure evaluation.

7.2
major clean-up of MakeMove() using macros to make it easier to read and understand. ditto for other modules as well. fixed a bug in Evaluate() where bishop scoring failed in endgame situations, and discouraged king centralization.

7.1
modified next.c and nextc.c so that they check "mvv_lva_ordering" to determine which capture ordering strategy to use. note that setting this to "1" (default at present) disables the forward pruning in quiescence search that wants to cull losing captures.

7.0
removed the to.attack and from.attack bitboards. these are now computed as needed, using the rotated bitboards. hung piece stuff removed due to lack of any verified benefit.

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

Lim Unlimited / 24 Jul 1996