AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
determinization_cost.h
1#ifndef PROBFD_HEURISTICS_DETERMINIZATION_COST_H
2#define PROBFD_HEURISTICS_DETERMINIZATION_COST_H
3
4#include "probfd/evaluator.h"
5#include "probfd/fdr_types.h"
6#include "probfd/probabilistic_task.h"
7#include "probfd/task_evaluator_factory.h"
8#include "probfd/value_type.h"
9
10#include <memory>
11
12// Forward Declarations
13class State;
14class Evaluator;
15
16namespace probfd::heuristics {
17
26 const std::shared_ptr<::Evaluator> evaluator_;
27
28public:
33 std::shared_ptr<::Evaluator> heuristic);
34
36
37 [[nodiscard]]
38 value_t evaluate(const State& state) const override;
39
40 void print_statistics() const override;
41};
42
43class DeterminizationCostHeuristicFactory : public TaskEvaluatorFactory {
44 const std::shared_ptr<::Evaluator> evaluator_;
45
46public:
50 explicit DeterminizationCostHeuristicFactory(
51 std::shared_ptr<::Evaluator> evaluator);
52
53 std::unique_ptr<FDREvaluator> create_evaluator(
54 std::shared_ptr<ProbabilisticTask> task,
55 std::shared_ptr<FDRCostFunction> task_cost_function) override;
56};
57
58} // namespace probfd::heuristics
59
60#endif // PROBFD_HEURISTICS_DETERMINIZATION_COST_H
Uses a classical heuristic on the all-outcomes-determinization to estimate the expected costs to reac...
Definition determinization_cost.h:25
void print_statistics() const override
Prints statistics, e.g. the number of queries made to the interface.
DeterminizationCostHeuristic(std::shared_ptr<::Evaluator > heuristic)
Construct from a classical heuristic.
This namespace contains heuristic implementations.
Definition additive_cartesian_heuristic.h:19
double value_t
Typedef for the state value type.
Definition aliases.h:7