All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Protected Attributes | Private Member Functions | List of all members
osl::search::SearchBase< Eval, Table, Recorder, Probabilities > Struct Template Reference

MTDF と SearchFramework に共通の 小物のメソッド. More...

#include <searchBase.h>

Inheritance diagram for osl::search::SearchBase< Eval, Table, Recorder, Probabilities >:
Inheritance graph
[legend]
Collaboration diagram for osl::search::SearchBase< Eval, Table, Recorder, Probabilities >:
Collaboration graph
[legend]

Public Types

typedef Eval eval_t
 
typedef Probabilities Probabilities_t
 

Public Member Functions

 SearchBase (Recorder &r, Table *t)
 
virtual ~SearchBase ()
 
virtual bool abort (Move) const
 
bool validTableMove (const NumEffectState &state, const MoveLogProb &move, int limit) const
 テーブルの指手の正しさを確かめる More...
 
void recordWinByCheckmate (Player P, SimpleHashRecord *record, Move check_move) const
 詰将棋の見つけた勝 More...
 
void recordLoseByCheckmate (Player P, SimpleHashRecord *record) const
 詰将棋の見つけた敗 More...
 

Protected Attributes

Recorder & recorder
 
Table * table
 

Private Member Functions

void recordCheckmateResult (Player P, SimpleHashRecord *record, int val, Move move) const
 

Additional Inherited Members

- Protected Member Functions inherited from osl::search::FixedEval
 FixedEval ()
 
void setDrawValue (int value)
 
int drawValue () const
 
 ~FixedEval ()
 
- Static Protected Member Functions inherited from osl::search::FixedEval
static int winByFoul (Player P)
 相手の王手千日手,打歩詰. More...
 
static int winByLoop (Player P)
 駒得するループ. More...
 
static int winByCheckmate (Player P)
 詰による勝 More...
 
static int minusInfty (Player P)
 探索windowの下限 (負けでも更新される値) More...
 
static int winThreshold (Player P)
 この値を越えれば勝. More...
 
static int windowMax (Player P)
 探索して意味がある範囲 (偶数) More...
 
static int brinkmatePenalty (Player P, int limit)
 必死(に見える)局面の評価値 Pが負けそう More...
 
static int threatmatePenalty (Player P)
 末端で詰めろがかかっている場合のペナルティ. More...
 
static int isWinValue (Player P, int val)
 勝かどうか. More...
 

Detailed Description

template<typename Eval, typename Table, typename Recorder, typename Probabilities>
struct osl::search::SearchBase< Eval, Table, Recorder, Probabilities >

MTDF と SearchFramework に共通の 小物のメソッド.

Definition at line 28 of file searchBase.h.

Member Typedef Documentation

template<typename Eval, typename Table, typename Recorder, typename Probabilities>
typedef Eval osl::search::SearchBase< Eval, Table, Recorder, Probabilities >::eval_t

Definition at line 31 of file searchBase.h.

template<typename Eval, typename Table, typename Recorder, typename Probabilities>
typedef Probabilities osl::search::SearchBase< Eval, Table, Recorder, Probabilities >::Probabilities_t

Definition at line 33 of file searchBase.h.

Constructor & Destructor Documentation

template<typename Eval, typename Table, typename Recorder, typename Probabilities>
osl::search::SearchBase< Eval, Table, Recorder, Probabilities >::SearchBase ( Recorder &  r,
Table *  t 
)
inline

Definition at line 38 of file searchBase.h.

template<typename Eval, typename Table, typename Recorder, typename Probabilities>
virtual osl::search::SearchBase< Eval, Table, Recorder, Probabilities >::~SearchBase ( )
inlinevirtual

Definition at line 44 of file searchBase.h.

Member Function Documentation

template<typename Eval, typename Table, typename Recorder, typename Probabilities>
virtual bool osl::search::SearchBase< Eval, Table, Recorder, Probabilities >::abort ( Move  ) const
inlinevirtual

Definition at line 45 of file searchBase.h.

template<typename Eval, typename Table, typename Recorder, typename Probabilities>
void osl::search::SearchBase< Eval, Table, Recorder, Probabilities >::recordCheckmateResult ( Player  P,
SimpleHashRecord record,
int  val,
Move  move 
) const
inlineprivate
template<typename Eval, typename Table, typename Recorder, typename Probabilities>
void osl::search::SearchBase< Eval, Table, Recorder, Probabilities >::recordLoseByCheckmate ( Player  P,
SimpleHashRecord record 
) const
inline

詰将棋の見つけた敗

Definition at line 94 of file searchBase.h.

template<typename Eval, typename Table, typename Recorder, typename Probabilities>
void osl::search::SearchBase< Eval, Table, Recorder, Probabilities >::recordWinByCheckmate ( Player  P,
SimpleHashRecord record,
Move  check_move 
) const
inline

詰将棋の見つけた勝

Definition at line 87 of file searchBase.h.

template<typename Eval, typename Table, typename Recorder, typename Probabilities>
bool osl::search::SearchBase< Eval, Table, Recorder, Probabilities >::validTableMove ( const NumEffectState &  state,
const MoveLogProb move,
int  limit 
) const
inline

テーブルの指手の正しさを確かめる

ついでに実現確率のチェックもする HashKey のconflict があるとtable から牽いた move が不正であることがある conflict で turn の違いがあると isAlmostValidMove ではチェックできない ことに注意

Definition at line 55 of file searchBase.h.

Member Data Documentation

template<typename Eval, typename Table, typename Recorder, typename Probabilities>
Recorder& osl::search::SearchBase< Eval, Table, Recorder, Probabilities >::recorder
protected
template<typename Eval, typename Table, typename Recorder, typename Probabilities>
Table* osl::search::SearchBase< Eval, Table, Recorder, Probabilities >::table
protected

The documentation for this struct was generated from the following file: