1#ifndef TESTS_TASKS_BLOCKSWORLD_H
2#define TESTS_TASKS_BLOCKSWORLD_H
4#include "probfd/probabilistic_task.h"
15 const int pick_up_begin;
16 const int pick_table_begin;
17 const int put_tower_block_begin;
18 const int put_tower_down_begin;
19 const int put_on_block_begin;
20 const int put_table_begin;
24 std::vector<std::string> fact_names;
29 std::vector<FactPair> effects;
35 std::vector<FactPair> preconditions;
36 std::vector<EffectInfo> outcomes;
39 std::vector<VariableInfo> variables;
40 std::vector<OperatorInfo> operators;
42 std::vector<int> initial_state;
43 std::vector<FactPair> goal_state;
48 const std::vector<std::vector<int>>& initial,
49 const std::vector<std::vector<int>>& goal);
51 int get_num_variables()
const override;
53 std::string get_variable_name(
int var)
const override;
55 int get_variable_domain_size(
int var)
const override;
57 int get_variable_axiom_layer(
int var)
const override;
59 int get_variable_default_axiom_value(
int var)
const override;
61 std::string get_fact_name(
const FactPair& fact)
const override;
63 bool are_facts_mutex(
const FactPair&,
const FactPair&)
const override;
65 int get_num_axioms()
const override;
67 std::string get_axiom_name(
int)
const override;
69 int get_num_axiom_preconditions(
int)
const override;
71 FactPair get_axiom_precondition(
int,
int)
const override;
73 int get_num_axiom_effects(
int)
const override;
75 int get_num_axiom_effect_conditions(
int,
int)
const override;
77 FactPair get_axiom_effect_condition(
int,
int,
int)
const override;
79 FactPair get_axiom_effect(
int,
int)
const override;
81 std::string get_operator_name(
int index)
const override;
83 int get_num_operators()
const override;
85 int get_num_operator_preconditions(
int index)
const override;
88 get_operator_precondition(
int index,
int fact_index)
const override;
90 int get_num_goals()
const override;
92 FactPair get_goal_fact(
int index)
const override;
94 std::vector<int> get_initial_state_values()
const override;
96 void convert_ancestor_state_values(std::vector<int>&,
const PlanningTask*)
99 int convert_operator_index(
int,
const PlanningTask*)
const override;
103 int get_num_operator_outcomes(
int index)
const override;
106 get_operator_outcome_probability(
int index,
int outcome_index)
109 int get_operator_outcome_id(
int index,
int outcome_index)
const override;
111 int get_num_operator_outcome_effects(
int index,
int outcome_index)
115 get_operator_outcome_effect(
int index,
int outcome_index,
int eff_index)
118 int get_num_operator_outcome_effect_conditions(
121 int eff_index)
const override;
123 FactPair get_operator_outcome_effect_condition(
127 int cond_index)
const override;
131 int get_clear_var(
int block)
const;
132 int get_location_var(
int block)
const;
133 int get_hand_var()
const;
135 FactPair get_fact_is_block_clear(
int block,
bool is_clear)
const;
136 FactPair get_fact_block_on_block(
int block1,
int block2)
const;
137 FactPair get_fact_block_on_table(
int block)
const;
138 FactPair get_fact_block_in_hand(
int block)
const;
139 FactPair get_fact_is_hand_empty(
bool is_empty)
const;
141 int get_operator_pick_up_tower_index(
int b1,
int b2,
int b3)
const;
142 int get_operator_pick_up_block_on_block_index(
int b1,
int b2)
const;
143 int get_operator_pick_up_block_from_table_index(
int b)
const;
145 int get_operator_put_tower_on_block_index(
int b1,
int b2,
int b3)
const;
146 int get_operator_put_tower_on_table_index(
int b1,
int b2)
const;
147 int get_operator_put_block_on_block_index(
int b1,
int b2)
const;
148 int get_operator_put_block_on_table_index(
int b)
const;
150 State get_state(
const std::vector<FactPair>& facts);
Represents a probabilistic planning task with axioms and conditional effects.
Definition probabilistic_task.h:19
double value_t
Typedef for the state value type.
Definition aliases.h:7