1#ifndef PROBFD_PDBS_PROJECTION_STATE_SPACE_H
2#define PROBFD_PDBS_PROJECTION_STATE_SPACE_H
4#include "probfd/pdbs/match_tree.h"
5#include "probfd/pdbs/types.h"
7#include "probfd/fdr_types.h"
16class ProbabilisticTaskProxy;
20class ProjectionOperator;
21class StateRankingFunction;
29 :
public SimpleMDP<StateRank, const ProjectionOperator*> {
31 std::shared_ptr<FDRSimpleCostFunction> parent_cost_function_;
32 std::vector<bool> goal_state_flags_;
37 std::shared_ptr<FDRSimpleCostFunction> task_cost_function,
39 bool operator_pruning =
true,
40 double max_time = std::numeric_limits<double>::infinity());
42 StateID get_state_id(StateRank state)
override;
46 void generate_applicable_actions(
48 std::vector<const ProjectionOperator*>& aops)
override;
50 void generate_action_transitions(
55 void generate_all_transitions(
57 std::vector<const ProjectionOperator*>& aops,
60 void generate_all_transitions(
62 std::vector<TransitionType>& transitions)
override;
65 bool is_goal(StateRank state)
const override;
68 value_t get_non_goal_termination_cost()
const override;
A convenience class that represents a finite probability distribution.
Definition task_state_space.h:27
Proxy class used to inspect a probabilistic planning task.
Definition task_proxy.h:194
Basic interface for MDPs.
Definition mdp.h:27
Applicable actions generator for projections.
Definition match_tree.h:33
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
StateRank get_state(StateID id) override
Get the state mapped to a given state ID.
Implements the state ranking function for abstract states of projections.
Definition state_ranking_function.h:24
Namespace dedicated to probabilistic pattern databases.
Definition gzocp_heuristic.h:16
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
A StateID represents a state within a StateIDMap. Just like Fast Downward's StateID type,...
Definition types.h:22