1#ifndef PROBFD_POLICY_PICKER_RANDOM_TIEBREAKER_H
2#define PROBFD_POLICY_PICKER_RANDOM_TIEBREAKER_H
4#include "probfd/policy_pickers/stable_policy_picker.h"
10class RandomNumberGenerator;
13namespace probfd::policy_pickers {
15template <
typename State,
typename Action>
17 :
public StablePolicyPicker<
20 RandomTiebreaker<State, Action>> {
21 std::shared_ptr<utils::RandomNumberGenerator> rng_;
24 explicit RandomTiebreaker(
bool stable_policy,
int random_seed);
25 explicit RandomTiebreaker(
27 std::shared_ptr<utils::RandomNumberGenerator> rng);
30 MDP<State, Action>& mdp,
31 std::optional<Action> prev_policy,
32 const std::vector<Transition<Action>>& greedy_transitions,
33 algorithms::StateProperties& properties);
38#include "probfd/policy_pickers/random_tiebreaker_impl.h"