17 #ifndef JUBATUS_CORE_BANDIT_EXP3_HPP_
18 #define JUBATUS_CORE_BANDIT_EXP3_HPP_
25 #include "jubatus/util/math/random.h"
33 exp3(
bool assume_unrewarded,
double gamma);
35 std::string
select_arm(
const std::string& player_id);
41 const std::string& arm_id,
46 bool reset(
const std::string& player_id);
54 void unpack(msgpack::object o);
63 jubatus::util::math::random::mtrand
rand_;
67 std::vector<double>& weights)
const;
74 #endif // JUBATUS_CORE_BANDIT_EXP3_HPP_
storage::version get_version() const
std::string select_arm(const std::string &player_id)
arm_info_map get_arm_info(const std::string &player_id) const
bool register_reward(const std::string &player_id, const std::string &arm_id, double reward)
bool put_diff(const diff_t &diff)
exp3(bool assume_unrewarded, double gamma)
bool register_arm(const std::string &arm_id)
jubatus::util::data::unordered_map< std::string, arm_info_map > diff_t
void mix(const diff_t &lhs, diff_t &rhs) const
jubatus::util::data::unordered_map< std::string, arm_info > arm_info_map
bool delete_arm(const std::string &arm_id)
void unpack(msgpack::object o)
bool reset(const std::string &player_id)
void get_diff(diff_t &diff) const
void calc_weights_(const std::string &player_id, std::vector< double > &weights) const
jubatus::util::math::random::mtrand rand_
void pack(framework::packer &pk) const