Changes

Jump to: navigation, search

Lachex

No change in size, 14:29, 20 February 2020
no edit summary
The search is basically [[Alpha-Beta|alpha-beta]] with [[Iterative Deepening|iterative deepening]]. In the initial depth one search each [[Root|root]] move is actually [[Score|scored]] and the list of moves ordered accordantly. [[Best Move|Best moves]] at subsequent iterations are moved to the top of the list. [[Scout|Scouting]] is used at [[Ply|ply]] one only - the first move in the list is scored and the remaining moves are tested with [[Null Window|minimal window]]. [[Pruning|Forward pruning]] is done with a positional estimator at nodes below the horizon and with the [[Null Move Pruning|null move algorithm]] above. Moves out of [[Check|check]] above the horizon [[Check Extensions|extend]] the [[Depth|search depth]] for that path by one, but by two if the check is [[Discovered Check|discovered]] or [[Double Check|double]]. [[Quiescence Search|Selective searches]] below the horizon include [[Captures|captures]], [[Promotions|promotions]], [[Castling|castling]], and some checking moves.
Lachex spends 1/3 of its time [[Move Generation|generating moves]], 1/3 doing bookkeeping, and 1/3 [[Evaluation|evaluating]] [[Leaf Node|leaf nodes]]. The evaluation function is symmetric wherever possible. [[Mobility]], [[Pawn Structure|pawn structure]], [[King Safety|king safety]], [[Piece-Square tablesTables|piece placement]] and other features make up the evaluation function. Some strategy is incorporated at the root by shifting the minimal window to bias certain types of moves. There is a [[Transposition Table|transposition table]] which can be a big as 32 million positions, on a 64 million word machine.
==Board Representation==

Navigation menu