All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
osl::eval::ProgressEvalGeneral< OpeningEval > Class Template Reference

序盤と終盤の内分を使う評価関数. More...

#include <progressEval.h>

Inheritance diagram for osl::eval::ProgressEvalGeneral< OpeningEval >:
Inheritance graph
[legend]
Collaboration diagram for osl::eval::ProgressEvalGeneral< OpeningEval >:
Collaboration graph
[legend]

Public Types

enum  { AdjustableDimension = PTYPE_SIZE + endgame::KingPieceTable::EffectiveDimension*2 }
 
typedef OpeningEval opening_eval_t
 
typedef endgame::AttackDefense endgame_eval_t
 
typedef
progress::Effect5x3WithBonus 
progress_t
 
typedef progress::Effect5x3d defense_t
 

Public Member Functions

 ProgressEvalGeneral (const NumEffectState &state)
 
void changeTurn ()
 
const Progress16 progress16 () const
 
const Progress16 progress16bonus (Player p) const
 
void invalidateCache ()
 
int value () const
 
const Progress32 progress32 () const
 
int expect (const NumEffectState &state, Move move) const
 
Move suggestMove (const NumEffectState &) const
 
void update (const NumEffectState &new_state, Move last_move)
 
template<Player p>
int calculateAttackBonusEach (const NumEffectState &state) const
 
template<Player Attack, Direction Dir>
int calculateAttackBonusOne (const NumEffectState &state) const
 
int calculateKnightCheck (const NumEffectState &state) const
 
template<osl::Player P>
int calculateKnightCheckEach (const NumEffectState &state) const
 
template<Player p>
int calculateEnterKingBonus (const NumEffectState &state) const
 
template<Player p>
int calculateMiddleKingBonus (const NumEffectState &state) const
 
int calculateRookRankBonus (const NumEffectState &state) const
 
const PieceMask pins (Player player) const
 
int minorPieceValue () const
 
int openingValue () const
 
int endgameValue () const
 
ProgressDebugInfo debugInfo (const NumEffectState &state) const
 
int calculatePinBonus (const NumEffectState &state) const
 
int calculateMobilityBonus () const
 
int calculateAttackRooks (const NumEffectState &state) const
 
int calculateAttackBonus (const NumEffectState &state) const
 
int calculateSilverPenalty (const NumEffectState &state) const
 
int calculateGoldPenalty (const NumEffectState &state) const
 
int attackDefenseBonus () const
 
int attackBonusScale (int val, Player attack) const
 
void debug () const
 

Static Public Member Functions

static bool initialized ()
 
static bool setUp (const char *filename)
 
static bool setUp ()
 
static int attackDefenseBonusT16 (Progress16 black, Progress16 white, Progress16 black_defense, Progress16 white_defense)
 危険度ペナルティの16倍 More...
 
static int composeValue (int value_opening, int value_endgame, Progress16 progress16, Progress16 black, Progress16 white, Progress16 black_defense, Progress16 white_defense, int minor_piece_bonus, int progress_independent_bonus, int progress_dependent_bonus)
 
static void setValues (const SimpleState &, Progress16 progress16, container::PieceValues &)
 
static void setValues (const SimpleState &s, container::PieceValues &o)
 
static int infty ()
 
static int captureValue (PtypeO ptypeO)
 
static int seeScale ()
 
static int calculateMobilityBonusRook (const NumEffectState &state)
 
static int calculateMobilityBonusBishop (const NumEffectState &state)
 
static int calculateMobilityBonusLance (const NumEffectState &state)
 
static void resetWeights (const int *weight)
 

Static Public Attributes

static const int ROUND_UP = 64
 roundup は 2^n であること More...
 

Private Types

enum  { INVALID =EvalTraits<BLACK>::MAX_VALUE+1 }
 

Private Member Functions

template<Player P, Ptype PTYPE, Direction Dir, Direction LongDir>
void initializeCheckPieceDir (const NumEffectState &state, int count)
 
template<Player P, Ptype PTYPE>
void initializeCheckPiece (const NumEffectState &state)
 

Static Private Member Functions

static void setUpInternal (const char *filename=0)
 

Private Attributes

opening_eval_t opening_eval
 
endgame_eval_t endgame_eval
 
progress_t current_progress
 
defense_t defense_effect
 
MinorPieceBonus minor_piece_bonus
 
CArray< PieceMask, 2 > pin_mask
 
