AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
policy_generator.h
1#ifndef PROBFD_CARTESIAN_POLICY_GENERATOR_H
2#define PROBFD_CARTESIAN_POLICY_GENERATOR_H
3
4#include "probfd/cartesian_abstractions/types.h"
5
6#include <memory>
7
8// Forward Declarations
9namespace utils {
10class CountdownTimer;
11} // namespace utils
12
13namespace probfd::cartesian_abstractions {
14class CartesianAbstraction;
15class CartesianHeuristic;
16} // namespace probfd::cartesian_abstractions
17
18namespace probfd::cartesian_abstractions {
19
20class PolicyGenerator {
21public:
22 virtual ~PolicyGenerator() = default;
23
24 virtual std::unique_ptr<Solution> find_solution(
25 CartesianAbstraction& abstraction,
26 const AbstractState* init_id,
27 CartesianHeuristic& heuristic,
28 utils::CountdownTimer& time_limit) = 0;
29};
30
31} // namespace probfd::cartesian_abstractions
32
33#endif // PROBFD_CARTESIAN_POLICY_GENERATOR_H