#include <fixedEval.h>
Public メソッド | |
FixedEval () | |
void | setDrawValue (int value) |
int | drawValue () const |
Static Public メソッド | |
static int | winByFoul (Player P) |
相手の王手千日手,打歩詰. | |
static int | winByLoop (Player P) |
駒得するループ. | |
static int | winByCheckmate (Player P) |
詰による勝 | |
static int | minusInfty (Player P) |
探索windowの下限 (負けでも更新される値) | |
static int | winThreshold (Player P) |
この値を越えれば勝. | |
static int | windowMax (Player P) |
探索して意味がある範囲 (偶数) | |
static int | brinkmatePenalty (Player P, int limit) |
必死(に見える)局面の評価値 Pが負けそう | |
static int | threatmatePenalty (Player P) |
末端で詰めろがかかっている場合のペナルティ. | |
static int | isWinValue (Player P, int val) |
勝かどうか. | |
Protected メソッド | |
~FixedEval () | |
Private 変数 | |
int | draw_value |
fixedEval.h の 12 行で定義されています。
osl::search::FixedEval::~FixedEval | ( | ) | [inline, protected] |
fixedEval.h の 16 行で定義されています。
osl::search::FixedEval::FixedEval | ( | ) | [inline] |
fixedEval.h の 18 行で定義されています。
static int osl::search::FixedEval::brinkmatePenalty | ( | Player | P, | |
int | limit | |||
) | [inline, static] |
必死(に見える)局面の評価値 Pが負けそう
limit | 受を生成した閾値 大きい方が信頼できる必死 |
fixedEval.h の 76 行で定義されています。
参照先 osl::alt(), osl::eval::convert(), と winByFoul().
int osl::search::FixedEval::drawValue | ( | ) | const [inline] |
static int osl::search::FixedEval::isWinValue | ( | Player | P, | |
int | val | |||
) | [inline, static] |
勝かどうか.
loop勝も含める
fixedEval.h の 91 行で定義されています。
参照先 osl::eval::notLessThan(), と winByCheckmate().
参照元 osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), osl::search::QuiescenceSearch2< EvalT >::examineMoves(), osl::search::AlphaBeta2Tree< EvalT >::examineMovesRoot(), osl::search::QuiescenceSearch2< EvalT >::examineTakeBack(), osl::search::QuiescenceSearch2< EvalT >::examineTakeBack2(), osl::search::SearchBase< EvalT, SimpleHashTable, CountRecorder, RealizationProbability >::recordCheckmateResult(), osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves(), と osl::search::QuiescenceSearch2< EvalT >::searchMain().
static int osl::search::FixedEval::minusInfty | ( | Player | P | ) | [inline, static] |
探索windowの下限 (負けでも更新される値)
fixedEval.h の 53 行で定義されています。
参照先 osl::alt(), と winByCheckmate().
参照元 osl::search::AlphaBeta2Tree< EvalT >::alphaBetaSearchAfterMove(), osl::search::AlphaBeta2Tree< EvalT >::quiesce(), osl::search::AlphaBeta2Tree< EvalT >::quiesceRoot(), osl::search::AlphaBeta3::search(), osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves(), と osl::search::AlphaBeta3::searchRoot().
void osl::search::FixedEval::setDrawValue | ( | int | value | ) | [inline] |
fixedEval.h の 21 行で定義されています。
参照先 draw_value.
static int osl::search::FixedEval::threatmatePenalty | ( | Player | P | ) | [inline, static] |
末端で詰めろがかかっている場合のペナルティ.
P に詰めろがかかっている場合に threatmatePenalty(P)を足す
fixedEval.h の 84 行で定義されています。
参照先 osl::alt(), と winByFoul().
参照元 osl::search::AlphaBeta3::quiesce(), osl::search::AlphaBeta2Tree< EvalT >::quiesce(), osl::search::AlphaBeta3::quiesceRoot(), osl::search::AlphaBeta2Tree< EvalT >::quiesceRoot(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), と osl::search::QuiescenceSearch2< EvalT >::staticValue().
static int osl::search::FixedEval::winByCheckmate | ( | Player | P | ) | [inline, static] |
詰による勝
fixedEval.h の 46 行で定義されています。
参照先 osl::eval::convert().
参照元 osl::search::AlphaBeta2< EvalT >::alphaBetaSearchRoot(), isWinValue(), minusInfty(), osl::search::AlphaBeta3::quiesce(), osl::search::AlphaBeta2Tree< EvalT >::quiesce(), osl::search::AlphaBeta3::quiesceRoot(), osl::search::AlphaBeta2Tree< EvalT >::quiesceRoot(), osl::search::SearchBase< EvalT, SimpleHashTable, CountRecorder, RealizationProbability >::recordLoseByCheckmate(), osl::search::SearchBase< EvalT, SimpleHashTable, CountRecorder, RealizationProbability >::recordWinByCheckmate(), osl::search::AlphaBeta3::search(), osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::search::QuiescenceSearch2< EvalT >::staticValueWithThreat(), osl::search::QuiescenceSearch2< EvalT >::takeBackValue(), と windowMax().
static int osl::search::FixedEval::winByFoul | ( | Player | P | ) | [inline, static] |
相手の王手千日手,打歩詰.
考慮対象外の手は詰より評価を下げる.
fixedEval.h の 31 行で定義されています。
参照先 osl::eval::convert().
参照元 osl::search::AlphaBeta2Tree< EvalT >::alphaBetaSearch(), brinkmatePenalty(), osl::search::QuiescenceSearch2< EvalT >::examineMoves(), osl::search::AlphaBeta3::makeMoveAndSearch(), osl::search::AlphaBeta3::presearch(), osl::search::AlphaBeta3::quiesce(), osl::search::AlphaBeta2Tree< EvalT >::quiesce(), osl::search::AlphaBeta2Tree< EvalT >::quiesceRoot(), osl::search::QuiescenceSearch2< EvalT >::searchInternal(), osl::search::QuiescenceSearch2< EvalT >::takeBackValue(), threatmatePenalty(), と winByLoop().
static int osl::search::FixedEval::winByLoop | ( | Player | P | ) | [inline, static] |
駒得するループ.
考慮対象外の手は詰より評価を下げる.
fixedEval.h の 39 行で定義されています。
参照先 winByFoul().
参照元 osl::search::AlphaBeta2Tree< EvalT >::alphaBetaSearch(), と osl::game_playing::SearchPlayer::setUpTable().
static int osl::search::FixedEval::windowMax | ( | Player | P | ) | [inline, static] |
static int osl::search::FixedEval::winThreshold | ( | Player | P | ) | [inline, static] |
この値を越えれば勝.
(奇数). loop勝も含める
fixedEval.h の 60 行で定義されています。
参照先 osl::eval::convert().
参照元 osl::search::AlphaBeta2< EvalT >::fullWindow(), osl::search::QuiescenceSearch2< EvalT >::search(), osl::search::SearchBase< EvalT, SimpleHashTable, CountRecorder, RealizationProbability >::SearchBase(), osl::search::QuiescenceSearch2< EvalT >::searchInternal(), osl::search::QuiescenceSearch2< EvalT >::searchIteratively(), osl::search::QuiescenceSearch2< EvalT >::searchProbCut(), と osl::search::QuiescenceSearch2< EvalT >::staticValueWithThreat().
int osl::search::FixedEval::draw_value [private] |
fixedEval.h の 14 行で定義されています。
参照元 drawValue(), と setDrawValue().