AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
operator_id_tiebreaker.h
1#ifndef PROBFD_POLICY_PICKER_OPERATOR_ID_TIEBREAKER_H
2#define PROBFD_POLICY_PICKER_OPERATOR_ID_TIEBREAKER_H
3
4#include "probfd/policy_pickers/stable_policy_picker.h"
5
6#include "probfd/fdr_types.h"
7
8#include "downward/operator_id.h"
9
10#include <optional>
11#include <vector>
12
13namespace probfd::policy_pickers {
14
15class OperatorIdTiebreaker
16 : public StablePolicyPicker<State, OperatorID, OperatorIdTiebreaker> {
17 const int ascending_;
18
19public:
20 explicit OperatorIdTiebreaker(bool stable_policy, bool prefer_smaller);
21
22 int pick_index(
23 FDRMDP& mdp,
24 std::optional<OperatorID> prev_policy,
25 const std::vector<Transition<OperatorID>>& greedy_transitions,
26 algorithms::StateProperties& properties) override;
27};
28
29} // namespace probfd::policy_pickers
30
31#endif // PROBFD_POLICY_PICKER_OPERATOR_ID_TIEBREAKER_H
MDP< State, OperatorID > FDRMDP
Type alias for MDPs with states in FDR.
Definition fdr_types.h:42