Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::GameEvaluator Concept Reference

Required evaluator contract for zero-sum games. More...

#include <Negamax.H>

Concept definition

template<typename Domain>
concept Aleph::GameEvaluator = requires(Domain &domain, const typename Domain::State &state) {
typename Domain::Score;
{ domain.is_terminal(state) } -> std::convertible_to<bool>;
{ domain.evaluate(state) } -> std::convertible_to<typename Domain::Score>;
}
Score type accepted by adversarial search engines.
Definition Negamax.H:70
Required evaluator contract for zero-sum games.
Definition Negamax.H:380
@ Domain
Preserve the order emitted by for_each_successor().

Detailed Description

Required evaluator contract for zero-sum games.

evaluate(state) must return a score from the perspective of the player to move in state. This is the key convention that keeps Negamax and Alpha-Beta compact and symmetric.

Definition at line 380 of file Negamax.H.