Module Play

module Play: sig .. end
Different play strategies.

val set_timeout : float -> unit
val cancel_timeout : unit -> unit

Maximax by depth


val unfold_maximax : ?ab:bool ->
Arena.game ->
Formula.real_expr array array ->
int GameTree.game_tree -> int GameTree.game_tree
Maximax by depth unfolding function. Throws Not_found if ready.
val unfold_maximax_upto : ?ab:bool ->
int ->
Arena.game ->
Formula.real_expr array array ->
int GameTree.game_tree * (Arena.move * Arena.game_state) list list ->
int GameTree.game_tree * (Arena.move * Arena.game_state) list list
Maximax unfolding upto iterations, keep previous moves for stability.
val maximax_unfold_choose : ?check_stable:int ->
int ->
Arena.game ->
Arena.game_state ->
Formula.real_expr array array ->
(Arena.move * Arena.game_state) list * float array
Maximax unfold upto iterations and choose move.
val latest_unfold_iters_left : int Pervasives.ref
In case the computation is interrupted by a timeout, how many iterations were left to perform by Play.maximax_unfold_choose or Play.unfold_maximax_upto.