Belofte version 2.1.8
A promising chess program using the UCI or Winboard interface
|
#include <search.h>
Public Member Functions | |
bSearchAlgorithm (std::string const &n) | |
~bSearchAlgorithm () override | |
bSearchAlgorithm (bSearchAlgorithm const &)=delete | |
bSearchAlgorithm (bSearchAlgorithm &&)=delete | |
bSearchAlgorithm & | operator= (bSearchAlgorithm const &)=delete |
bSearchAlgorithm & | operator= (bSearchAlgorithm &&)=delete |
operator std::string () const & | |
int64_t | getNodes () const |
int64_t | getNonLeafNodes () const |
void | StartSearch (bScore const m) |
void | StopSearch () |
void | InterruptSearch () |
bBestMoveInfo | SearchBestMove (bBoard &b) |
Generic search, will call (non-)recursive method per algorithm only when there are moves to be played. | |
bScore | sendInfoSearching (bBoard const &b, depth_t const nDepth, std::string const &c, bScore const sc) const |
bScore | RetrieveBoardEvaluation (bBoard &b) const |
Cache score of board. | |
![]() | |
TimedExecution () | |
implementation of timing functions | |
virtual | ~TimedExecution ()=default |
std::string | getDuration () const |
long long | getDurationMicroSec () const |
Public Attributes | |
depth_t | m_maxDepth = 0 |
int64_t | m_nodes = 0LL |
int64_t | m_nonleafnodes = 0LL |
bool | m_iterativesearch = false |
Protected Member Functions | |
virtual bScore | CalcBestMove (bBoard &b)=0 |
void | CheckIfAbortingSearch () const |
bScore | attenuateScore (bScore const sc) const |
converge score towards zero in order to force immediate best move first | |
void | setLevel (bLevel *l) |
bLevel * | getLevel () |
void | sendInfoCurrMove (bBoard const &b, depth_t const nDepth, movenum_t const moveid) const |
bScore | sendInfoScore (bBoard const &b, depth_t const nDepth, bScore const) const |
void | dumpMoveList (bBoard &b, depth_t const iDepth) const |
![]() | |
void | ClockStart () |
void | ClockEnd () |
long long | getDurationSec () const |
long long | getDurationMilliSec () const |
bSearchAlgorithm::bSearchAlgorithm | ( | std::string const & | n | ) |
Definition at line 132 of file search.cpp.
|
override |
Definition at line 139 of file search.cpp.
|
delete |
|
delete |
|
delete |
|
delete |
|
inline |
Definition at line 92 of file search.h.
Referenced by bGame::DoPerft().
|
inline |
Definition at line 93 of file search.h.
Referenced by cmd_perft::execute(), and bel_debug::run_bench().
void bSearchAlgorithm::StartSearch | ( | bScore const | m | ) |
Definition at line 258 of file search.cpp.
Referenced by SearchBestMove().
void bSearchAlgorithm::StopSearch | ( | ) |
Definition at line 267 of file search.cpp.
Referenced by SearchBestMove().
void bSearchAlgorithm::InterruptSearch | ( | ) |
Definition at line 273 of file search.cpp.
Referenced by bGame::AbortSearch().
bBestMoveInfo bSearchAlgorithm::SearchBestMove | ( | bBoard & | b | ) |
Generic search, will call (non-)recursive method per algorithm only when there are moves to be played.
b | initial board |
Definition at line 152 of file search.cpp.
Referenced by bGame::DoPerft(), bGame::evalEpdPosition(), and bGame::WaitForSearchEnd().
Cache score of board.
b | board |
Definition at line 343 of file search.cpp.
Referenced by SearchEvalPosOnly::CalcBestMove(), SearchAlphaBeta::CalcBestMove(), SearchAlphaBetaFH::CalcBestMove(), SearchAlphaBeta::Quiescence(), and SearchBestMove().
Implemented in SearchAlphaBeta, SearchBruteForce, SearchPerft, SearchEvalPosOnly, and SearchRandom.
Referenced by SearchBestMove().
|
protected |
Definition at line 278 of file search.cpp.
Referenced by SearchEvalPosOnly::CalcBestMove(), SearchAlphaBeta::CalcBestMove(), SearchAlphaBetaFH::CalcBestMove(), and SearchAlphaBeta::Quiescence().
converge score towards zero in order to force immediate best move first
Definition at line 356 of file search.cpp.
Referenced by SearchAlphaBeta::CalcBestMove(), SearchAlphaBetaFH::CalcBestMove(), and SearchAlphaBeta::Quiescence().
|
inlineprotected |
Definition at line 116 of file search.h.
Referenced by StartSearch().
|
inlineprotected |
Definition at line 117 of file search.h.
Referenced by SearchPerft::CalcBestMove(), SearchAlphaBeta::CalcBestMove(), SearchAlphaBetaFH::CalcBestMove(), SearchAlphaBeta::Quiescence(), SearchBestMove(), and StartSearch().
|
protected |
Definition at line 327 of file search.cpp.
Referenced by SearchEvalPosOnly::CalcBestMove(), SearchRandom::CalcBestMove(), SearchAlphaBeta::CalcBestMove(), SearchAlphaBetaFH::CalcBestMove(), and SearchAlphaBeta::Quiescence().
Definition at line 288 of file search.cpp.
Referenced by SearchBestMove().
depth_t bSearchAlgorithm::m_maxDepth = 0 |
Definition at line 106 of file search.h.
Referenced by SearchEvalPosOnly::CalcBestMove(), SearchRandom::CalcBestMove(), SearchAlphaBeta::CalcBestMove(), SearchAlphaBetaFH::CalcBestMove(), SearchAlphaBeta::Quiescence(), SearchBestMove(), sendInfoCurrMove(), and sendInfoSearching().
int64_t bSearchAlgorithm::m_nodes = 0LL |
Definition at line 107 of file search.h.
Referenced by SearchPerft::CalcBestMove(), SearchRandom::CalcBestMove(), SearchAlphaBeta::CalcBestMove(), SearchAlphaBetaFH::CalcBestMove(), getNodes(), SearchAlphaBeta::Quiescence(), SearchBestMove(), sendInfoCurrMove(), and sendInfoSearching().
int64_t bSearchAlgorithm::m_nonleafnodes = 0LL |
Definition at line 108 of file search.h.
Referenced by SearchEvalPosOnly::CalcBestMove(), SearchAlphaBeta::CalcBestMove(), SearchAlphaBetaFH::CalcBestMove(), getNonLeafNodes(), SearchAlphaBeta::Quiescence(), SearchBestMove(), sendInfoCurrMove(), and sendInfoSearching().
bool bSearchAlgorithm::m_iterativesearch = false |
Definition at line 109 of file search.h.
Referenced by bel_debug::run_bench(), SearchAlphaBeta::SearchAlphaBeta(), SearchAlphaBeta::SearchAlphaBeta(), SearchBestMove(), and SearchIterativeBF::SearchIterativeBF().