AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
potential_heuristic.h
1#ifndef POTENTIALS_POTENTIAL_HEURISTIC_H
2#define POTENTIALS_POTENTIAL_HEURISTIC_H
3
4#include "downward/heuristic.h"
5
6#include <memory>
7
8namespace potentials {
9class PotentialFunction;
10
11/*
12 Use an internal potential function to evaluate a given state.
13*/
14class PotentialHeuristic : public Heuristic {
15 std::unique_ptr<PotentialFunction> function;
16
17protected:
18 virtual int compute_heuristic(const State& ancestor_state) override;
19
20public:
21 explicit PotentialHeuristic(
22 std::unique_ptr<PotentialFunction> function,
23 const std::shared_ptr<AbstractTask>& transform,
24 bool cache_estimates,
25 const std::string& description,
26 utils::Verbosity verbosity);
27
28 ~PotentialHeuristic() override;
29};
30} // namespace potentials
31
32#endif