クラス osl::search::SearchStateCore

QuiescenceSearch Ǥɬפʬ [詳細]

#include <searchState.h>

osl::search::SearchStateCoreに対する継承グラフ

Inheritance graph
[凡例]
osl::search::SearchStateCoreのコラボレーション図

Collaboration graph
[凡例]

すべてのメンバ一覧

Public 型

typedef DualCheckmateSearcher checkmate_t

Public メソッド

 SearchStateCore (const NumEffectState &s, checkmate_t &checker)
virtual ~SearchStateCore ()
int curDepth () const
const AlarmSwitch alarmSwitch ()
void setTimeOut (int seconds)
void resetTimeOut ()
bool timerAvailable () const
void testTimeOut ()
virtual void setState (const NumEffectState &s)
 state ΥԡԤ.
void setHistory (const MoveStack &h)
bool hasLastRecord (unsigned int n=0) const
SimpleHashRecord ** lastRecordPtr (unsigned int n=0)
SimpleHashRecordlastRecord (unsigned int n=0)
SimpleHashRecordrootRecord ()
void setRootRecord (SimpleHashRecord *root)
void setKillerMove (Move best_move)
void getBigramKillerMoves (MoveVector &moves) const
void getKillerMoves (MoveVector &moves) const
const BigramKillerMovebigramKillerMove () const
void setBigramKillerMove (const BigramKillerMove &killers)
const HistoryTablehistoryTable () const
void pushPass ()
void popPass ()
template<Player P, class Function, class Eval>
void doUndoMoveOrPass (const HashKey &new_hash, Move move, SimpleHashRecord **move_record, Function &f, Eval &e)
 ޤȤdoUndo
const Move lastMove (int i=1) const
const MoveStackhistory () const
const RecordStackrecordHistory () const
const PathEncodingpath () const
const NumEffectState & state () const
const checkmate_tcheckmateSearcher () const
const RepetitionCounterrepetitionCounter () const
const HashKey & currentHash () const
template<Player P, class Function>
void doUndoMoveLight (Move move, Function &f)
 ̲ doUndo , hash 򹹿ʤ
template<Player P>
bool isLosingState (int node_limit)
template<Player P>
bool isWinningState (int node_limit, Move &checkmate_move, AttackOracleAges &age)
template<Player P>
bool isWinningStateShort (int depth, Move &checkmate_move)
 FixedDepthSearcher Ƥ
template<Player P>
bool isThreatmateState (int node_limit, Move &threatmate_move, AttackOracleAges &age)
 P μ֤Pζ̤˵ͤäƤ뤫ɤ
template<Player P>
bool isThreatmateStateShort (int depth, Move &threatmate_move)
virtual bool abort (Move) const
bool tryThreatmate () const

Protected 変数

RecordStack record_stack
RepetitionCounter repetition_counter
boost::shared_ptr
< SearchStateShared
shared
volatile int stop_flag
 ͤˤäƤõ

Private メソッド

void throwTimeOut ()
void pushBeforeApply (Move move, SimpleHashRecord **record)
 ApplyMove˹Ԥ
void updateRepetitionCounterAfterMove (const HashKey &new_hash)
 pushBeforeApply θ塤ApplyMove桤FunctionƤ˸ƤФ
void popAfterApply ()
 ApplyMoveθ˹Ԥ

Private 変数

NumEffectState current_state
checkmate_tcheckmate_searcher
const Workerworker_cache
PathEncoding current_path
MoveStack move_history
KillerMoveTable killer_moves
int root_depth

フレンド

class Updator

構成

struct  UpdateWrapper
struct  Updator


説明

QuiescenceSearch Ǥɬפʬ

searchState.h47 行で定義されています。


型定義

searchState.h50 行で定義されています。


コンストラクタとデストラクタ

osl::search::SearchStateCore::SearchStateCore ( const NumEffectState &  s,
checkmate_t checker 
)

searchState.cc28 行で定義されています。

参照先 hasLastRecord(), と setState().

osl::search::SearchStateCore::~SearchStateCore (  )  [virtual]

searchState.cc37 行で定義されています。


関数

int osl::search::SearchStateCore::curDepth (  )  const [inline]

const AlarmSwitch osl::search::SearchStateCore::alarmSwitch (  )  [inline]

void osl::search::SearchStateCore::setTimeOut ( int  seconds  ) 

void osl::search::SearchStateCore::resetTimeOut (  ) 

bool osl::search::SearchStateCore::timerAvailable (  )  const [inline]

void osl::search::SearchStateCore::throwTimeOut (  )  [private]

searchState.cc63 行で定義されています。

参照先 resetTimeOut().

参照元 testTimeOut().

void osl::search::SearchStateCore::testTimeOut (  )  [inline]

void osl::search::SearchStateCore::setState ( const NumEffectState &  s  )  [virtual]

void osl::search::SearchStateCore::setHistory ( const MoveStack h  ) 

bool osl::search::SearchStateCore::hasLastRecord ( unsigned int  n = 0  )  const [inline]

SimpleHashRecord** osl::search::SearchStateCore::lastRecordPtr ( unsigned int  n = 0  )  [inline]

SimpleHashRecord* osl::search::SearchStateCore::lastRecord ( unsigned int  n = 0  )  [inline]

SimpleHashRecord* osl::search::SearchStateCore::rootRecord (  )  [inline]

void osl::search::SearchStateCore::setRootRecord ( SimpleHashRecord root  )  [inline]

void osl::search::SearchStateCore::setKillerMove ( Move  best_move  )  [inline]

void osl::search::SearchStateCore::getBigramKillerMoves ( MoveVector moves  )  const [inline]

void osl::search::SearchStateCore::getKillerMoves ( MoveVector moves  )  const [inline]

const BigramKillerMove& osl::search::SearchStateCore::bigramKillerMove (  )  const [inline]

void osl::search::SearchStateCore::setBigramKillerMove ( const BigramKillerMove killers  ) 

const HistoryTable& osl::search::SearchStateCore::historyTable (  )  const [inline]

void osl::search::SearchStateCore::pushPass (  )  [inline]

void osl::search::SearchStateCore::popPass (  )  [inline]

void osl::search::SearchStateCore::pushBeforeApply ( Move  move,
SimpleHashRecord **  record 
) [inline, private]

ApplyMove˹Ԥ

searchState.h181 行で定義されています。

参照先 move_history, osl::search::RecordStack::push(), osl::container::MoveStack::push(), と record_stack.

参照元 doUndoMoveOrPass().

void osl::search::SearchStateCore::updateRepetitionCounterAfterMove ( const HashKey &  new_hash  )  [inline, private]

pushBeforeApply θ塤ApplyMove桤FunctionƤ˸ƤФ

searchState.h220 行で定義されています。

参照先 current_state, osl::RepetitionCounter::push(), と repetition_counter.

参照元 osl::search::SearchStateCore::Updator::update().

void osl::search::SearchStateCore::popAfterApply (  )  [inline, private]

template<Player P, class Function, class Eval>
void osl::search::SearchStateCore::doUndoMoveOrPass ( const HashKey &  new_hash,
Move  move,
SimpleHashRecord **  move_record,
Function &  f,
Eval &  e 
) [inline]

const Move osl::search::SearchStateCore::lastMove ( int  i = 1  )  const [inline]

const MoveStack& osl::search::SearchStateCore::history (  )  const [inline]

const RecordStack& osl::search::SearchStateCore::recordHistory (  )  const [inline]

searchState.h250 行で定義されています。

参照先 record_stack.

参照元 osl::search::SearchState::countSacrificeCheck2().

const PathEncoding& osl::search::SearchStateCore::path (  )  const [inline]

const NumEffectState& osl::search::SearchStateCore::state (  )  const [inline]

searchState.h252 行で定義されています。

参照先 current_state.