CArray2d< int,
2, SHORT8_DIRECTION_MAX+1 > 
can_check_pieces
 
int progress_independent_bonus
 
int progress_dependent_bonus
 
int major_pieces
 
CArray< int, 2 > attack_bonus
 
int rook_mobility
 
int bishop_mobility
 
int lance_mobility
 
int cache
 

Static Private Attributes

static CArray< int, PTYPEO_SIZEcapture_values
 

Detailed Description

template<class OpeningEval>
class osl::eval::ProgressEvalGeneral< OpeningEval >

序盤と終盤の内分を使う評価関数.

Definition at line 50 of file progressEval.h.

Member Typedef Documentation

template<class OpeningEval>
typedef progress::Effect5x3d osl::eval::ProgressEvalGeneral< OpeningEval >::defense_t

Definition at line 56 of file progressEval.h.

template<class OpeningEval>
typedef endgame::AttackDefense osl::eval::ProgressEvalGeneral< OpeningEval >::endgame_eval_t

Definition at line 54 of file progressEval.h.

template<class OpeningEval>
typedef OpeningEval osl::eval::ProgressEvalGeneral< OpeningEval >::opening_eval_t

Definition at line 53 of file progressEval.h.

template<class OpeningEval>
typedef progress::Effect5x3WithBonus osl::eval::ProgressEvalGeneral< OpeningEval >::progress_t

Definition at line 55 of file progressEval.h.

Member Enumeration Documentation

template<class OpeningEval>
anonymous enum
private
Enumerator
INVALID 

Definition at line 72 of file progressEval.h.

template<class OpeningEval>
anonymous enum
Enumerator
AdjustableDimension 

Definition at line 263 of file progressEval.h.

Constructor & Destructor Documentation

template<class Opening >
osl::eval::ProgressEvalGeneral< Opening >::ProgressEvalGeneral ( const NumEffectState &  state)

Member Function Documentation

template<class OpeningEval>
int osl::eval::ProgressEvalGeneral< OpeningEval >::attackBonusScale ( int  val,
Player  attack 
) const
inline
template<class OpeningEval>
int osl::eval::ProgressEvalGeneral< OpeningEval >::attackDefenseBonus ( ) const
inline

Definition at line 249 of file progressEval.h.

Referenced by show().

template<class OpeningEval>
static int osl::eval::ProgressEvalGeneral< OpeningEval >::attackDefenseBonusT16 ( Progress16  black,
Progress16  white,
Progress16  black_defense,
Progress16  white_defense 
)
inlinestatic
template<class Opening >
int osl::eval::ProgressEvalGeneral< Opening >::calculateAttackBonus ( const NumEffectState &  state) const

Definition at line 457 of file progressEval.cc.

References osl::BLACK, and osl::WHITE.

template<class Opening >
template<osl::Player P>
int osl::eval::ProgressEvalGeneral< Opening >::calculateAttackBonusEach ( const NumEffectState &  state) const

Definition at line 515 of file progressEval.cc.

References result.

template<class Opening >
template<osl::Player Attack, osl::Direction Dir>
int osl::eval::ProgressEvalGeneral< Opening >::calculateAttackBonusOne ( const NumEffectState &  state) const
template<class Opening >
int osl::eval::ProgressEvalGeneral< Opening >::calculateAttackRooks ( const NumEffectState &  state) const
template<class Opening >
template<osl::Player P>
int osl::eval::ProgressEvalGeneral< Opening >::calculateEnterKingBonus ( const NumEffectState &  state) const
template<class Opening >
int osl::eval::ProgressEvalGeneral< Opening >::calculateGoldPenalty ( const NumEffectState &  state) const
template<class Opening >
int osl::eval::ProgressEvalGeneral< Opening >::calculateKnightCheck ( const NumEffectState &  state) const
template<class Opening >
template<osl::Player P>
int osl::eval::ProgressEvalGeneral< Opening >::calculateKnightCheckEach ( const NumEffectState &  state) const

Definition at line 613 of file progressEval.cc.

References osl::BLACK, osl::GOLD, and osl::KNIGHT.

template<class Opening >
template<osl::Player P>
int osl::eval::ProgressEvalGeneral< Opening >::calculateMiddleKingBonus ( const NumEffectState &  state) const

Definition at line 714 of file progressEval.cc.

References osl::BLACK, osl::WHITE, and osl::Square::y().

