AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
stable_policy_picker.h
1#ifndef PROBFD_POLICY_PICKERS_STABLE_POLICY_PICKER_H
2#define PROBFD_POLICY_PICKERS_STABLE_POLICY_PICKER_H
3
4#include "probfd/algorithms/policy_picker.h"
5
6namespace probfd::policy_pickers {
7
11template <typename State, typename Action, class Derived>
12class StablePolicyPicker : public algorithms::PolicyPicker<State, Action> {
13 bool stable_policy_;
14
15public:
16 explicit StablePolicyPicker(bool stable_policy);
17
18 int pick_index(
20 std::optional<Action> previous_greedy,
21 const std::vector<Transition<Action>>& greedy_transitions,
22 algorithms::StateProperties& properties) override;
23};
24
25} // namespace probfd::policy_pickers
26
27#include "probfd/policy_pickers/stable_policy_picker_impl.h"
28
29#endif
Basic interface for MDPs.
Definition mdp_algorithm.h:14
An strategy interface used to choose break ties between multiple greedy actions for a state.
Definition policy_picker.h:57
Interface providing access to various state properties during heuristic search.
Definition state_properties.h:22
CRTP base class for stable policy picker implementations.
Definition stable_policy_picker.h:12
int pick_index(MDP< State, Action > &mdp, std::optional< Action > previous_greedy, const std::vector< Transition< Action > > &greedy_transitions, algorithms::StateProperties &properties) override
Selects a greedy transition from multiple candidates by returning its index in the candidate list.
Definition stable_policy_picker_impl.h:14