1#ifndef PROBFD_TASKS_DOMAIN_ABSTRACTED_TASK_H
2#define PROBFD_TASKS_DOMAIN_ABSTRACTED_TASK_H
4#include "probfd/tasks/delegating_task.h"
10namespace probfd::extra_tasks {
18class DomainAbstractedTask :
public tasks::DelegatingTask {
19 const std::vector<int> domain_size_;
20 const std::vector<int> initial_state_values_;
21 const std::vector<FactPair> goals_;
22 const std::vector<std::vector<std::string>> fact_names_;
23 const std::vector<std::vector<int>> value_map_;
25 const value_t non_goal_termination_cost;
27 FactPair get_abstract_fact(
const FactPair& fact)
const;
31 const std::shared_ptr<ProbabilisticTask>& parent,
32 std::vector<int>&& domain_size,
33 std::vector<int>&& initial_state_values,
34 std::vector<FactPair>&& goals,
35 std::vector<std::vector<std::string>>&& fact_names,
36 std::vector<std::vector<int>>&& value_map);
38 value_t get_non_goal_termination_cost()
const override;
40 int get_variable_domain_size(
int var)
const override;
41 std::string get_fact_name(
const FactPair& fact)
const override;
42 bool are_facts_mutex(
const FactPair& fact1,
const FactPair& fact2)
46 get_axiom_precondition(
int op_index,
int fact_index)
const override;
47 FactPair get_axiom_effect(
int op_index,
int eff_index)
const override;
50 get_operator_precondition(
int op_index,
int fact_index)
const override;
53 get_operator_outcome_effect(
int op_index,
int outcome_index,
int eff_index)
56 FactPair get_goal_fact(
int index)
const override;
58 std::vector<int> get_initial_state_values()
const override;
60 convert_state_values_from_parent(std::vector<int>& values)
const override;
double value_t
Typedef for the state value type.
Definition aliases.h:7