template<class Opening >
int osl::eval::ProgressEvalGeneral< Opening >::calculateMobilityBonus ( ) const
inline
template<class Opening >
int osl::eval::ProgressEvalGeneral< Opening >::calculateMobilityBonusBishop ( const NumEffectState &  state)
static
template<class Opening >
int osl::eval::ProgressEvalGeneral< Opening >::calculateMobilityBonusLance ( const NumEffectState &  state)
static
template<class Opening >
int osl::eval::ProgressEvalGeneral< Opening >::calculateMobilityBonusRook ( const NumEffectState &  state)
static
template<class Opening >
int osl::eval::ProgressEvalGeneral< Opening >::calculatePinBonus ( const NumEffectState &  state) const
template<class Opening >
int osl::eval::ProgressEvalGeneral< Opening >::calculateRookRankBonus ( const NumEffectState &  state) const
template<class Opening >
int osl::eval::ProgressEvalGeneral< Opening >::calculateSilverPenalty ( const NumEffectState &  state) const
template<class OpeningEval>
static int osl::eval::ProgressEvalGeneral< OpeningEval >::captureValue ( PtypeO  ptypeO)
inlinestatic
template<class OpeningEval>
void osl::eval::ProgressEvalGeneral< OpeningEval >::changeTurn ( )
inline

Definition at line 86 of file progressEval.h.

template<class OpeningEval>
static int osl::eval::ProgressEvalGeneral< OpeningEval >::composeValue ( int  value_opening,
int  value_endgame,
Progress16  progress16,
Progress16  black,
Progress16  white,
Progress16  black_defense,
Progress16  white_defense,
int  minor_piece_bonus,
int  progress_independent_bonus,
int  progress_dependent_bonus 
)
inlinestatic
template<class OpeningEval>
void osl::eval::ProgressEvalGeneral< OpeningEval >::debug ( ) const
inline

Definition at line 262 of file progressEval.h.

template<class Opening >
osl::eval::ProgressDebugInfo osl::eval::ProgressEvalGeneral< Opening >::debugInfo ( const NumEffectState &  state) const
template<class OpeningEval>
int osl::eval::ProgressEvalGeneral< OpeningEval >::endgameValue ( ) const
inline

Definition at line 234 of file progressEval.h.

Referenced by show().

template<class Opening >
int osl::eval::ProgressEvalGeneral< Opening >::expect ( const NumEffectState &  state,
Move  move 
) const
template<class OpeningEval>
static int osl::eval::ProgressEvalGeneral< OpeningEval >::infty ( )
inlinestatic

Definition at line 205 of file progressEval.h.

template<class Opening >
template<osl::Player P, osl::Ptype PTYPE>
void osl::eval::ProgressEvalGeneral< Opening >::initializeCheckPiece ( const NumEffectState &  state)
private

Definition at line 140 of file progressEval.cc.

References count.

template<class Opening >
template<osl::Player P, osl::Ptype PTYPE, osl::Direction Dir, osl::Direction LongDir>
void osl::eval::ProgressEvalGeneral< Opening >::initializeCheckPieceDir ( const NumEffectState &  state,
int  count 
)
private

Definition at line 160 of file progressEval.cc.

References count.

template<class OpeningEval>
static bool osl::eval::ProgressEvalGeneral< OpeningEval >::initialized ( )
inlinestatic
template<class OpeningEval>
void osl::eval::ProgressEvalGeneral< OpeningEval >::invalidateCache ( )
inline

Definition at line 154 of file progressEval.h.

template<class OpeningEval>
int osl::eval::ProgressEvalGeneral< OpeningEval >::minorPieceValue ( ) const
inline

Definition at line 228 of file progressEval.h.

Referenced by show().

template<class OpeningEval>
int osl::eval::ProgressEvalGeneral< OpeningEval >::openingValue ( ) const
inline
template<class OpeningEval>
const PieceMask osl::eval::ProgressEvalGeneral< OpeningEval >::pins ( Player  player) const
inline

Definition at line 224 of file progressEval.h.

template<class OpeningEval>
const Progress16 osl::eval::ProgressEvalGeneral< OpeningEval >::progress16 ( ) const
inline
template<class OpeningEval>
const Progress16 osl::eval::ProgressEvalGeneral< OpeningEval >::progress16bonus ( Player  p) const
inline
template<class OpeningEval>
const Progress32 osl::eval::ProgressEvalGeneral< OpeningEval >::progress32 ( ) const
inline

