クラス テンプレート osl::checkmate::OracleDisprover< Table >

SimulationˤԵͤγǧ. [詳細]

#include <oracleDisprover.h>

osl::checkmate::OracleDisprover< Table >のコラボレーション図

Collaboration graph
[凡例]

すべてのメンバ一覧

Public 型

typedef NumEffectState state_t

Public メソッド

 OracleDisprover (Table &t)
template<Player Attacker>
bool proofNoCheckmate (state_t &state, const HashKey &key, const PathEncoding &path, const DisproofOracleAttack< Attacker > &oracle)
 oracle ˴Ťƨ뤫ɤȽꤹ.
template<Player Attacker>
bool proofEscape (state_t &state, const HashKey &key, const PathEncoding &path, const DisproofOracleDefense< Attacker > &oracle, Move &best_move, Move last_move=Move::INVALID())
 oracle ˴ŤͤǤʤɤȽꤹ.
int nodeCount () const
template<Player P>
void attack (CheckHashRecord *record, const DisproofOracleAttack< P > &oracle)
template<Player P>
void defense (CheckHashRecord *record, const DisproofOracleDefense< P > &oracle)
bool proofNoCheckmate (state_t &state, const PathEncoding &path, const CheckHashRecord *oracle, const PathEncoding &)
bool proofEscape (state_t &state, const PathEncoding &path, CheckHashRecord *oracle, const PathEncoding &, Move &, Move last_move=Move::INVALID())

Private メソッド

template<Player P>
void confirmNoEscape (CheckHashRecord *record)

Private 変数

Table & table
state_tstate
HashKey key
PathEncoding path
Player attacker
int node_count


説明

template<class Table>
class osl::checkmate::OracleDisprover< Table >

SimulationˤԵͤγǧ.

̤ԵͤȤʤΤߤ

oracleDisprover.h20 行で定義されています。


型定義

template<class Table>
typedef NumEffectState osl::checkmate::OracleDisprover< Table >::state_t

oracleDisprover.h23 行で定義されています。


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

template<class Table>
osl::checkmate::OracleDisprover< Table >::OracleDisprover ( Table &  t  )  [inline, explicit]

oracleDisprover.h32 行で定義されています。


関数

template<class Table>
template<osl::Player P>
bool osl::checkmate::OracleDisprover< Table >::proofNoCheckmate ( state_t state,
const HashKey &  key,
const PathEncoding path,
const DisproofOracleAttack< P > &  oracle 
) [inline]

template<class Table>
template<osl::Player P>
bool osl::checkmate::OracleDisprover< Table >::proofEscape ( state_t state,
const HashKey &  key,
const PathEncoding path,
const DisproofOracleDefense< P > &  oracle,
Move best_move,
Move  last_move = Move::INVALID() 
) [inline]

template<class Table>
int osl::checkmate::OracleDisprover< Table >::nodeCount (  )  const [inline]

oracleDisprover.h56 行で定義されています。

参照先 osl::checkmate::OracleDisprover< Table >::node_count.

template<class Table>
template<osl::Player P>
void osl::checkmate::OracleDisprover< Table >::attack ( CheckHashRecord record,
const DisproofOracleAttack< P > &  oracle 
) [inline]

oracleDisprover.tcc172 行で定義されています。

