All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
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
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]

List of all members.

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倍
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 であること

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)

Definition at line 86 of file progressEval.cc.

References osl::eval::ProgressEvalGeneral< OpeningEval >::attack_bonus, osl::eval::ProgressEvalGeneral< OpeningEval >::attackBonusScale(), osl::eval::ProgressEvalGeneral< OpeningEval >::bishop_mobility, osl::BLACK, osl::eval::ProgressEvalGeneral< OpeningEval >::calculateAttackRooks(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateGoldPenalty(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateKnightCheck(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateMobilityBonus(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateMobilityBonusBishop(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateMobilityBonusLance(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateMobilityBonusRook(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculatePinBonus(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateRookRankBonus(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateSilverPenalty(), osl::eval::ProgressEvalGeneral< OpeningEval >::can_check_pieces, osl::PtypeTraits< BISHOP >::indexMin, osl::PtypeTraits< ROOK >::indexMin, osl::eval::ProgressEvalGeneral< OpeningEval >::initialized(), osl::eval::ProgressEvalGeneral< OpeningEval >::lance_mobility, osl::eval::ProgressEvalGeneral< OpeningEval >::major_pieces, osl::eval::ProgressEvalGeneral< OpeningEval >::progress_dependent_bonus, osl::eval::ProgressEvalGeneral< OpeningEval >::progress_independent_bonus, osl::eval::ProgressEvalGeneral< OpeningEval >::rook_mobility, and osl::WHITE.


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 
) [inline, static]
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
template<class Opening >
template<osl::Player P>
int osl::eval::ProgressEvalGeneral< Opening >::calculateMiddleKingBonus ( const NumEffectState &  state) const
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) [inline, static]
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 
) [inline, static]
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 ( ) [inline, static]

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 ( ) [inline, static]
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 ( ) [inline, static]

Definition at line 218 of file progressEval.h.

template<class OpeningEval>
static bool osl::eval::ProgressEvalGeneral< OpeningEval >::setUp ( const char *  filename) [inline, static]

Definition at line 91 of file progressEval.h.

template<class OpeningEval>
static bool osl::eval::ProgressEvalGeneral< OpeningEval >::setUp ( ) [inline, static]

Definition at line 98 of file progressEval.h.

template<class Opening >
void osl::eval::ProgressEvalGeneral< Opening >::setUpInternal ( const char *  filename = 0) [static, private]
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 [mutable, private]
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 [static, private]
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 [mutable, private]
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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines