1#ifndef PROBFD_PDBS_EVALUATORS_H
2#define PROBFD_PDBS_EVALUATORS_H
4#include "probfd/pdbs/types.h"
6#include "probfd/evaluator.h"
7#include "probfd/value_type.h"
15class StateRankingFunction;
16class ProbabilityAwarePatternDatabase;
25 const ::pdbs::PatternDatabase& pdb_;
28 explicit PDBEvaluator(const ::pdbs::PatternDatabase& pdb);
31 value_t evaluate(StateRank state)
const override;
35 const ::pdbs::PatternDatabase& pdb_;
38 explicit DeadendPDBEvaluator(const ::pdbs::PatternDatabase& pdb);
41 value_t evaluate(StateRank state)
const override;
45 const std::vector<value_t>& value_table_;
48 int right_multiplier_;
52 explicit IncrementalPPDBEvaluator(
53 const std::vector<value_t>& value_table,
54 const StateRankingFunction& mapper,
58 value_t evaluate(StateRank state)
const override;
62 StateRank to_parent_state(StateRank state)
const;
66 const StateRankingFunction& mapper_;
67 const ProbabilityAwarePatternDatabase& left_;
68 const ProbabilityAwarePatternDatabase& right_;
69 const value_t termination_cost_;
73 const StateRankingFunction& mapper,
74 const ProbabilityAwarePatternDatabase& left,
75 const ProbabilityAwarePatternDatabase& right,
79 value_t evaluate(StateRank state)
const override;
The interface representing heuristic functions.
Definition mdp_algorithm.h:16
Namespace dedicated to probabilistic pattern databases.
Definition gzocp_heuristic.h:16
Evaluator< StateRank > StateRankEvaluator
Type alias for heuristics for projection states.
Definition evaluators.h:22
double value_t
Typedef for the state value type.
Definition aliases.h:7