参照先 osl::checkmate::MoveFilter::addTarget(), osl::checkmate::CheckHashRecord::addToSolvedInAttack(), osl::checkmate::CheckTableUtil::allocate(), osl::alt(), osl::checkmate::DisproofPieces::attack(), osl::checkmate::CheckMoveListBase::begin(), osl::checkmate::CheckHashRecord::bestMove, osl::checkmate::CheckHashRecord::bestResultInSolved, osl::checkmate::ProofDisproof::betterForAttack(), check_assert, osl::checkmate::TwinList::clear(), osl::checkmate::CheckHashRecord::disproof(), osl::checkmate::ProofDisproof::disproof(), osl::checkmate::ProofDisproof::DISPROOF_LIMIT, osl::checkmate::CheckMoveListBase::empty(), osl::checkmate::CheckMoveListBase::end(), osl::checkmate::DisproofOracleAttack< Attacker >::expandOracle(), osl::checkmate::CheckHashRecord::filter, osl::checkmate::CheckHashRecord::findLoop(), osl::checkmate::DisproofOracleAttack< Attacker >::guide, osl::checkmate::ProofDisproof::isCheckmateFail(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), osl::checkmate::CheckHashRecord::isConsistent(), osl::checkmate::ProofDisproof::isFinal(), osl::checkmate::ProofDisproof::isLoopDetection(), osl::checkmate::ProofDisproof::isPawnDropFoul(), osl::checkmate::MoveFilter::isTarget(), osl::checkmate::DisproofOracleDefense< Attacker >::isValid(), osl::checkmate::DisproofOracleAttack< Attacker >::isValid(), osl::checkmate::CheckHashRecord::isVisited, osl::checkmate::OracleDisprover< Table >::key, osl::checkmate::DisproofPieces::leaf(), osl::checkmate::ProofDisproof::LoopDetection(), osl::eval::max(), osl::eval::min(), osl::checkmate::CheckHashRecord::moves, osl::checkmate::CheckHashRecord::needMoveGeneration(), osl::checkmate::ProofDisproof::NoCheckmate(), osl::checkmate::OracleDisprover< Table >::node_count, osl::checkmate::MoveFlags::NoPromote, osl::checkmate::OracleDisprover< Table >::path, osl::checkmate::ProofDisproof::PawnCheckmate(), osl::checkmate::CheckHashRecord::proof(), osl::checkmate::ProofDisproof::proof(), osl::checkmate::ProofDisproof::PROOF_LIMIT, osl::checkmate::CheckHashRecord::proofDisproof(), osl::checkmate::CheckHashRecord::propagateCheckmate(), osl::checkmate::CheckHashRecord::propagateNoCheckmate(), osl::checkmate::MoveFlags::SacrificeAttack, osl::checkmate::CheckHashRecord::sameBoards, osl::checkmate::CheckHashRecord::setDisproofPieces(), osl::checkmate::CheckmateRecorder::setLeaveReason(), osl::checkmate::CheckHashRecord::setLoopDetection(), osl::checkmate::CheckHashRecord::setLoopDetectionInAttack(), osl::checkmate::CheckmateRecorder::setNextMove(), osl::checkmate::CheckHashRecord::setProofDisproof(), osl::checkmate::CheckHashRecord::setProofPiecesAttack(), osl::checkmate::CheckMoveListBase::size(), osl::checkmate::CheckHashRecord::stand(), osl::checkmate::OracleDisprover< Table >::state, osl::checkmate::CheckmateRecorder::DepthTracer::stream(), osl::checkmate::OracleDisprover< Table >::table, osl::checkmate::CheckHashRecord::twins, osl::checkmate::MoveFlags::Upward, と osl::checkmate::CheckHashRecord::useMaxInsteadOfSum.

template<class Table>
template<osl::Player P>
void osl::checkmate::OracleDisprover< Table >::defense ( CheckHashRecord record,
const DisproofOracleDefense< P > &  oracle 
) [inline]

oracleDisprover.tcc440 行で定義されています。

