3#include "downward/utils/rng.h"
5namespace probfd::policy_pickers {
7template <
typename State,
typename Action>
8RandomTiebreaker<State, Action>::RandomTiebreaker(
13 std::make_shared<utils::RandomNumberGenerator>(random_seed))
17template <
typename State,
typename Action>
18RandomTiebreaker<State, Action>::RandomTiebreaker(
20 std::shared_ptr<utils::RandomNumberGenerator> rng)
21 : RandomTiebreaker::StablePolicyPicker(stable_policy)
22 , rng_(
std::move(rng))
26template <
typename State,
typename Action>
27int RandomTiebreaker<State, Action>::pick_index(
29 std::optional<Action>,
30 const std::vector<Transition<Action>>& greedy_transitions,
31 algorithms::StateProperties&)
33 return rng_->random(greedy_transitions.size());