参照元 abort(), osl::search::MTDF< Eval, MoveGenerator, Table, Recorder, Probabilities >::computeBestMove(), osl::search::MTDF< Eval, MoveGenerator, Table, Recorder, Probabilities >::computeBestMoveOfPlayer(), osl::search::QuiescenceSearch< EvalT >::currentState(), osl::search::QuiescenceSearch< EvalT >::currentValueWithLastThreat(), osl::search::QuiescenceSearch< EvalT >::examineCapture(), osl::search::SearchFramework< Eval, MoveGenerator, Table, Recorder, Probabilities >::examineMoves(), osl::search::QuiescenceSearch< EvalT >::examineMoves(), osl::search::SearchFramework< Eval, MoveGenerator, Table, Recorder, Probabilities >::examineOneMove(), osl::search::QuiescenceSearch< EvalT >::examineTakeBack(), osl::search::QuiescenceSearch< EvalT >::examineTakeBack2(), osl::search::QuiescenceSearch< EvalT >::generateAndExamineTakeBack2(), getBigramKillerMoves(), getKillerMoves(), osl::search::SearchFramework< Eval, MoveGenerator, Table, Recorder, Probabilities >::isReasonableMove(), osl::search::NullWindowSearch< Eval, MoveGenerator, Table, Recorder, Probabilities >::nullWindowSearch(), osl::search::NullWindowSearch< Eval, MoveGenerator, Table, Recorder, Probabilities >::nullWindowSearchAfterMove(), osl::search::NullWindowSearch< Eval, MoveGenerator, Table, Recorder, Probabilities >::nullWindowSearchOfTurn(), osl::search::SearchStateCore::UpdateWrapper< Function, Eval >::operator()(), osl::search::SearchFramework< Eval, MoveGenerator, Table, Recorder, Probabilities >::quiescenceValue(), osl::search::QuiescenceSearch< EvalT >::search(), osl::search::SearchFramework< Eval, MoveGenerator, Table, Recorder, Probabilities >::searchAllMoves(), osl::search::QuiescenceSearch< EvalT >::searchInternal(), osl::search::QuiescenceSearch< EvalT >::searchIteratively(), osl::search::QuiescenceSearch< EvalT >::searchMain(), osl::search::SearchFramework< Eval, MoveGenerator, Table, Recorder, Probabilities >::searchWithMove(), osl::search::MTDF< Eval, MoveGenerator, Table, Recorder, Probabilities >::setInitialGuess(), osl::search::QuiescenceSearch< EvalT >::staticValue(), osl::search::QuiescenceSearch< EvalT >::staticValueWithThreat(), osl::search::QuiescenceSearch< EvalT >::takeBackOrChase(), osl::search::QuiescenceSearch< EvalT >::takeBackValue(), osl::search::MTDF< Eval, MoveGenerator, Table, Recorder, Probabilities >::testMove(), と tryThreatmate().

const checkmate_t& osl::search::SearchStateCore::checkmateSearcher (  )  const [inline]

const RepetitionCounter& osl::search::SearchStateCore::repetitionCounter (  )  const [inline]

searchState.h254 行で定義されています。

参照先 repetition_counter.

参照元 osl::search::QuiescenceSearch< EvalT >::examineMoves().

const HashKey& osl::search::SearchStateCore::currentHash (  )  const [inline]

template<Player P, class Function>
void osl::search::SearchStateCore::doUndoMoveLight ( Move  move,
Function &  f 
) [inline]

template<Player P>
bool osl::search::SearchStateCore::isLosingState ( int  node_limit  )  [inline]

template<Player P>
bool osl::search::SearchStateCore::isWinningState ( int  node_limit,
Move checkmate_move,
AttackOracleAges age 
) [inline]

template<Player P>
bool osl::search::SearchStateCore::isWinningStateShort ( int  depth,
Move checkmate_move 
) [inline]

template<Player P>
bool osl::search::SearchStateCore::isThreatmateState ( int  node_limit,
Move threatmate_move,
AttackOracleAges age 
) [inline]

P μ֤Pζ̤˵ͤäƤ뤫ɤ

searchState.h305 行で定義されています。

参照先 checkmate_searcher, current_state, currentHash(), と path().

参照元 osl::search::QuiescenceSearch< EvalT >::staticValue().

template<Player P>
bool osl::search::SearchStateCore::isThreatmateStateShort ( int  depth,
Move threatmate_move 
) [inline]

bool osl::search::SearchStateCore::abort ( Move  best_move  )  const [virtual]

bool osl::search::SearchStateCore::tryThreatmate (  )  const [inline]


フレンドと関連する関数

friend class Updator [friend]

searchState.h216 行で定義されています。


変数

searchState.h53 行で定義されています。

参照元 checkmateSearcher(), isLosingState(), isThreatmateState(), と isWinningState().

searchState.h54 行で定義されています。

参照元 testTimeOut().

searchState.h64 行で定義されています。

参照元 doUndoMoveLight(), doUndoMoveOrPass(), path(), popPass(), pushPass(), setHistory(), と setState().

searchState.h67 行で定義されています。

参照元 curDepth(), setHistory(), と setState().

volatile int osl::search::SearchStateCore::stop_flag [protected]

ͤˤäƤõ

searchState.h75 行で定義されています。

参照元 alarmSwitch(), resetTimeOut(), setTimeOut(), testTimeOut(), と timerAvailable().


このクラスの説明は次のファイルから生成されました:

Thu Oct 8 05:01:18 2009に生成されました。  doxygen 1.5.6