Public メソッド | Protected 変数 | Private メソッド

クラス osl::checkmate::FixedDepthSearcher

深さ固定で,その深さまで depth first searchで読む詰将棋. [詳細]

#include <fixedDepthSearcher.h>

osl::checkmate::FixedDepthSearcherに対する継承グラフ
Inheritance graph
[凡例]
osl::checkmate::FixedDepthSearcherのコラボレーション図
Collaboration graph
[凡例]

すべてのメンバ一覧

Public メソッド

 FixedDepthSearcher ()
 FixedDepthSearcher (NumEffectState &s)
void setState (NumEffectState &s)
int getCount () const
const PieceStand stand (Player P) const
template<Player P, class SetPieces , bool HasGuide>
const ProofDisproof attack (int depth, Move &best_move, PieceStand &proof_pieces)
template<Player P, class SetPieces , bool HasGuide>
const ProofDisproof attackMayUnsafe (int depth, Move &best_move, PieceStand &proof_pieces)
template<Player P, class SetPieces >
const ProofDisproof defense (Move last_move, int depth, PieceStand &proof_pieces)
template<Player P>
const ProofDisproof hasCheckmateMove (int depth, Move &best_move)
template<Player P>
const ProofDisproof hasCheckmateMove (int depth)
template<Player P>
const ProofDisproof hasEscapeMove (Move last_move, int depth)
template<Player P>
const ProofDisproof hasEscapeByMove (Move next_move, int depth)
const ProofDisproof hasCheckmateMoveOfTurn (int depth, Move &best_move)
const ProofDisproof hasEscapeMoveOfTurn (Move last_move, int depth)
const ProofDisproof hasEscapeByMoveOfTurn (Move next_move, int depth)
template<Player Defense>
void generateBlockingWhenLiberty0 (Piece defense_king, Square attack_from, CheckMoveVector &moves) const
 無駄合をなるべく生成しない,合駒生成
template<Player Defense>
int blockEstimation (Square attack_from, Square defense_king) const

Protected 変数

NumEffectStatestate
int count

Private メソッド

void addCount ()
template<Player P, class SetPieces >
const ProofDisproof defenseEstimation (Move last_move, PieceStand &proof_pieces, Piece attacker_piece, Square target_position) const
 move を作らずに ProofDisproof の予測を計算する

説明

深さ固定で,その深さまで depth first searchで読む詰将棋.

深さ0で詰み状態かどうか(攻め手の手番の場合),王手をかける手がないかを判定可能 深さ1で通常の一手詰みを判定(攻め手の手番の場合) 使うのは深さ3位まで? NumEffectState専用

fixedDepthSearcher.h40 行で定義されています。


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

osl::checkmate::FixedDepthSearcher::FixedDepthSearcher (  )  [inline]

fixedDepthSearcher.h46 行で定義されています。

osl::checkmate::FixedDepthSearcher::FixedDepthSearcher ( NumEffectState s  )  [inline, explicit]

fixedDepthSearcher.h49 行で定義されています。


関数

void osl::checkmate::FixedDepthSearcher::addCount (  )  [inline, private]

fixedDepthSearcher.h58 行で定義されています。

参照先 count.

参照元 attack(), と defense().

template<osl::Player P, class SetPieces , bool HasGuide>
const osl::checkmate::ProofDisproof osl::checkmate::FixedDepthSearcher::attack ( int  depth,
Move best_move,
PieceStand proof_pieces 
)
template<osl::Player P, class SetPieces , bool HasGuide>
const osl::checkmate::ProofDisproof osl::checkmate::FixedDepthSearcher::attackMayUnsafe ( int  depth,
Move best_move,
PieceStand proof_pieces 
)
template<osl::Player Defense>
int osl::checkmate::FixedDepthSearcher::blockEstimation ( Square  attack_from,
Square  defense_king 
) const [inline]

fixedDepthSearcher.tcc235 行で定義されています。

template<osl::Player P, class SetPieces >
const osl::checkmate::ProofDisproof osl::checkmate::FixedDepthSearcher::defense ( Move  last_move,
int  depth,
PieceStand proof_pieces 
)
template<osl::Player P, class SetPieces >
const osl::checkmate::ProofDisproof osl::checkmate::FixedDepthSearcher::defenseEstimation ( Move  last_move,
PieceStand proof_pieces,
Piece  attacker_piece,
Square  target_position 
) const [inline, private]
template<osl::Player Defense>
void osl::checkmate::FixedDepthSearcher::generateBlockingWhenLiberty0 ( Piece  defense_king,
Square  attack_from,
CheckMoveVector moves 
) const
int osl::checkmate::FixedDepthSearcher::getCount (  )  const [inline]

fixedDepthSearcher.h63 行で定義されています。

参照先 count.

template<Player P>
const ProofDisproof osl::checkmate::FixedDepthSearcher::hasCheckmateMove ( int  depth,
Move best_move 
) [inline]

fixedDepthSearcher.h90 行で定義されています。

template<Player P>
const ProofDisproof osl::checkmate::FixedDepthSearcher::hasCheckmateMove ( int  depth  )  [inline]

fixedDepthSearcher.h96 行で定義されています。

const osl::checkmate::ProofDisproof osl::checkmate::FixedDepthSearcher::hasCheckmateMoveOfTurn ( int  depth,
Move best_move 
)
template<osl::Player P>
const osl::checkmate::ProofDisproof osl::checkmate::FixedDepthSearcher::hasEscapeByMove ( Move  next_move,
int  depth 
)

fixedDepthSearcher.tcc399 行で定義されています。

参照先 osl::alt(), osl::NumEffectState::makeUnmakeMove(), と state.

const osl::checkmate::ProofDisproof osl::checkmate::FixedDepthSearcher::hasEscapeByMoveOfTurn ( Move  next_move,
int  depth 
)

fixedDepthSearcher.cc30 行で定義されています。

参照先 state, と osl::SimpleState::turn().

参照元 osl::checkmate::CheckmateIfCapture::cannotCapture().

template<Player P>
const ProofDisproof osl::checkmate::FixedDepthSearcher::hasEscapeMove ( Move  last_move,
int  depth 
) [inline]

fixedDepthSearcher.h103 行で定義されています。

const osl::checkmate::ProofDisproof osl::checkmate::FixedDepthSearcher::hasEscapeMoveOfTurn ( Move  last_move,
int  depth 
)

fixedDepthSearcher.cc20 行で定義されています。

参照先 state, と osl::SimpleState::turn().

void osl::checkmate::FixedDepthSearcher::setState ( NumEffectState s  )  [inline]

fixedDepthSearcher.h53 行で定義されています。

参照先 state.

const PieceStand osl::checkmate::FixedDepthSearcher::stand ( Player  P  )  const [inline]

fixedDepthSearcher.h67 行で定義されています。

参照先 state.

参照元 defense(), と defenseEstimation().


変数

fixedDepthSearcher.h44 行で定義されています。

参照元 addCount(), defenseEstimation(), と getCount().


このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義