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