Definition at line 177 of file progressEval.h.

template<class Opening >
void osl::eval::ProgressEvalGeneral< Opening >::resetWeights ( const int *  weight)
static

Definition at line 78 of file progressEval.cc.

References osl::PTYPE_SIZE.

template<class OpeningEval>
static int osl::eval::ProgressEvalGeneral< OpeningEval >::seeScale ( )
inlinestatic

Definition at line 218 of file progressEval.h.

template<class OpeningEval>
static bool osl::eval::ProgressEvalGeneral< OpeningEval >::setUp ( const char *  filename)
inlinestatic

Definition at line 91 of file progressEval.h.

template<class OpeningEval>
static bool osl::eval::ProgressEvalGeneral< OpeningEval >::setUp ( )
inlinestatic

Definition at line 98 of file progressEval.h.

template<class Opening >
void osl::eval::ProgressEvalGeneral< Opening >::setUpInternal ( const char *  filename = 0)
staticprivate
template<class OpeningEval>
static void osl::eval::ProgressEvalGeneral< OpeningEval >::setValues ( const SimpleState &  ,
Progress16  progress16,
container::PieceValues  
)
static
template<class OpeningEval>
static void osl::eval::ProgressEvalGeneral< OpeningEval >::setValues ( const SimpleState &  s,
container::PieceValues o 
)
static
template<class OpeningEval>
Move osl::eval::ProgressEvalGeneral< OpeningEval >::suggestMove ( const NumEffectState &  ) const
inline

Definition at line 186 of file progressEval.h.

template<class Opening >
void osl::eval::ProgressEvalGeneral< Opening >::update ( const NumEffectState &  new_state,
Move  last_move 
)
template<class OpeningEval>
int osl::eval::ProgressEvalGeneral< OpeningEval >::value ( ) const
inline

Definition at line 157 of file progressEval.h.

Referenced by show().

Member Data Documentation

template<class OpeningEval>
CArray<int,2> osl::eval::ProgressEvalGeneral< OpeningEval >::attack_bonus
private
template<class OpeningEval>
int osl::eval::ProgressEvalGeneral< OpeningEval >::bishop_mobility
private
template<class OpeningEval>
int osl::eval::ProgressEvalGeneral< OpeningEval >::cache
mutableprivate
template<class OpeningEval>
CArray2d<int, 2, SHORT8_DIRECTION_MAX+1> osl::eval::ProgressEvalGeneral< OpeningEval >::can_check_pieces
private
template<class OpeningEval>
osl::CArray< int, osl::PTYPEO_SIZE > osl::eval::ProgressEvalGeneral< Opening >::capture_values
staticprivate
template<class OpeningEval>
progress_t osl::eval::ProgressEvalGeneral< OpeningEval >::current_progress
private
template<class OpeningEval>
defense_t osl::eval::ProgressEvalGeneral< OpeningEval >::defense_effect
private
template<class OpeningEval>
endgame_eval_t osl::eval::ProgressEvalGeneral< OpeningEval >::endgame_eval
private
template<class OpeningEval>
int osl::eval::ProgressEvalGeneral< OpeningEval >::lance_mobility
private
template<class OpeningEval>
int osl::eval::ProgressEvalGeneral< OpeningEval >::major_pieces
private
template<class OpeningEval>
MinorPieceBonus osl::eval::ProgressEvalGeneral< OpeningEval >::minor_piece_bonus
private
template<class OpeningEval>
opening_eval_t osl::eval::ProgressEvalGeneral< OpeningEval >::opening_eval
private
template<class OpeningEval>
CArray<PieceMask, 2> osl::eval::ProgressEvalGeneral< OpeningEval >::pin_mask
mutableprivate
template<class OpeningEval>
int osl::eval::ProgressEvalGeneral< OpeningEval >::progress_dependent_bonus
private
template<class OpeningEval>
int osl::eval::ProgressEvalGeneral< OpeningEval >::progress_independent_bonus
private
template<class OpeningEval>
int osl::eval::ProgressEvalGeneral< OpeningEval >::rook_mobility
private
template<class OpeningEval>
const int osl::eval::ProgressEvalGeneral< OpeningEval >::ROUND_UP = 64
static

roundup は 2^n であること

Definition at line 107 of file progressEval.h.

Referenced by osl::eval::ProgressEvalGeneral< progress_eval_opening_t >::composeValue().


The documentation for this class was generated from the following files: