3#ifndef OSL_FEATURESET_H
4#define OSL_FEATURESET_H
10#include <boost/ptr_container/ptr_vector.hpp>
27 class CheckmateIfCaptureGroup;
46 mutable std::vector<CArray<stat::Average,8> >
frequency;
54 bool tryLoad(
const std::string& input_directory);
55 void setWeight(
size_t feature_id,
const double& value);
61 const double&
weight(
size_t feature_id)
const {
return weights[feature_id]; }
78 void showGroup(std::ostream&,
size_t group_id)
const;
79 void save(
const std::string& output_directory,
size_t group_id)
const;
111 explicit CaptureSet(
bool allow_load_failure=
false);
size_t featureSize() const
const range_t makeRange(size_t group) const
int capture_group
makeRateで特別扱いのgroup
const Group & group(size_t group_id) const
void showStatistics(std::ostream &) const
FeatureSet(const FeatureSet &)=delete
void save(const std::string &output_directory, size_t group_id) const
const RatedMove makeRate(const NumEffectState &state, bool in_check, const RatingEnv &env, Move move) const
FeatureSet & operator=(const FeatureSet &)=delete
std::vector< int > weightslog10
bool effectiveInCheck(size_t group_id) const
void generateLogProb(const NumEffectState &state, const RatingEnv &env, int limit, MoveLogProbVector &out, bool in_pv_or_all=true) const
std::vector< stat::Variance > variance_all
boost::ptr_vector< Group > groups
std::vector< double > weights
int checkmate_if_capture_group
static std::string defaultDirectory()
int logProbKingEscape(const NumEffectState &state, const RatingEnv &env, Move) const
int rating(const NumEffectState &state, const RatingEnv &env, Move move, size_t group_id) const
std::vector< Statistics > statistics
int logProbSeePlus(const NumEffectState &state, const RatingEnv &env, Move) const
std::vector< Feature * > features
const RatedMove makeRateWithCut(const NumEffectState &state, bool in_check, const RatingEnv &env, int limit, Move move) const
std::vector< char > effective_in_check
const double & weight(size_t feature_id) const
const range_t & range(size_t group) const
void setWeight(size_t feature_id, const double &value)
const Feature & feature(size_t feature_id) const
std::vector< CArray< stat::Variance, 8 > > variance_match
int logProbTakeBack(const NumEffectState &state, const RatingEnv &env, Move) const
bool tryLoad(const std::string &input_directory)
const std::string annotate(const NumEffectState &state, const RatingEnv &env, Move move) const
static void normalize(const RatedMoveVector &, MoveLogProbVector &out)
std::vector< CArray< stat::Average, 8 > > frequency
統計測定用
void generateRating(const NumEffectState &state, const RatingEnv &env, int limit, RatedMoveVector &out, bool in_pv_or_all=true) const
std::vector< range_t > ranges
std::vector< char > normal_groups
void showGroup(std::ostream &, size_t group_id) const
mutually exclusive set of features
static const StandardFeatureSet & instance()
static bool healthCheck()
TacticalSet(bool allow_load_failure=false)
incrementaly maintain average of data sequence
incrementaly maintain average and variance of data sequence
std::pair< int, int > range_t