AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
multi_policy.h
1#ifndef PROBFD_MULTI_POLICY_H
2#define PROBFD_MULTI_POLICY_H
3
4#include "probfd/interval.h"
5
6#include <ranges>
7#include <vector>
8
9namespace probfd {
10
12template <typename Action>
14 Action action;
16 Interval(-INFINITE_VALUE, INFINITE_VALUE);
17};
18
19template <typename Action>
21
33template <typename State, typename Action>
34class MultiPolicy {
35public:
36 virtual ~MultiPolicy() = default;
37
40 virtual std::vector<PolicyDecision<Action>>
41 get_decisions(const State& state) const = 0;
42};
43
44} // namespace probfd
45
46#endif
Represents a policy that can specify a set of actions for a state.
Definition types.h:13
virtual std::vector< PolicyDecision< Action > > get_decisions(const State &state) const =0
Retrives the actions and their optimal state value intervals specified by the policy for a given stat...
The top-level namespace of probabilistic Fast Downward.
Definition command_line.h:8
Represents a closed interval over the extended reals as a pair of lower and upper bound.
Definition interval.h:12
Stores an action and a bounding interval for the Q* value of this action.
Definition multi_policy.h:13
Interval q_value_interval
The Q* value interval.
Definition multi_policy.h:15
Action action
The action.
Definition multi_policy.h:14