17 #ifndef JUBATUS_CORE_BANDIT_BANDIT_BASE_HPP_
18 #define JUBATUS_CORE_BANDIT_BANDIT_BASE_HPP_
46 virtual bool register_arm(
const std::string& arm_id) = 0;
47 virtual bool delete_arm(
const std::string& arm_id) = 0;
49 virtual std::string
select_arm(
const std::string& player_id) = 0;
52 const std::string& arm_id,
57 virtual bool reset(
const std::string& player_id) = 0;
58 virtual void clear() = 0;
60 virtual std::string
name()
const = 0;
63 virtual void unpack(msgpack::object o) = 0;
65 typedef jubatus::util::data::unordered_map<std::string, arm_info_map>
diff_t;
67 virtual void get_diff(diff_t& diff)
const = 0;
68 virtual bool put_diff(
const diff_t& diff) = 0;
69 virtual void mix(
const diff_t& lhs, diff_t& rhs)
const = 0;
78 #endif // JUBATUS_CORE_BANDIT_BANDIT_BASE_HPP_
virtual bool register_reward(const std::string &player_id, const std::string &arm_id, double reward)=0
virtual arm_info_map get_arm_info(const std::string &player_id) const =0
virtual bool reset(const std::string &player_id)=0
virtual core::storage::version get_version() const =0
virtual void pack(framework::packer &pk) const =0
virtual bool delete_arm(const std::string &arm_id)=0
virtual void unpack(msgpack::object o)=0
jubatus::util::data::unordered_map< std::string, arm_info_map > diff_t
msgpack::packer< jubatus_packer > packer
jubatus::util::data::unordered_map< std::string, arm_info > arm_info_map
virtual std::string name() const =0
virtual void mix(const diff_t &lhs, diff_t &rhs) const =0
virtual bool put_diff(const diff_t &diff)=0
virtual std::string select_arm(const std::string &player_id)=0
virtual bool register_arm(const std::string &arm_id)=0
virtual void get_diff(diff_t &diff) const =0