AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
zero_one_pdbs.h
1#ifndef PDBS_ZERO_ONE_PDBS_H
2#define PDBS_ZERO_ONE_PDBS_H
3
4#include "downward/pdbs/types.h"
5
6class State;
7class TaskProxy;
8
9namespace utils {
10class LogProxy;
11}
12
13namespace pdbs {
14class ZeroOnePDBs {
15 PDBCollection pattern_databases;
16
17public:
18 ZeroOnePDBs(const TaskProxy& task_proxy, const PatternCollection& patterns);
19 ~ZeroOnePDBs() = default;
20
21 int get_value(const State& state) const;
22 /*
23 Returns the sum of all mean finite h-values of every PDB.
24 This is an approximation of the real mean finite h-value of the Heuristic,
25 because dead-ends are ignored for the computation of the mean finite
26 h-values for a PDB. As a consequence, if different PDBs have different
27 states which are dead-end, we do not calculate the real mean h-value for
28 these states.
29 */
30 double compute_approx_mean_finite_h() const;
31 void dump(utils::LogProxy& log) const;
32};
33} // namespace pdbs
34
35#endif