#include <bigramPosition.h>
Public 型 | |
typedef std::map< int, osl::stl::vector< std::pair < int, int > > > | map_t |
Public メソッド | |
KingNeighborBigramTable () | |
KingNeighborBigramTable (const char *oslHome, const char *name) | |
void | init (const char *filename) |
void | generate (const CategoryEnv &env, MoveLogProbVector &out, int back) const |
int | probability (const CategoryEnv &env, Move, int back) const |
Private メソッド | |
bool | isIn5x5 (const osl::Position kingPosition, const osl::Position targetPosition) const |
bool | isAttackByMajorPiece (const osl::category::CategoryEnv::effect_state_t &, const osl::Position pos, const osl::Ptype ptype, const osl::Player turn) const |
Private 変数 | |
boost::scoped_ptr< map_t > | table |
int | min |
bigramPosition.h の 131 行で定義されています。
typedef std::map<int,osl::stl::vector<std::pair<int, int> > > osl::category::KingNeighborBigramTable::map_t |
bigramPosition.h の 133 行で定義されています。
osl::category::KingNeighborBigramTable::KingNeighborBigramTable | ( | ) |
bigramPosition.cc の 312 行で定義されています。
osl::category::KingNeighborBigramTable::KingNeighborBigramTable | ( | const char * | oslHome, | |
const char * | name | |||
) |
void osl::category::KingNeighborBigramTable::init | ( | const char * | filename | ) |
bigramPosition.cc の 328 行で定義されています。
参照先 osl::category::CategoryTraits::maxProb(), osl::eval::min(), と min.
void osl::category::KingNeighborBigramTable::generate | ( | const CategoryEnv & | env, | |
MoveLogProbVector & | out, | |||
int | back | |||
) | const |
bigramPosition.cc の 399 行で定義されています。
参照先 osl::alt(), osl::category::bigramHelper, osl::Position::canPromote(), osl::Move::capturePtype(), osl::Move::from(), osl::GOLD, osl::category::CategoryEnv::history, osl::category::BigramHelper::indexToMove(), isAttackByMajorPiece(), isIn5x5(), osl::Move::isInvalid(), osl::Move::isNormal(), osl::Position::isPieceStand(), osl::isPromoted(), osl::KING, osl::container::MoveStack::lastMove(), osl::category::CategoryEnv::limit, osl::Move::player(), osl::promote(), osl::Move::ptype(), osl::container::MoveLogProbVector::push_back(), osl::category::CategoryEnv::state, table, osl::Move::to(), と osl::category::BigramHelper::toIndex().
参照元 osl::category::BigramDefense::generate(), と osl::category::BigramAttack::generate().
int osl::category::KingNeighborBigramTable::probability | ( | const CategoryEnv & | env, | |
Move | move, | |||
int | back | |||
) | const |
bigramPosition.cc の 449 行で定義されています。
参照先 osl::alt(), osl::category::bigramHelper, osl::category::CategoryEnv::history, isAttackByMajorPiece(), isIn5x5(), osl::Move::isNormal(), osl::container::MoveStack::lastMove(), osl::category::CategoryEnv::limit, osl::category::BigramHelper::moveToValue(), osl::Move::ptype(), osl::category::CategoryEnv::state, table, osl::Move::to(), と osl::category::BigramHelper::toIndex().
bool osl::category::KingNeighborBigramTable::isIn5x5 | ( | const osl::Position | kingPosition, | |
const osl::Position | targetPosition | |||
) | const [private] |
bigramPosition.cc の 367 行で定義されています。
参照先 osl::Position::x(), と osl::Position::y().
参照元 generate(), と probability().
bool osl::category::KingNeighborBigramTable::isAttackByMajorPiece | ( | const osl::category::CategoryEnv::effect_state_t & | state, | |
const osl::Position | pos, | |||
const osl::Ptype | ptype, | |||
const osl::Player | turn | |||
) | const [private] |
boost::scoped_ptr<map_t> osl::category::KingNeighborBigramTable::table [private] |
int osl::category::KingNeighborBigramTable::min [private] |