AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
policy_picker.h
1#ifndef PROBFD_ALGORITHMS_POLICY_PICKER_H
2#define PROBFD_ALGORITHMS_POLICY_PICKER_H
3
4#include "probfd/types.h"
5
6#include <optional>
7#include <ostream>
8#include <vector>
9
10// Forward Declarations
11namespace probfd {
12template <typename>
13class Distribution;
14template <typename>
15struct Transition;
16template <typename, typename>
17class MDP;
18} // namespace probfd
19
20namespace probfd::algorithms {
21class StateProperties;
22}
23
24namespace probfd::algorithms {
56template <typename State, typename Action>
58public:
59 virtual ~PolicyPicker() = default;
60
72 virtual int pick_index(
74 std::optional<Action> incumbent_greedy,
75 const std::vector<Transition<Action>>& greedy_transitions,
76 StateProperties& properties) = 0;
77
82 virtual void print_statistics(std::ostream&) {}
83};
84
85} // namespace probfd::algorithms
86
87#endif // PROBFD_ALGORITHMS_POLICY_PICKER_H
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
virtual void print_statistics(std::ostream &)
Prints statistics to an output stream, e.g. the number of queries made to the interface.
Definition policy_picker.h:82
virtual int pick_index(MDP< State, Action > &mdp, std::optional< Action > incumbent_greedy, const std::vector< Transition< Action > > &greedy_transitions, StateProperties &properties)=0
Selects a greedy transition from multiple candidates by returning its index in the candidate list.
Interface providing access to various state properties during heuristic search.
Definition state_properties.h:22
This namespace contains implementations of SSP search algorithms.
Definition acyclic_value_iteration.h:22
The top-level namespace of probabilistic Fast Downward.
Definition command_line.h:8