3#ifndef OSL_CHECKMATE_FIXED_DEPTH_SERCHER_H
4#define OSL_CHECKMATE_FIXED_DEPTH_SERCHER_H
73 template <Player P,
class SetPieces,
bool HasGu
ide>
75 template <Player P,
class SetPieces,
bool HasGu
ide>
77 template <Player P,
class SetPieces>
84 template <Player P,
class SetPieces>
118 template <Player Defense>
121 template <Player Defense>
深さ固定で,その深さまで depth first searchで読む詰将棋.
const ProofDisproof defenseEstimation(Move last_move, PieceStand &proof_pieces, Piece attacker_piece, Square target_position) const
move を作らずに ProofDisproof の予測を計算する
void generateBlockingWhenLiberty0(Piece defense_king, Square attack_from, CheckMoveVector &moves) const
無駄合をなるべく生成しない,合駒生成
const ProofDisproof hasEscapeByMove(Move next_move, int depth)
const ProofDisproof hasCheckmateMoveOfTurn(int depth, Move &best_move)
const PieceStand stand(Player P) const
const ProofDisproof hasCheckmateMove(int depth)
const ProofDisproof attack(int depth, Move &best_move, PieceStand &proof_pieces)
void setState(NumEffectState &s)
const ProofDisproof defense(Move last_move, int depth, PieceStand &proof_pieces)
const ProofDisproof hasEscapeByMoveOfTurn(Move next_move, int depth)
const ProofDisproof hasEscapeMove(Move last_move, int depth)
const ProofDisproof hasEscapeMoveOfTurn(Move last_move, int depth)
int blockEstimation(Square attack_from, Square defense_king) const
const ProofDisproof hasCheckmateMove(int depth, Move &best_move)
const ProofDisproof attackMayUnsafe(int depth, Move &best_move, PieceStand &proof_pieces)
FixedDepthSearcher(NumEffectState &s)
証明数(proof number)と反証数(disproof number).
static void setAttackLeaf(Move, PieceStand &)
static void setLeaf(const NumEffectState &, Player, PieceStand, PieceStand &)
static void clear(PieceStand &)
static ProofDisproof attackEstimation(const NumEffectState &, Player, King8Info)
static void attack(Move, PieceStand, PieceStand &)
static void addMonopolizedPieces(const NumEffectState &, Player, PieceStand, PieceStand &)
static void updateMax(PieceStand, PieceStand &)