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