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

Simulationˤͤγǧ. [詳細]

#include <oracleProver.h>

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

Collaboration graph
[凡例]

すべてのメンバ一覧

Public 型

typedef NumEffectState state_t

Public メソッド

 OracleProver (Table &t)
template<Player Attacker>
bool proofWin (state_t &state, const HashKey &key, const PathEncoding &path, ProofOracleAttack< Attacker > oracle, Move &best_move)
 oracle ˴Ťͤ뤫ɤȽꤹ
template<Player Attacker>
bool proofLose (state_t &state, const HashKey &key, const PathEncoding &path, ProofOracleDefense< Attacker > oracle, Move last_move=Move::INVALID())
 oracle ˴ŤͤǤ뤫ɤȽꤹ
int nodeCount () const
template<Player P>
void attack (CheckHashRecord *record, ProofOracleAttack< P > oracle)
template<Player P>
void defense (CheckHashRecord *record, ProofOracleDefense< P > oracle)
template<Player P>
void testFixedDepthAttack (CheckHashRecord *record, Move)
template<Player P>
void testFixedDepthDefense (CheckHashRecord *record, CheckMove &)
bool proofWin (state_t &state, const PathEncoding &path, const CheckHashRecord *oracle, Move &best_move)
bool proofLose (state_t &state, const PathEncoding &path, const CheckHashRecord *oracle, Move last_move=Move::INVALID())

Private 変数

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


説明

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

Simulationˤͤγǧ.

¦̤ǵͤΤߤ

oracleProver.h21 行で定義されています。


型定義

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

oracleProver.h24 行で定義されています。


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

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

oracleProver.h34 行で定義されています。


関数

template<class Table>
template<osl::Player P>
bool osl::checkmate::OracleProver< Table >::proofWin ( state_t state,
const HashKey &  key,
const PathEncoding path,
ProofOracleAttack< P >  oracle,
Move best_move 
) [inline]

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

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

oracleProver.h57 行で定義されています。

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

template<class Table>
template<osl::Player P>
void osl::checkmate::OracleProver< Table >::attack ( CheckHashRecord record,
ProofOracleAttack< P >  oracle 
) [inline]

oracleProver.tcc215 行で定義されています。

参照先 osl::PieceStand::add(), osl::checkmate::CheckTableUtil::allocate(), osl::alt(), osl::checkmate::OracleAdjust::attack(), osl::checkmate::CheckMoveListBase::begin(), osl::checkmate::CheckHashRecord::bestMove, check_assert, osl::checkmate::ProofDisproof::Checkmate(), osl::checkmate::CheckHashRecord::disproof(), osl::checkmate::ProofDisproof::disproof(), osl::checkmate::ProofDisproof::DISPROOF_LIMIT, osl::checkmate::CheckMoveListBase::empty(), osl::checkmate::CheckMoveListBase::end(), osl::checkmate::ProofOracleAttack< Attacker >::expandOracle(), osl::checkmate::CheckMove::findLoop(), osl::checkmate::CheckHashRecord::findLoop(), osl::checkmate::CheckMove::flags, osl::checkmate::CheckHashRecord::getBestMove(), osl::checkmate::ProofOracleAttack< Attacker >::guide, osl::checkmate::CheckHashRecord::hasBestMove(), osl::checkmate::CheckHashRecord::hasProofPieces(), osl::checkmate::MoveFlags::ImmediateCheckmate, osl::Move::INVALID(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), osl::checkmate::CheckHashRecord::isConsistent(), osl::Move::isDrop(), osl::checkmate::ProofDisproof::isFinal(), osl::checkmate::ProofDisproof::isPawnDropFoul(), osl::checkmate::MoveFlags::isSet(), osl::checkmate::ProofOracleDefense< Attacker >::isValid(), osl::checkmate::ProofOracleAttack< Attacker >::isValid(), osl::checkmate::CheckHashRecord::isVisited, osl::checkmate::OracleProver< Table >::key, osl::checkmate::DisproofPieces::leaf(), osl::eval::max(), osl::checkmate::CheckMoveCore::move, osl::checkmate::CheckHashRecord::moves, osl::checkmate::CheckHashRecord::needMoveGeneration(), osl::checkmate::ProofDisproof::NoCheckmate(), osl::checkmate::OracleProver< Table >::node_count, osl::checkmate::ProofOracleAttack< Attacker >::oracle(), osl::checkmate::OracleProver< Table >::path, osl::Move::player(), 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::Move::ptype(), osl::checkmate::CheckMoveCore::record, osl::checkmate::MoveFlags::set(), osl::checkmate::CheckHashRecord::setDisproofPieces(), osl::checkmate::CheckmateRecorder::setNextMove(), osl::checkmate::CheckMoveListBase::setOne(), osl::checkmate::CheckHashRecord::setProofDisproof(), osl::checkmate::CheckHashRecord::setProofPieces(), osl::checkmate::CheckHashRecord::setProofPiecesAttack(), osl::checkmate::CheckMoveListBase::size(), osl::checkmate::MoveFlags::Solved, osl::checkmate::CheckHashRecord::stand(), osl::checkmate::OracleProver< Table >::state, と osl::checkmate::OracleProver< Table >::table.

