#include <ntesukiSimulationSearcher.h>
Public メソッド | |
NtesukiSimulationSearcher (state_t &state, NtesukiMoveGenerator *mg, PathEncoding &path, NtesukiTable &table, NtesukiRecord::ISScheme isscheme, bool verbose=false) | |
~NtesukiSimulationSearcher () | |
template<Player P> | |
bool | startFromAttackProof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move) |
Start simulation to proof, P as Attacker. | |
template<Player P> | |
bool | startFromDefenseProof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move) |
Start simulation to proof, P as Defender. | |
template<Player P> | |
bool | startFromAttackDisproof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move) |
Start simulation to disproof, P as Attacker. | |
template<Player P> | |
bool | startFromDefenseDisproof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move) |
Start simulation to disproof, P as Defender. | |
unsigned int | nodeCount () const |
Public 変数 | |
bool | debug |
Private メソッド | |
template<Player P> | |
bool | isSafeMove (const Move move, int pass_left) |
Still cannot see if is safe move | |
template<Player P> | |
Move | adjustMove (Move candidate) const |
template<Player P> | |
void | attackForProof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move) |
Proof ˴ؤ | |
template<Player P> | |
void | defenseForProof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move) |
Disproof ɸ˴ؤ | |
template<Player P> | |
void | attackForDisproof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move) |
Disproof ˴ؤ | |
template<Player P> | |
void | defenseForDisproof (NtesukiRecord *record, const NtesukiRecord *record_orig, const unsigned int passLeft, const Move last_move) |
Disproof ɸ˴ؤ | |
Private 変数 | |
unsigned int | node_count |
ߤޤǤ˲Ρɤ | |
bool | verbose |
вɤޤɽ뤫 | |
unsigned int | proof_count |
Simulation ̤ | |
unsigned int | proof_success_count |
unsigned int | light_proof_success_count |
unsigned int | disproof_count |
unsigned int | disproof_success_count |
NtesukiResult | result |
state_t & | state |
NtesukiMoveGenerator * | mg |
PathEncoding & | path |
NtesukiTable & | table |
NtesukiRecord::ISScheme | isscheme |
構成 | |
class | AttackHelperDisproof |
class | AttackHelperProof |
class | DefenseHelperDisproof |
class | DefenseHelperProof |
ntesukiSimulationSearcher.h の 15 行で定義されています。
osl::ntesuki::NtesukiSimulationSearcher::NtesukiSimulationSearcher | ( | state_t & | state, | |
NtesukiMoveGenerator * | mg, | |||
PathEncoding & | path, | |||
NtesukiTable & | table, | |||
NtesukiRecord::ISScheme | isscheme, | |||
bool | verbose = false | |||
) |
ntesukiSimulationSearcher.cc の 10 行で定義されています。
osl::ntesuki::NtesukiSimulationSearcher::~NtesukiSimulationSearcher | ( | ) |
ntesukiSimulationSearcher.cc の 34 行で定義されています。
参照先 disproof_count, disproof_success_count, light_proof_success_count, node_count, proof_count, proof_success_count, と verbose.
bool NtesukiSimulationSearcher::isSafeMove | ( | const Move | move, | |
int | pass_left | |||
) | [inline, private] |
Still cannot see if is safe move
ntesukiSimulationSearcherProof.tcc の 130 行で定義されています。
参照先 osl::Move::from(), osl::Move::isDrop(), osl::Move::ptype(), state, と osl::Move::to().
Move osl::ntesuki::NtesukiSimulationSearcher::adjustMove | ( | Move | candidate | ) | const [inline, private] |
ntesukiSimulationSearcher.h の 56 行で定義されています。
参照先 osl::Move::isDrop(), osl::Move::isValid(), osl::Move::setCapturePtype(), と osl::Move::to().
void NtesukiSimulationSearcher::attackForProof | ( | NtesukiRecord * | record, | |
const NtesukiRecord * | record_orig, | |||
const unsigned int | passLeft, | |||
const Move | last_move | |||
) | [inline, private] |
Proof ˴ؤ
ntesukiSimulationSearcherProof.tcc の 143 行で定義されています。
参照先 osl::ntesuki::NtesukiTable::allocateWithMove(), CATCH_DFPN, osl::checkmate::ProofDisproof::Checkmate(), osl::ntesuki::NtesukiTable::findWithMoveConst(), osl::ntesuki::NtesukiRecord::getBestMove(), osl::ntesuki::NtesukiMove::getMove(), osl::effect::NumSimpleEffect< State >::getTurn(), osl::ntesuki::NtesukiRecord::getValueWithPath(), osl::ntesuki::NtesukiMove::isCheck(), osl::checkmate::ProofDisproof::isCheckmateFail(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), osl::checkmate::ProofDisproof::isFinal(), osl::ntesuki::NtesukiMove::isImmediateCheckmate(), osl::ntesuki::NtesukiMove::isInvalid(), osl::checkmate::ProofDisproof::isPawnDropFoul(), osl::checkmate::ProofDisproof::isUnknown(), osl::Move::isValid(), osl::ntesuki::NtesukiMove::isValid(), osl::ntesuki::NtesukiRecord::isVisited(), osl::checkmate::ProofDisproof::LoopDetection(), osl::checkmate::ProofDisproof::NoCheckmate(), node_count, ntesuki_assert, path, osl::checkmate::ProofDisproof::PawnCheckmate(), result, RETURN, osl::ntesuki::NtesukiMove::setCheckmateSuccess(), osl::ntesuki::NtesukiRecord::setResult(), osl::ntesuki::NtesukiRecord::setUpNode(), state, table, と TRY_DFPN.
void NtesukiSimulationSearcher::defenseForProof | ( | NtesukiRecord * | record, | |
const NtesukiRecord * | record_orig, | |||
const unsigned int | passLeft, | |||
const Move | last_move | |||
) | [inline, private] |
Disproof ɸ˴ؤ
ntesukiSimulationSearcherProof.tcc の 304 行で定義されています。
参照先 osl::ntesuki::NtesukiTable::allocateWithMove(), osl::checkmate::ProofDisproof::AttackBack(), CATCH_DFPN, osl::checkmate::ProofDisproof::Checkmate(), osl::ntesuki::NtesukiRecord::delay_is, osl::ntesuki::NtesukiTable::findWithMoveConst(), osl::ntesuki::NtesukiRecord::generateMoves(), osl::ntesuki::NtesukiMove::getMove(), osl::effect::NumSimpleEffect< State >::getTurn(), osl::ntesuki::NtesukiRecord::getValue(), osl::ntesuki::NtesukiRecord::getValueWithPath(), osl::ntesuki::NtesukiMove::INVALID(), osl::ntesuki::NtesukiMove::isCheck(), osl::checkmate::ProofDisproof::isCheckmateFail(), osl::ntesuki::NtesukiMove::isCheckmateSuccess(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), osl::checkmate::ProofDisproof::isFinal(), osl::ntesuki::NtesukiMove::isPass(), isscheme, osl::ntesuki::NtesukiRecord::isVisited(), osl::checkmate::ProofDisproof::LoopDetection(), moves, osl::checkmate::ProofDisproof::NoCheckmate(), node_count, osl::checkmate::ProofDisproof::NoEscape(), osl::ntesuki::NtesukiRecord::normal_is, ntesuki_assert, path, result, RETURN, osl::ntesuki::NtesukiRecord::setLoopWithPath(), osl::ntesuki::NtesukiRecord::setResult(), osl::ntesuki::NtesukiRecord::setUpNode(), state, table, と TRY_DFPN.
void NtesukiSimulationSearcher::attackForDisproof | ( | NtesukiRecord * | record, | |
const NtesukiRecord * | record_orig, | |||
const unsigned int | passLeft, | |||
const Move | last_move | |||
) | [inline, private] |
Disproof ˴ؤ
ntesukiSimulationSearcherDisproof.tcc の 92 行で定義されています。
参照先 osl::ntesuki::NtesukiTable::allocateWithMove(), CATCH_DFPN, osl::checkmate::ProofDisproof::Checkmate(), osl::ntesuki::NtesukiTable::findWithMoveConst(), osl::ntesuki::NtesukiRecord::generateMoves(), osl::ntesuki::NtesukiRecord::getBestMove(), osl::ntesuki::NtesukiMove::getMove(), osl::effect::NumSimpleEffect< State >::getTurn(), osl::ntesuki::NtesukiRecord::getValue(), osl::ntesuki::NtesukiRecord::getValueWithPath(), osl::ntesuki::NtesukiMove::INVALID(), osl::ntesuki::NtesukiMove::isCheck(), osl::ntesuki::NtesukiMove::isCheckmateFail(), osl::checkmate::ProofDisproof::isCheckmateFail(), osl::checkmate::ProofDisproof::isFinal(), osl::ntesuki::NtesukiMove::isInvalid(), osl::ntesuki::NtesukiMove::isNoPromote(), osl::ntesuki::NtesukiMove::isPass(), osl::ntesuki::NtesukiRecord::isVisited(), osl::checkmate::ProofDisproof::LoopDetection(), moves, osl::checkmate::ProofDisproof::NoCheckmate(), node_count, ntesuki_assert, path, result, RETURN, osl::ntesuki::NtesukiMove::setCheckmateFail(), osl::ntesuki::NtesukiRecord::setLoopWithPath(), osl::ntesuki::NtesukiRecord::setResult(), osl::ntesuki::NtesukiRecord::setUpNode(), state, table, と TRY_DFPN.
void NtesukiSimulationSearcher::defenseForDisproof | ( | NtesukiRecord * | record, | |
const NtesukiRecord * | record_orig, | |||
const unsigned int | passLeft, | |||
const Move | last_move | |||
) | [inline, private] |
Disproof ɸ˴ؤ
ntesukiSimulationSearcherDisproof.tcc の 252 行で定義されています。
参照先 osl::ntesuki::NtesukiTable::allocateWithMove(), CATCH_DFPN, osl::checkmate::ProofDisproof::Checkmate(), osl::ntesuki::NtesukiTable::findWithMoveConst(), osl::ntesuki::NtesukiRecord::getBestMove(), osl::ntesuki::NtesukiMove::getMove(), osl::effect::NumSimpleEffect< State >::getTurn(), osl::ntesuki::NtesukiRecord::getValue(), osl::ntesuki::NtesukiRecord::getValueWithPath(), osl::ntesuki::NtesukiMove::INVALID(), osl::checkmate::ProofDisproof::isCheckmateFail(), osl::checkmate::ProofDisproof::isFinal(), osl::ntesuki::NtesukiMove::isInvalid(), osl::ntesuki::NtesukiMove::isPass(), osl::ntesuki::NtesukiRecord::isVisited(), osl::checkmate::ProofDisproof::LoopDetection(), node_count, ntesuki_assert, path, result, RETURN, osl::ntesuki::NtesukiRecord::setLoopWithPath(), osl::ntesuki::NtesukiRecord::setResult(), osl::ntesuki::NtesukiRecord::setUpNode(), state, table, と TRY_DFPN.
template bool osl::ntesuki::NtesukiSimulationSearcher::startFromAttackProof< WHITE > | ( | NtesukiRecord * | record, | |
const NtesukiRecord * | record_orig, | |||
const unsigned int | passLeft, | |||
const Move | last_move | |||
) | [inline] |
Start simulation to proof, P as Attacker.
ntesukiSimulationSearcherProof.tcc の 494 行で定義されています。
参照先 CATCH_DFPN, osl::checkmate::ProofDisproof::Checkmate(), osl::ntesuki::NtesukiRecord::getBestMove(), osl::effect::NumSimpleEffect< State >::getTurn(), osl::ntesuki::NtesukiRecord::getValueWithPath(), osl::checkmate::ProofDisproof::isCheckmateFail(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), osl::ntesuki::NtesukiRecord::isDominatedByProofPieces(), osl::ntesuki::NtesukiMove::isImmediateCheckmate(), isscheme, light_proof_success_count, mg, osl::checkmate::ProofDisproof::NoCheckmate(), ntesuki_assert, path, proof_count, proof_success_count, result, osl::ntesuki::NtesukiRecord::setUpNode(), osl::ntesuki::OracleProverLight::startFromAttack(), state, table, と TRY_DFPN.
template bool osl::ntesuki::NtesukiSimulationSearcher::startFromDefenseProof< WHITE > | ( | NtesukiRecord * | record, | |
const NtesukiRecord * | record_orig, | |||
const unsigned int | passLeft, | |||
const Move | last_move | |||
) | [inline] |
Start simulation to proof, P as Defender.
ntesukiSimulationSearcherProof.tcc の 573 行で定義されています。
参照先 CATCH_DFPN, osl::checkmate::ProofDisproof::Checkmate(), osl::ntesuki::NtesukiRecord::getBestMove(), osl::effect::NumSimpleEffect< State >::getTurn(), osl::ntesuki::NtesukiRecord::getValueWithPath(), osl::checkmate::ProofDisproof::isCheckmateFail(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), osl::ntesuki::NtesukiRecord::isDominatedByProofPieces(), osl::ntesuki::NtesukiMove::isImmediateCheckmate(), isscheme, light_proof_success_count, mg, osl::checkmate::ProofDisproof::NoCheckmate(), ntesuki_assert, path, proof_count, proof_success_count, result, osl::ntesuki::NtesukiRecord::setUpNode(), osl::ntesuki::OracleProverLight::startFromDefense(), state, table, と TRY_DFPN.
template bool osl::ntesuki::NtesukiSimulationSearcher::startFromAttackDisproof< WHITE > | ( | NtesukiRecord * | record, | |
const NtesukiRecord * | record_orig, | |||
const unsigned int | passLeft, | |||
const Move | last_move | |||
) | [inline] |
Start simulation to disproof, P as Attacker.
ntesukiSimulationSearcherDisproof.tcc の 396 行で定義されています。
参照先 CATCH_DFPN, disproof_count, disproof_success_count, osl::ntesuki::NtesukiRecord::getValue(), osl::checkmate::ProofDisproof::isCheckmateFail(), ntesuki_assert, result, と TRY_DFPN.
template bool osl::ntesuki::NtesukiSimulationSearcher::startFromDefenseDisproof< WHITE > | ( | NtesukiRecord * | record, | |
const NtesukiRecord * | record_orig, | |||
const unsigned int | passLeft, | |||
const Move | last_move | |||
) | [inline] |
Start simulation to disproof, P as Defender.
ntesukiSimulationSearcherDisproof.tcc の 424 行で定義されています。
参照先 CATCH_DFPN, disproof_count, disproof_success_count, osl::effect::NumSimpleEffect< State >::getTurn(), osl::ntesuki::NtesukiRecord::getValue(), osl::checkmate::ProofDisproof::isCheckmateFail(), ntesuki_assert, result, state, と TRY_DFPN.
unsigned int osl::ntesuki::NtesukiSimulationSearcher::nodeCount | ( | ) | const [inline] |
ntesukiSimulationSearcher.h の 153 行で定義されています。
unsigned int osl::ntesuki::NtesukiSimulationSearcher::node_count [private] |
ߤޤǤ˲Ρɤ
ntesukiSimulationSearcher.h の 19 行で定義されています。
参照元 attackForDisproof(), attackForProof(), defenseForDisproof(), defenseForProof(), と ~NtesukiSimulationSearcher().
bool osl::ntesuki::NtesukiSimulationSearcher::verbose [private] |
unsigned int osl::ntesuki::NtesukiSimulationSearcher::proof_count [private] |
Simulation ̤
ntesukiSimulationSearcher.h の 24 行で定義されています。
参照元 startFromAttackProof(), startFromDefenseProof(), と ~NtesukiSimulationSearcher().
unsigned int osl::ntesuki::NtesukiSimulationSearcher::proof_success_count [private] |
ntesukiSimulationSearcher.h の 25 行で定義されています。
参照元 startFromAttackProof(), startFromDefenseProof(), と ~NtesukiSimulationSearcher().
unsigned int osl::ntesuki::NtesukiSimulationSearcher::light_proof_success_count [private] |
ntesukiSimulationSearcher.h の 26 行で定義されています。
参照元 startFromAttackProof(), startFromDefenseProof(), と ~NtesukiSimulationSearcher().
unsigned int osl::ntesuki::NtesukiSimulationSearcher::disproof_count [private] |
ntesukiSimulationSearcher.h の 27 行で定義されています。
参照元 startFromAttackDisproof(), startFromDefenseDisproof(), と ~NtesukiSimulationSearcher().
unsigned int osl::ntesuki::NtesukiSimulationSearcher::disproof_success_count [private] |
ntesukiSimulationSearcher.h の 28 行で定義されています。
参照元 startFromAttackDisproof(), startFromDefenseDisproof(), と ~NtesukiSimulationSearcher().
ntesukiSimulationSearcher.h の 30 行で定義されています。
ntesukiSimulationSearcher.h の 37 行で定義されています。
参照元 defenseForProof(), startFromAttackProof(), と startFromDefenseProof().