|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Minimal contract for alternating-turn zero-sum games. More...
#include <Negamax.H>
Minimal contract for alternating-turn zero-sum games.
A game domain must:
State, Move and Score types,for_each_successor(),apply() / undo(),is_terminal(),evaluate(), always from the current player's perspective.evaluate(state) returns values in [score_floor<Score>(), score_ceiling<Score>()]. The internal sentinel std::numeric_limits<Score>::lowest() is reserved by the engine and maps to std::numeric_limits<Score>::max() when negated.The engine assumes apply() / undo() switch turns implicitly through the state itself; no separate player parameter is carried by the search code.