1#ifndef PROBFD_TASK_UTILS_CAUSAL_GRAPH_H
2#define PROBFD_TASK_UTILS_CAUSAL_GRAPH_H
11class ProbabilisticTask;
12class ProbabilisticTaskProxy;
15namespace probfd::causal_graph {
17using IntRelation = std::vector<std::vector<int>>;
19class ProbabilisticCausalGraph {
20 IntRelation pre_to_eff;
21 IntRelation eff_to_pre;
22 IntRelation eff_to_eff;
24 IntRelation successors;
25 IntRelation predecessors;
28 dump(
const ProbabilisticTaskProxy& task_proxy, utils::LogProxy& log)
const;
33 explicit ProbabilisticCausalGraph(
const ProbabilisticTaskProxy& task_proxy);
53 const std::vector<int>& get_pre_to_eff(
int var)
const
55 return pre_to_eff[var];
58 const std::vector<int>& get_eff_to_pre(
int var)
const
60 return eff_to_pre[var];
63 const std::vector<int>& get_eff_to_same_eff(
int var)
const
65 return eff_to_eff[var];
68 const std::vector<int>& get_eff_to_co_eff(
int var)
const
70 return eff_to_eff[var];
73 const std::vector<int>& get_successors(
int var)
const
75 return successors[var];
78 const std::vector<int>& get_predecessors(
int var)
const
80 return predecessors[var];
83 const std::vector<std::vector<int>>& get_arcs()
const {
return successors; }
85 const std::vector<std::vector<int>>& get_inverse_arcs()
const
93extern const ProbabilisticCausalGraph&
94get_causal_graph(
const ProbabilisticTask* task);
The top-level namespace of probabilistic Fast Downward.
Definition command_line.h:8