Functor Minimax.Make (.ml)


module Make: 
functor (G : Game) -> M with type gameField = G.gameField with type move = G.move
functor for building a Minimax implementation on a given game
Parameters:
G : Game

type gameField 
The type of game positions
type move 
Moves that can be performed on a given position
val byDepth : (gameField -> float) ->
int -> gameField -> move
Search the game up to a given depth
val byTime : (gameField -> float) ->
float -> gameField -> move
Search by iteratively deepening and returning after a given maximum time
val byNodes : (gameField -> float) ->
int -> gameField -> move
Search by iterativly deepening and returning, when the last search expands a certain number of nodes