Safe Haskell | None |
---|---|
Language | Haskell2010 |
AUTHOR
- Dr. Alistair Ward
DESCRIPTION
- Performs an https://www.chessprogramming.org/Alpha-Beta search, implemented using https://www.chessprogramming.org/Negamax.
- Moves are dynamically re-ordering using the killer-heuristic.
- https://www.chessprogramming.org/Repetitions & https://www.chessprogramming.org/Transpositions are detected.
Synopsis
- extractSelectedTurns :: NPlies -> Result positionHash -> (DynamicMoveData positionHash, [Turn], NPositions)
- negaMax :: Ord positionHash => NPlies -> SearchState positionHash -> Reader (Result positionHash)
Types
Type-synonyms
Data-types
Functions
extractSelectedTurns :: NPlies -> Result positionHash -> (DynamicMoveData positionHash, [Turn], NPositions) Source #
- Drop the specified number of plies; typically those made before starting the search.
- CAVEAT: abandons the fitness component of the quantified game.
:: Ord positionHash | |
=> NPlies | The depth to which the tree should be searched; i.e. the number of plies to look-ahead. |
-> SearchState positionHash | |
-> Reader (Result positionHash) |
- Implements a depth-first search (implemented as nega-max), with alpha-beta pruning.
- alpha is the minimum fitness of which the maximising player is assured.
- beta is the maximum fitness which the minimising player will tolerate.