AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
evaluator.h
1#ifndef PROBFD_EVALUATOR_H
2#define PROBFD_EVALUATOR_H
3
4#include "probfd/type_traits.h"
5#include "probfd/types.h"
6#include "probfd/value_type.h"
7
8namespace probfd {
9
15template <typename State>
16class Evaluator {
17public:
18 virtual ~Evaluator() = default;
19
24 virtual value_t evaluate(param_type<State> state) const = 0;
25
30 virtual void print_statistics() const {}
31};
32
33} // namespace probfd
34
35#endif // PROBFD_EVALUATOR_H
virtual void print_statistics() const
Prints statistics, e.g. the number of queries made to the interface.
Definition evaluator.h:30
virtual value_t evaluate(param_type< State > state) const =0
Evaluates the heuristic on a given state and returns the heuristic value.
The top-level namespace of probabilistic Fast Downward.
Definition command_line.h:8
double value_t
Typedef for the state value type.
Definition aliases.h:7
typename std::conditional_t< is_cheap_to_copy_v< T >, T, const T & > param_type
Alias template defining the best way to pass a parameter of a given type.
Definition type_traits.h:25