Safe Haskell | None |
---|---|
Language | Haskell2010 |
AUTHOR
- Dr. Alistair Ward
DESCRIPTION
- https://chessprogramming.wikispaces.com/Transposition+Table.
- https://en.wikipedia.org/wiki/Transposition_table.
- http://www.chessbin.com/post/Transposition-Table-and-Zobrist-Hashing.
- Valid move-sequences can be recorded against the hash of the position from which they start.
Synopsis
- type Transformation move positionHash = Transpositions move positionHash -> Transpositions move positionHash
- data Transpositions move positionHash
- find :: Ord positionHash => positionHash -> Transpositions move positionHash -> Maybe (Value move)
- insert :: (Ord positionHash, Ord weightedMean) => FindFitness move weightedMean -> positionHash -> Value move -> Transformation move positionHash
Types
Type-synonyms
type Transformation move positionHash = Transpositions move positionHash -> Transpositions move positionHash Source #
The type of a function which transforms Transpositions
.
Data-types
data Transpositions move positionHash Source #
Stores the result of an alpha-beta search from a position.
Instances
Empty (Transpositions move positionHash) Source # | |
Defined in BishBosh.Search.Transpositions empty :: Transpositions move positionHash Source # | |
EphemeralData (Transpositions move positionHash) Source # | |
Defined in BishBosh.Search.Transpositions getSize :: Transpositions move positionHash -> Int Source # euthanise :: NPlies -> Transpositions move positionHash -> Transpositions move positionHash Source # |
Functions
find :: Ord positionHash => positionHash -> Transpositions move positionHash -> Maybe (Value move) Source #
Returns any value previously recorded when searching from the specified position.
Mutators
:: (Ord positionHash, Ord weightedMean) | |
=> FindFitness move weightedMean | |
-> positionHash | Represents the game from which the sequence of moves starts. |
-> Value move | The value to record. |
-> Transformation move positionHash |
- Optionally record a value found while searching for the optimal move from a position, against the position's hash.
- If a matching key already exists, it's replaced if the new value is considered to be better.