Xiangiqgame
AI engine for Xiangqi
Loading...
Searching...
No Matches
move_evaluators.hpp File Reference

Definitions of concrete classes that implement the MoveEvaluator interface. More...

Include dependency graph for move_evaluators.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  moveselection::PreSearchMoveSorter< ConcreteSpaceInfoProvider, ConcretePieceValueProvider >
 Sorts moves based on points changed induce by single move; used by MinimaxMoveEvaluator for pre-sorting to increase likelihood of alpha/beta pruning during recursive search. More...
 
class  moveselection::MinimaxMoveEvaluator< ConcreteSpaceInfoProvider, ConcreteBoardStateCoordinator, ConcretePieceValueProvider >
 Implements MoveEvaluator interface, and selects move::Move using Minimax algorithm; uses SpaceInfoProvider, BoardStateCoordinator, and PieceValueProvider interfaces. More...
 
class  moveselection::RandomMoveEvaluator< ConcreteSpaceInfoProvider >
 Implements gameboard::MoveEvaluator interface. More...
 

Namespaces

namespace  moveselection
 Selecting a move to execute.
 
namespace  moveselection::minimaxutils
 Free functions used by moveselection::MinimaxMoveEvaluator.
 

Functions

bool moveselection::minimaxutils::ValidateMove (SearchSummary &search_summary, const MoveCollection &allowed_moves)
 
void moveselection::minimaxutils::UpdateAlpha (Points_t &alpha, Points_t cur_eval)
 
void moveselection::minimaxutils::UpdateBeta (Points_t &beta, Points_t cur_eval)
 
bool moveselection::minimaxutils::IsPrunableForEvaluator (Points_t &alpha, Points_t &beta, MinimaxResultType &result_type)
 
bool moveselection::minimaxutils::IsPrunableForEvaluatorOpponent (Points_t &alpha, Points_t &beta, MinimaxResultType &result_type)
 

Detailed Description

Definitions of concrete classes that implement the MoveEvaluator interface.

Definition in file move_evaluators.hpp.