AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
projection_transformation.h
1#ifndef PROBFD_PDBS_PROJECTION_TRANSFORMATION_H
2#define PROBFD_PDBS_PROJECTION_TRANSFORMATION_H
3
4#include "probfd/pdbs/state_ranking_function.h"
5#include "probfd/pdbs/types.h"
6
7#include "probfd/fdr_types.h"
8#include "probfd/value_type.h"
9
10#include <vector>
11
12// Forward Declarations
13namespace probfd {
14class ProbabilisticTaskProxy;
15}
16
17namespace probfd::pdbs {
18class ProjectionStateSpace;
19}
20
21namespace probfd::pdbs {
22
23struct ProjectionTransformation {
24 StateRankingFunction ranking_function;
25 std::unique_ptr<ProjectionStateSpace> projection;
26 std::vector<value_t> distances;
27
28 // Constructs the transformation's abstraction mapping and state space,
29 // and allocates the J* value table, initially filled with NaNs.
30 ProjectionTransformation(
31 ProbabilisticTaskProxy task_proxy,
32 std::shared_ptr<FDRSimpleCostFunction> task_cost_function,
33 Pattern pattern,
34 bool operator_pruning = true,
35 double max_time = std::numeric_limits<double>::infinity());
36
37 ProjectionTransformation(ProjectionTransformation&&) noexcept;
38 ProjectionTransformation& operator=(ProjectionTransformation&&) noexcept;
39 ~ProjectionTransformation();
40};
41
42} // namespace probfd::pdbs
43
44#endif // PROBFD_PDBS_PROJECTION_TRANSFORMATION_H
Namespace dedicated to probabilistic pattern databases.
Definition gzocp_heuristic.h:16
The top-level namespace of probabilistic Fast Downward.
Definition command_line.h:8