参照元 osl::checkmate::OracleProver< Table >::testFixedDepthAttack().

template<class Table>
template<osl::Player P>
void osl::checkmate::OracleProver< Table >::defense ( CheckHashRecord record,
ProofOracleDefense< P >  oracle 
) [inline]

oracleProver.tcc374 行で定義されています。

参照先 osl::checkmate::MoveFilter::addTarget(), osl::checkmate::CheckHashRecord::addToSolvedInDefense(), osl::checkmate::CheckTableUtil::allocate(), osl::alt(), osl::checkmate::CheckMoveListBase::begin(), osl::checkmate::CheckHashRecord::bestMove, osl::checkmate::CheckHashRecord::bestResultInSolved, osl::checkmate::MoveFlags::BlockingBySacrifice, check_assert, osl::checkmate::ProofPieces::defense(), osl::checkmate::CheckHashRecord::disproof(), osl::checkmate::ProofDisproof::disproof(), osl::checkmate::ProofDisproof::DISPROOF_LIMIT, osl::checkmate::CheckMoveListBase::empty(), osl::checkmate::CheckMoveListBase::end(), osl::checkmate::ProofOracleDefense< Attacker >::expandOracle(), osl::checkmate::CheckHashRecord::filter, osl::checkmate::CheckHashRecord::findLoop(), osl::checkmate::ProofDisproof::isCheckmateFail(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), osl::checkmate::CheckHashRecord::isConsistent(), osl::checkmate::ProofDisproof::isFinal(), osl::checkmate::ProofDisproof::isLoopDetection(), osl::Position::isPieceStand(), osl::checkmate::MoveFilter::isTarget(), osl::checkmate::ProofOracleAttack< Attacker >::isValid(), osl::checkmate::ProofOracleDefense< Attacker >::isValid(), osl::checkmate::CheckHashRecord::isVisited, osl::checkmate::OracleProver< Table >::key, osl::checkmate::ProofPieces::leaf(), osl::eval::max(), osl::eval::min(), osl::checkmate::CheckHashRecord::moves, osl::checkmate::CheckHashRecord::needMoveGeneration(), osl::checkmate::OracleProver< Table >::node_count, osl::checkmate::ProofDisproof::NoEscape(), osl::checkmate::OracleProver< 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::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::CheckHashRecord::stand(), osl::checkmate::OracleProver< Table >::state, osl::checkmate::OracleProver< Table >::table, osl::checkmate::MoveFlags::Upward, と osl::checkmate::CheckHashRecord::useMaxInsteadOfSum.

template<class Table>
template<osl::Player P>
void osl::checkmate::OracleProver< Table >::testFixedDepthAttack ( CheckHashRecord record,
Move  guide 
) [inline]

template<class Table>
template<osl::Player P>
void osl::checkmate::OracleProver< Table >::testFixedDepthDefense ( CheckHashRecord record,
CheckMove next_move 
) [inline]

template<class Table>
bool osl::checkmate::OracleProver< Table >::proofWin ( state_t state,
const PathEncoding path,
const CheckHashRecord oracle,
Move best_move 
) [inline]

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


変数

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

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

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

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

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

oracleProver.h30 行で定義されています。

template<class Table>
FixedDepthSearcher osl::checkmate::OracleProver< Table >::fixed_searcher [private]

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


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

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