参照先 osl::checkmate::CheckTableUtil::allocate(), osl::alt(), osl::checkmate::CheckMoveListBase::begin(), osl::checkmate::DisproofOracleDefense< Attacker >::best_move, osl::checkmate::CheckHashRecord::bestMove, check_assert, osl::checkmate::TwinList::clear(), osl::checkmate::CheckHashRecord::disproof(), osl::checkmate::ProofDisproof::disproof(), osl::checkmate::ProofDisproof::DISPROOF_LIMIT, osl::checkmate::CheckHashRecord::dump(), osl::checkmate::CheckMoveListBase::empty(), osl::checkmate::CheckMoveListBase::end(), osl::checkmate::DisproofOracleDefense< Attacker >::expandOracle(), osl::checkmate::CheckMove::findLoop(), osl::checkmate::CheckHashRecord::findLoop(), osl::checkmate::CheckHashRecord::getBestMove(), osl::checkmate::DisproofOracleDefense< Attacker >::guide, osl::checkmate::CheckHashRecord::hasBestMove(), osl::checkmate::ProofDisproof::isCheckmateFail(), osl::checkmate::CheckHashRecord::isConsistent(), osl::checkmate::ProofDisproof::isFinal(), osl::Move::isInvalid(), osl::checkmate::ProofDisproof::isLoopDetection(), osl::Move::isPass(), osl::Position::isPieceStand(), osl::checkmate::DisproofOracleAttack< Attacker >::isValid(), osl::checkmate::DisproofOracleDefense< Attacker >::isValid(), osl::checkmate::CheckHashRecord::isVisited, osl::checkmate::OracleDisprover< Table >::key, osl::KING, osl::checkmate::ProofPieces::leaf(), osl::eval::max(), osl::checkmate::CheckMoveCore::move, osl::checkmate::CheckHashRecord::moves, osl::checkmate::DisproofOracleDefense< Attacker >::next_guide, osl::checkmate::OracleDisprover< Table >::node_count, osl::checkmate::ProofDisproof::NoEscape(), osl::checkmate::DisproofOracleDefense< Attacker >::path, osl::checkmate::OracleDisprover< Table >::path, osl::checkmate::CheckHashRecord::proof(), osl::checkmate::ProofDisproof::proof(), osl::checkmate::ProofDisproof::PROOF_LIMIT, osl::checkmate::CheckHashRecord::proofDisproof(), osl::checkmate::CheckHashRecord::propagateCheckmate(), osl::checkmate::CheckHashRecord::propagateNoCheckmate(), osl::checkmate::CheckMoveCore::record, osl::checkmate::CheckHashRecord::sameBoards, osl::checkmate::CheckHashRecord::setDisproofPiecesDefense(), osl::checkmate::CheckmateRecorder::setLeaveReason(), osl::checkmate::CheckHashRecord::setLoopDetection(), osl::checkmate::CheckHashRecord::setLoopDetectionTryMerge(), osl::checkmate::CheckmateRecorder::setNextMove(), osl::checkmate::CheckHashRecord::setProofDisproof(), osl::checkmate::CheckHashRecord::setProofPieces(), osl::checkmate::CheckMoveListBase::size(), osl::checkmate::MoveFlags::Solved, osl::checkmate::CheckHashRecord::stand(), osl::checkmate::OracleDisprover< Table >::state, osl::checkmate::CheckmateRecorder::DepthTracer::stream(), osl::checkmate::OracleDisprover< Table >::table, と osl::checkmate::CheckHashRecord::twins.

template<class Table>
bool osl::checkmate::OracleDisprover< Table >::proofNoCheckmate ( state_t state,
const PathEncoding path,
const CheckHashRecord oracle,
const PathEncoding opath 
) [inline]

template<class Table>
bool osl::checkmate::OracleDisprover< Table >::proofEscape ( state_t state,
const PathEncoding path,
CheckHashRecord oracle,
const PathEncoding opath,
Move best_move,
Move  last_move = Move::INVALID() 
) [inline]

template<class Table>
template<osl::Player P>
void osl::checkmate::OracleDisprover< Table >::confirmNoEscape ( CheckHashRecord record  )  [inline, private]


変数

template<class Table>
Table& osl::checkmate::OracleDisprover< Table >::table [private]

template<class Table>
state_t* osl::checkmate::OracleDisprover< Table >::state [private]

template<class Table>
HashKey osl::checkmate::OracleDisprover< Table >::key [private]

template<class Table>
PathEncoding osl::checkmate::OracleDisprover< Table >::path [private]

template<class Table>
Player osl::checkmate::OracleDisprover< Table >::attacker [private]

oracleDisprover.h29 行で定義されています。

template<class Table>
int osl::checkmate::OracleDisprover< Table >::node_count [private]


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

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