1#ifndef PROBFD_TASKS_DELEGATING_TASK_H
2#define PROBFD_TASKS_DELEGATING_TASK_H
4#include "probfd/probabilistic_task.h"
6#include "probfd/value_type.h"
14class DelegatingTask :
public ProbabilisticTask {
16 const std::shared_ptr<ProbabilisticTask> parent_;
19 explicit DelegatingTask(
const std::shared_ptr<ProbabilisticTask>& parent);
21 value_t get_non_goal_termination_cost()
const override;
23 int get_num_variables()
const override;
24 std::string get_variable_name(
int var)
const override;
25 int get_variable_domain_size(
int var)
const override;
26 int get_variable_axiom_layer(
int var)
const override;
27 int get_variable_default_axiom_value(
int var)
const override;
28 std::string get_fact_name(
const FactPair& fact)
const override;
29 bool are_facts_mutex(
const FactPair& fact1,
const FactPair& fact2)
32 int get_num_axioms()
const override;
34 std::string get_axiom_name(
int index)
const override;
35 int get_num_axiom_preconditions(
int index)
const override;
37 get_axiom_precondition(
int op_index,
int fact_index)
const override;
38 int get_num_axiom_effects(
int op_index)
const override;
40 get_num_axiom_effect_conditions(
int op_index,
int eff_index)
const override;
42 get_axiom_effect_condition(
int op_index,
int eff_index,
int cond_index)
44 FactPair get_axiom_effect(
int op_index,
int eff_index)
const override;
46 value_t get_operator_cost(
int index)
const override;
47 std::string get_operator_name(
int index)
const override;
48 int get_num_operators()
const override;
49 int get_num_operator_preconditions(
int index)
const override;
51 get_operator_precondition(
int op_index,
int fact_index)
const override;
53 int get_num_goals()
const override;
54 FactPair get_goal_fact(
int index)
const override;
56 std::vector<int> get_initial_state_values()
const override;
58 void convert_ancestor_state_values(
59 std::vector<int>& values,
60 const PlanningTask* ancestor_task)
const override;
62 int convert_operator_index(
int index,
const PlanningTask* ancestor_task)
65 int get_num_operator_outcomes(
int op_index)
const override;
67 value_t get_operator_outcome_probability(
int op_index,
int outcome_index)
70 int get_operator_outcome_id(
int op_index,
int outcome_index)
const override;
72 int get_num_operator_outcome_effects(
int op_index,
int outcome_index)
76 get_operator_outcome_effect(
int op_index,
int outcome_index,
int eff_index)
79 int get_num_operator_outcome_effect_conditions(
82 int eff_index)
const override;
84 FactPair get_operator_outcome_effect_condition(
88 int cond_index)
const override;
90 virtual void convert_state_values_from_parent(std::vector<int>&)
const {}
92 virtual int convert_operator_index_to_parent(
int index)
const
This namespace contains implementations of probabilistic planning tasks.
Definition cost_adapted_task.h:12
double value_t
Typedef for the state value type.
Definition aliases.h:7