|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Alpha-Beta pruning over the adversarial-search contract. More...
Go to the source code of this file.
Classes | |
| class | Aleph::Alpha_Beta< Domain > |
| Adversarial search engine with Alpha-Beta pruning. More... | |
Namespaces | |
| namespace | Aleph |
| Main namespace for Aleph-w library functions. | |
Functions | |
| template<AdversarialGameDomain Domain> | |
| auto | Aleph::alpha_beta_search (Domain domain, typename Domain::State initial_state, ExplorationPolicy policy=Alpha_Beta< Domain >::default_policy(), SearchLimits limits={}) |
| Convenience wrapper for one-shot Alpha-Beta search. | |
| template<AdversarialGameDomain Domain, typename Tracer > requires AdversarialSearchTracer<Tracer, typename Domain::Move, typename Domain::Score> | |
| auto | Aleph::alpha_beta_search (Domain domain, typename Domain::State initial_state, Tracer &tracer, ExplorationPolicy policy=Alpha_Beta< Domain >::default_policy(), SearchLimits limits={}) |
| Convenience wrapper for one-shot Alpha-Beta search with tracing. | |
| template<AdversarialGameDomain Domain, typename Table , typename Keyer > requires AdversarialSearchKeyer<Table, Keyer, typename Domain::State, typename Domain::Move, typename Domain::Score> | |
| auto | Aleph::alpha_beta_search (Domain domain, typename Domain::State initial_state, Table &table, Keyer keyer, ExplorationPolicy policy=Alpha_Beta< Domain >::default_policy(), SearchLimits limits={}) |
| Convenience wrapper for Alpha-Beta search with transposition table. | |
| template<AdversarialGameDomain Domain, typename Table , typename Keyer , typename Tracer > requires AdversarialSearchKeyer<Table, Keyer, typename Domain::State, typename Domain::Move, typename Domain::Score> | |
| and AdversarialSearchTracer< Tracer, typename Domain::Move, typename Domain::Score > auto | Aleph::alpha_beta_search (Domain domain, typename Domain::State initial_state, Table &table, Keyer keyer, Tracer &tracer, ExplorationPolicy policy=Alpha_Beta< Domain >::default_policy(), SearchLimits limits={}) |
| Convenience wrapper for Alpha-Beta search with TT/keyer and tracing. | |
| template<AdversarialGameDomain Domain, typename Table > requires SearchStateKeyProvider<Domain> | |
| and AdversarialTranspositionMemo< Table, typename Domain::State_Key, typename Domain::Move, typename Domain::Score > auto | Aleph::alpha_beta_search (Domain domain, typename Domain::State initial_state, Table &table, ExplorationPolicy policy=Alpha_Beta< Domain >::default_policy(), SearchLimits limits={}) |
| Convenience wrapper for Alpha-Beta search with domain-provided state key. | |
| template<AdversarialGameDomain Domain, typename Table , typename Tracer > requires SearchStateKeyProvider<Domain> | |
| and AdversarialTranspositionMemo< Table, typename Domain::State_Key, typename Domain::Move, typename Domain::Score > and AdversarialSearchTracer< Tracer, typename Domain::Move, typename Domain::Score > auto | Aleph::alpha_beta_search (Domain domain, typename Domain::State initial_state, Table &table, Tracer &tracer, ExplorationPolicy policy=Alpha_Beta< Domain >::default_policy(), SearchLimits limits={}) |
| Convenience wrapper for Alpha-Beta search with domain-provided key and tracing. | |
| template<AdversarialGameDomain Domain, typename Tracer > requires AdversarialSearchTracer<Tracer, typename Domain::Move, typename Domain::Score> | |
| auto | Aleph::iterative_deepening_alpha_beta_search (Domain domain, typename Domain::State initial_state, Tracer &tracer, ExplorationPolicy policy=Alpha_Beta< Domain >::default_policy(), SearchLimits limits={}, AdversarialIterativeDeepeningOptions< typename Domain::Score > options={}) |
| Iterative deepening over Alpha-Beta with optional aspiration windows. | |
| template<AdversarialGameDomain Domain, typename Table , typename Keyer , typename Tracer > requires AdversarialSearchKeyer<Table, Keyer, typename Domain::State, typename Domain::Move, typename Domain::Score> | |
| and AdversarialSearchTracer< Tracer, typename Domain::Move, typename Domain::Score > auto | Aleph::iterative_deepening_alpha_beta_search (Domain domain, typename Domain::State initial_state, Table &table, Keyer keyer, Tracer &tracer, ExplorationPolicy policy=Alpha_Beta< Domain >::default_policy(), SearchLimits limits={}, AdversarialIterativeDeepeningOptions< typename Domain::Score > options={}) |
| Iterative deepening over Alpha-Beta with TT/keyer reuse. | |
| template<AdversarialGameDomain Domain, typename Table , typename Tracer > requires SearchStateKeyProvider<Domain> | |
| and AdversarialTranspositionMemo< Table, typename Domain::State_Key, typename Domain::Move, typename Domain::Score > and AdversarialSearchTracer< Tracer, typename Domain::Move, typename Domain::Score > auto | Aleph::iterative_deepening_alpha_beta_search (Domain domain, typename Domain::State initial_state, Table &table, Tracer &tracer, ExplorationPolicy policy=Alpha_Beta< Domain >::default_policy(), SearchLimits limits={}, AdversarialIterativeDeepeningOptions< typename Domain::Score > options={}) |
Iterative deepening over Alpha-Beta using domain.state_key(). | |
| template<AdversarialGameDomain Domain> | |
| auto | Aleph::iterative_deepening_alpha_beta_search (Domain domain, typename Domain::State initial_state, ExplorationPolicy policy=Alpha_Beta< Domain >::default_policy(), SearchLimits limits={}, AdversarialIterativeDeepeningOptions< typename Domain::Score > options={}) |
| Iterative deepening over Alpha-Beta without tracing. | |
| template<AdversarialGameDomain Domain, typename Table , typename Keyer > requires AdversarialSearchKeyer<Table, Keyer, typename Domain::State, typename Domain::Move, typename Domain::Score> | |
| auto | Aleph::iterative_deepening_alpha_beta_search (Domain domain, typename Domain::State initial_state, Table &table, Keyer keyer, ExplorationPolicy policy=Alpha_Beta< Domain >::default_policy(), SearchLimits limits={}, AdversarialIterativeDeepeningOptions< typename Domain::Score > options={}) |
| Iterative deepening over Alpha-Beta with TT/keyer reuse and no tracing. | |
| template<AdversarialGameDomain Domain, typename Table > requires SearchStateKeyProvider<Domain> | |
| and AdversarialTranspositionMemo< Table, typename Domain::State_Key, typename Domain::Move, typename Domain::Score > auto | Aleph::iterative_deepening_alpha_beta_search (Domain domain, typename Domain::State initial_state, Table &table, ExplorationPolicy policy=Alpha_Beta< Domain >::default_policy(), SearchLimits limits={}, AdversarialIterativeDeepeningOptions< typename Domain::Score > options={}) |
Iterative deepening over Alpha-Beta using domain.state_key() and no tracing. | |
Alpha-Beta pruning over the adversarial-search contract.
This module keeps the same game adapter required by Negamax.H but adds Alpha-Beta cutoffs on top of the same depth-first recurrence and result vocabulary. Through Aleph::ExplorationPolicy it also supports opt-in move ordering by shallow score estimate plus lightweight killer/history hooks.
Definition in file Alpha_Beta.H.