Data.GameTree
- Package
- purescript-gametree
- Repository
- sharkdp/purescript-gametree
This module defines a type class for nodes in a tree of game states (two-player zero-sum games) and provides algorithms to search the game trees for optimal strategies.
#Score Source
data ScoreThe (heuristic) value of a node in the game tree. Lose and Win can
be thought of as -infinity and +infinity.
Mathematically, Score is analogous to the extended real number line,
which is a totally ordered set (see Ord instance). Score is not a
Semiring, but supports negation (negateScore).
See: https://en.wikipedia.org/wiki/Extended_real_number_line
Constructors
Instances
#Node Source
class Node a whereA node in a game tree, typically representing a given game state.
isTerminal returns true if the node refers to a game state that is
either a win, a lose, or a draw. The score of a node is the (heuristic)
value of the given node and is always defined from the viewpoint of
the 'first' player (the one that calls the search algorithm). Finally,
children returns a list of game states that can be reached through valid
moves.
Law:
isTerminal n == null (children n)
Members
#isTerminalDefault Source
isTerminalDefault :: forall a. Node a => a -> BooleanA default implementation for isTerminal.
- Modules
- Data.
GameTree