@@ -15,25 +15,29 @@ static float scaled_clipped_exp(float x) { return std::exp(std::min(1000000 * x,
1515 * *
1616 * */
1717SimpleRLMoveGenerator::SimpleRLMoveGenerator (std::unique_ptr<SoftmaxAgent>& agent) {
18- avail_moves.emplace_back (std::make_unique<UniformMoveGenerator>());
19- avail_moves.emplace_back (std::make_unique<MedianMoveGenerator>());
20- avail_moves.emplace_back (std::make_unique<CentroidMoveGenerator>());
21- avail_moves.emplace_back (std::make_unique<WeightedCentroidMoveGenerator>());
22- avail_moves.emplace_back (std::make_unique<WeightedMedianMoveGenerator>());
23- avail_moves.emplace_back (std::make_unique<CriticalUniformMoveGenerator>());
24- avail_moves.emplace_back (std::make_unique<FeasibleRegionMoveGenerator>());
18+ avail_moves.resize ((int )e_move_type::NUMBER_OF_AUTO_MOVES);
19+
20+ avail_moves[(int )e_move_type::UNIFORM] = std::make_unique<UniformMoveGenerator>();
21+ avail_moves[(int )e_move_type::MEDIAN] = std::make_unique<MedianMoveGenerator>();
22+ avail_moves[(int )e_move_type::CENTROID] = std::make_unique<CentroidMoveGenerator>();
23+ avail_moves[(int )e_move_type::W_CENTROID] = std::make_unique<WeightedCentroidMoveGenerator>();
24+ avail_moves[(int )e_move_type::W_MEDIAN] = std::make_unique<WeightedMedianMoveGenerator>();
25+ avail_moves[(int )e_move_type::CRIT_UNIFORM] = std::make_unique<CriticalUniformMoveGenerator>();
26+ avail_moves[(int )e_move_type::FEASIBLE_REGION] = std::make_unique<FeasibleRegionMoveGenerator>();
2527
2628 karmed_bandit_agent = std::move (agent);
2729}
2830
2931SimpleRLMoveGenerator::SimpleRLMoveGenerator (std::unique_ptr<EpsilonGreedyAgent>& agent) {
30- avail_moves.emplace_back (std::make_unique<UniformMoveGenerator>());
31- avail_moves.emplace_back (std::make_unique<MedianMoveGenerator>());
32- avail_moves.emplace_back (std::make_unique<CentroidMoveGenerator>());
33- avail_moves.emplace_back (std::make_unique<WeightedCentroidMoveGenerator>());
34- avail_moves.emplace_back (std::make_unique<WeightedMedianMoveGenerator>());
35- avail_moves.emplace_back (std::make_unique<CriticalUniformMoveGenerator>());
36- avail_moves.emplace_back (std::make_unique<FeasibleRegionMoveGenerator>());
32+ avail_moves.resize ((int )e_move_type::NUMBER_OF_AUTO_MOVES);
33+
34+ avail_moves[(int )e_move_type::UNIFORM] = std::make_unique<UniformMoveGenerator>();
35+ avail_moves[(int )e_move_type::MEDIAN] = std::make_unique<MedianMoveGenerator>();
36+ avail_moves[(int )e_move_type::CENTROID] = std::make_unique<CentroidMoveGenerator>();
37+ avail_moves[(int )e_move_type::W_CENTROID] = std::make_unique<WeightedCentroidMoveGenerator>();
38+ avail_moves[(int )e_move_type::W_MEDIAN] = std::make_unique<WeightedMedianMoveGenerator>();
39+ avail_moves[(int )e_move_type::CRIT_UNIFORM] = std::make_unique<CriticalUniformMoveGenerator>();
40+ avail_moves[(int )e_move_type::FEASIBLE_REGION] = std::make_unique<FeasibleRegionMoveGenerator>();
3741
3842 karmed_bandit_agent = std::move (agent);
3943}
0 commit comments