1#ifndef PROBFD_PDBS_MATCH_TREE_H
2#define PROBFD_PDBS_MATCH_TREE_H
4#include "probfd/fdr_types.h"
6#include "probfd/pdbs/types.h"
23class AssignmentEnumerator;
24class ProjectionOperator;
25class ProjectionStateSpace;
36 std::unique_ptr<Node> root_;
37 std::vector<ProjectionOperator> projection_operators_;
38 mutable std::stack<Node*> nodes_;
41 explicit MatchTree(
size_t hint_num_operators = 0);
50 const AssignmentEnumerator& ranking_function,
52 const std::vector<FactPair>& progression_preconditions,
60 StateRank abstract_state,
61 std::vector<const ProjectionOperator*>& operators)
const;
68 StateRank abstract_state,
69 std::vector<Transition<const ProjectionOperator*>>& transitions,
75 void dump(std::ostream& out)
const;
78 void dump_recursive(std::ostream& out, Node* node)
const;
Applicable actions generator for projections.
Definition match_tree.h:33
void generate_all_transitions(StateRank abstract_state, std::vector< Transition< const ProjectionOperator * > > &transitions, ProjectionStateSpace &state_space) const
Obtain the applicable prohjection operators for a given abstract state.
void dump(std::ostream &out) const
Dump the match tree to an output stream.
void insert(const AssignmentEnumerator &ranking_function, ProjectionOperator op, const std::vector< FactPair > &progression_preconditions, FDRSimpleCostFunction *task_cost_function)
Insert a new projection operator with the given preconditions into the match tree.
void get_applicable_operators(StateRank abstract_state, std::vector< const ProjectionOperator * > &operators) const
Obtain the applicable prohjection operators for a given abstract state.
Represents an operator of a projection state space.
Definition projection_operator.h:18
Represents the state space of a projection of a probabilistic planning task.
Definition projection_state_space.h:29
Namespace dedicated to probabilistic pattern databases.
Definition gzocp_heuristic.h:16
The top-level namespace of probabilistic Fast Downward.
Definition command_line.h:8
SimpleCostFunction< State, OperatorID > FDRSimpleCostFunction
Type alias for simple cost functions for MDPs in FDR.
Definition fdr_types.h:39