#include <proofNumberTable.h>
構成 | |
| struct | Liberty |
| struct | Table |
Public メソッド | |
| ProofNumberTable () | |
| const Liberty | countLiberty (Ptype ptype, Direction d, unsigned int liberty_mask) const |
| dir 方向からの王手をかけた時のlibertyの予想 | |
| const Liberty | countLibertyShortNotKnight (Player player, Position to, Ptype ptype, Position king, King8Info info) const |
| 8近傍へのdropまたは取れない移動後のlibertyの予測値を返す. | |
| const Liberty | countLibertyLong (Player player, Position to, Ptype ptype, Position king, King8Info info) const |
| int | countLiberty (const NumEffectState &state, int liberty_count, Move move, Position king, King8Info info) const |
| move は王手である必要がある | |
| int | countLiberty (const NumEffectState &state, Move move) const |
| テスト用 | |
| int | libertyAfterAllDrop (const NumEffectState &state) const |
| drop のみ | |
| int | libertyAfterAllDrop (const NumEffectState &state, Player attack, King8Info info) const |
| int | libertyAfterAllMove (const NumEffectState &state) const |
| 移動 のみ | |
| int | libertyAfterAllMove (const NumEffectState &state, Player attack, King8Info info, Position king) const |
| int | libertyAfterAllCheck (const NumEffectState &state) const |
| 全て | |
| int | disproofAfterAllCheck (const NumEffectState &, Player, King8Info) const |
| const ProofDisproof | attackEstimation (const NumEffectState &state) const |
| 全て | |
| const ProofDisproof | attackEstimation (const NumEffectState &state, Player attack, King8Info info, Position king) const |
Private 変数 | |
| boost::scoped_ptr< Table > | table |
proofNumberTable.h の 21 行で定義されています。
| osl::checkmate::ProofNumberTable::ProofNumberTable | ( | ) |
proofNumberTable.cc の 74 行で定義されています。
参照先 osl::misc::BitOp::countBit(), osl::dirToMask(), osl::PtypeTable::getMoveMask(), osl::GOLD, osl::checkmate::ProofNumberTable::Liberty::has_effect, osl::isPiece(), osl::KING, osl::checkmate::ProofNumberTable::Liberty::liberty, osl::LONG_DIRECTION_MAX, osl::LONG_DIRECTION_MIN, osl::eval::max(), osl::eval::min(), osl::PBISHOP, osl::PKNIGHT, osl::PLANCE, osl::PPAWN, osl::PROOK, osl::PSILVER, osl::PTYPE_BASIC_MIN, osl::PTYPE_MAX, osl::PTYPE_PIECE_MIN, osl::Ptype_Table, osl::shortToLong(), table, と osl::U.
| const osl::checkmate::ProofDisproof osl::checkmate::ProofNumberTable::attackEstimation | ( | const NumEffectState & | state, | |
| Player | attack, | |||
| King8Info | info, | |||
| Position | king | |||
| ) | const |
proofNumberTable.cc の 335 行で定義されています。
参照先 disproofAfterAllCheck(), libertyAfterAllDrop(), libertyAfterAllMove(), と osl::eval::min().
| const osl::checkmate::ProofDisproof osl::checkmate::ProofNumberTable::attackEstimation | ( | const NumEffectState & | state | ) | const |
全て
proofNumberTable.cc の 348 行で定義されています。
参照先 osl::alt().
参照元 osl::checkmate::FixedDepthSearcher2::attack(), osl::checkmate::FixedDepthSearcher::attack(), と libertyAfterAllCheck().
| int osl::checkmate::ProofNumberTable::countLiberty | ( | const NumEffectState & | state, | |
| Move | move | |||
| ) | const |
| int osl::checkmate::ProofNumberTable::countLiberty | ( | const NumEffectState & | state, | |
| int | liberty_count, | |||
| Move | move, | |||
| Position | king, | |||
| King8Info | info | |||
| ) | const [inline] |
move は王手である必要がある
proofNumberTable.h の 112 行で定義されています。
参照先 osl::alt(), osl::misc::BitOp::countBit(), countLibertyLong(), countLibertyShortNotKnight(), osl::checkmate::ProofNumberTable::Liberty::has_effect, osl::move_generator::addeffect8::hasEffect(), osl::Move::isDrop(), osl::Neighboring8::isNeighboring8(), osl::KNIGHT, osl::checkmate::ProofNumberTable::Liberty::liberty, osl::checkmate::King8Info::liberty(), osl::eval::max(), osl::Move::player(), osl::Move::ptype(), と osl::Move::to().
| const Liberty osl::checkmate::ProofNumberTable::countLiberty | ( | Ptype | ptype, | |
| Direction | d, | |||
| unsigned int | liberty_mask | |||
| ) | const [inline] |
dir 方向からの王手をかけた時のlibertyの予想
proofNumberTable.h の 62 行で定義されています。
参照先 table, osl::UUL, と osl::UUR.
参照元 osl::checkmate::PureLibertyEstimator::attackH(), countLiberty(), countLibertyLong(), と countLibertyShortNotKnight().
| const Liberty osl::checkmate::ProofNumberTable::countLibertyLong | ( | Player | player, | |
| Position | to, | |||
| Ptype | ptype, | |||
| Position | king, | |||
| King8Info | info | |||
| ) | const [inline] |
proofNumberTable.h の 86 行で定義されています。
参照先 osl::BLACK, osl::Board_Table, countLiberty(), osl::BoardTable::getLongDirection(), osl::BoardTable::getShortOffsetNotKnight(), osl::isLong(), osl::isMajor(), osl::Neighboring8::isNeighboring8(), osl::LANCE, osl::checkmate::King8Info::liberty(), osl::unpromote(), osl::WHITE, と osl::Offset::zero().
参照元 countLiberty().
| const Liberty osl::checkmate::ProofNumberTable::countLibertyShortNotKnight | ( | Player | player, | |
| Position | to, | |||
| Ptype | ptype, | |||
| Position | king, | |||
| King8Info | info | |||
| ) | const [inline] |
8近傍へのdropまたは取れない移動後のlibertyの予測値を返す.
玉は取り返せる時でも取り返さない値. 桂馬は表をひく必要がないので呼び出し側で処理する.
proofNumberTable.h の 74 行で定義されています。
参照先 osl::BLACK, osl::Board_Table, countLiberty(), osl::BoardTable::getShort8(), osl::Neighboring8::isNeighboring8(), osl::KNIGHT, osl::checkmate::King8Info::liberty(), と osl::WHITE.
参照元 countLiberty().
| int osl::checkmate::ProofNumberTable::libertyAfterAllCheck | ( | const NumEffectState & | state | ) | const |
全て
proofNumberTable.cc の 357 行で定義されています。
参照先 attackEstimation(), と osl::checkmate::ProofDisproof::proof().
| int osl::checkmate::ProofNumberTable::libertyAfterAllDrop | ( | const NumEffectState & | state | ) | const |
| int osl::checkmate::ProofNumberTable::libertyAfterAllMove | ( | const NumEffectState & | state, | |
| Player | attack, | |||
| King8Info | info, | |||
| Position | king | |||
| ) | const |
proofNumberTable.cc の 254 行で定義されています。
参照先 osl::alt(), osl::BLACK, osl::Board_Table, osl::Position::canPromote(), osl::BoardTable::getOffset(), osl::GOLD, osl::move_generator::addeffect8::hasEffect(), osl::PtypeTraits< BISHOP >::indexMin, osl::isMajor(), osl::Piece::isOnBoardByOwner(), osl::isPromoted(), osl::checkmate::King8Info::liberty(), osl::checkmate::King8Info::moveCandidateMask(), osl::Piece::position(), osl::Position::positionForBlack(), osl::Piece::ptype(), osl::Piece::ptypeO(), result, table, osl::U, osl::WHITE, と osl::Position::y().
| int osl::checkmate::ProofNumberTable::libertyAfterAllMove | ( | const NumEffectState & | state | ) | const |
boost::scoped_ptr<Table> osl::checkmate::ProofNumberTable::table [private] |
proofNumberTable.h の 55 行で定義されています。
参照元 countLiberty(), libertyAfterAllDrop(), libertyAfterAllMove(), と ProofNumberTable().
1.6.3