Xiangiqgame
AI engine for Xiangqi
Loading...
Searching...
No Matches
moveselection::PreSearchMoveSorter< ConcreteSpaceInfoProvider, ConcretePieceValueProvider > Class Template Reference

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...

#include <move_evaluators.hpp>

Collaboration diagram for moveselection::PreSearchMoveSorter< ConcreteSpaceInfoProvider, ConcretePieceValueProvider >:
Collaboration graph

Public Member Functions

 PreSearchMoveSorter (ConcreteSpaceInfoProvider &game_board, ConcretePieceValueProvider &game_position_points)
 
ScoredMove RateMove (Move move, PieceColor cur_player)
 
std::vector< ScoredMoveGenerateRankedMoveList (PieceColor cur_player, const MoveCollection &cur_player_moves)
 

Private Attributes

ConcreteSpaceInfoProvider & game_board_
 
ConcretePieceValueProvider & game_position_points_
 

Detailed Description

template<typename ConcreteSpaceInfoProvider, typename ConcretePieceValueProvider>
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.

Definition at line 68 of file move_evaluators.hpp.

Constructor & Destructor Documentation

◆ PreSearchMoveSorter()

template<typename ConcreteSpaceInfoProvider , typename ConcretePieceValueProvider >
moveselection::PreSearchMoveSorter< ConcreteSpaceInfoProvider, ConcretePieceValueProvider >::PreSearchMoveSorter ( ConcreteSpaceInfoProvider &  game_board,
ConcretePieceValueProvider &  game_position_points 
)
inline

Definition at line 70 of file move_evaluators.hpp.

Member Function Documentation

◆ GenerateRankedMoveList()

template<typename ConcreteSpaceInfoProvider , typename ConcretePieceValueProvider >
std::vector< ScoredMove > moveselection::PreSearchMoveSorter< ConcreteSpaceInfoProvider, ConcretePieceValueProvider >::GenerateRankedMoveList ( PieceColor  cur_player,
const MoveCollection cur_player_moves 
)
inline

Definition at line 105 of file move_evaluators.hpp.

◆ RateMove()

template<typename ConcreteSpaceInfoProvider , typename ConcretePieceValueProvider >
ScoredMove moveselection::PreSearchMoveSorter< ConcreteSpaceInfoProvider, ConcretePieceValueProvider >::RateMove ( Move  move,
PieceColor  cur_player 
)
inline

Definition at line 77 of file move_evaluators.hpp.

Member Data Documentation

◆ game_board_

template<typename ConcreteSpaceInfoProvider , typename ConcretePieceValueProvider >
ConcreteSpaceInfoProvider& moveselection::PreSearchMoveSorter< ConcreteSpaceInfoProvider, ConcretePieceValueProvider >::game_board_
private

Definition at line 125 of file move_evaluators.hpp.

◆ game_position_points_

template<typename ConcreteSpaceInfoProvider , typename ConcretePieceValueProvider >
ConcretePieceValueProvider& moveselection::PreSearchMoveSorter< ConcreteSpaceInfoProvider, ConcretePieceValueProvider >::game_position_points_
private

Definition at line 126 of file move_evaluators.hpp.


The documentation for this class was generated from the following file: