#include <causal_graph.h>
Public Member Functions | |
CausalGraph (istream &in) | |
CausalGraph (const vector< Variable * > &variables, const vector< Operator > &operators, const vector< Axiom_relational > &axioms_rel, const vector< Axiom_functional > &axioms_func, const vector< pair< Variable *, int > > &the_goals) | |
void | dump () const |
void | dump () const |
void | generate_cpp_input (ostream &outfile, const vector< Variable * > &ordered_vars) const |
void | get_comp_vars_for_func_var (int var, vector< int > &comp_vars) |
void | get_functional_vars_in_unrolled_term (int top_var, set< int > &intermediate_vars) |
const vector< int > & | get_neighbours (int var) const |
const vector< int > & | get_successors (int var) const |
const vector< Variable * > & | get_variable_ordering () const |
bool | is_acyclic () const |
~CausalGraph () | |
~CausalGraph () | |
Private Types | |
typedef vector< Variable * > | Ordering |
typedef vector< vector < Variable * > > | Partition |
typedef map< Variable *, Predecessors > | PredecessorGraph |
typedef map< Variable *, int > | Predecessors |
typedef map< Variable *, WeightedSuccessors > | WeightedGraph |
typedef map< Variable *, int > | WeightedSuccessors |
Private Member Functions | |
void | calculate_important_vars () |
void | calculate_pseudo_sort () |
void | calculate_topological_pseudo_sort (const Partition &sccs) |
void | count (Variable *curr_source, Variable *curr_target) |
void | dfs (Variable *from) |
void | get_strongly_connected_components (Partition &sccs) |
void | weigh_graph_from_axioms_func (const vector< Variable * > &variables, const vector< Axiom_functional > &axioms_func, const vector< pair< Variable *, int > > &goals) |
void | weigh_graph_from_axioms_rel (const vector< Variable * > &variables, const vector< Axiom_relational > &axioms_rel, const vector< pair< Variable *, int > > &goals) |
void | weigh_graph_from_ops (const vector< Variable * > &variables, const vector< Operator > &operators, const vector< pair< Variable *, int > > &goals) |
Private Attributes | |
bool | acyclic |
vector< vector< int > > | arcs |
const vector< Axiom_functional > & | axioms_func |
const vector< Axiom_relational > & | axioms_rel |
vector< vector< int > > | edges |
const vector< pair< Variable *, int > > & | goals |
const vector< Operator > & | operators |
Ordering | ordering |
PredecessorGraph | predecessor_graph |
const vector< Variable * > & | variables |
WeightedGraph | weighted_graph |
Definition at line 14 of file preprocess/causal_graph.h.
typedef vector<Variable *> CausalGraph::Ordering [private] |
Definition at line 32 of file preprocess/causal_graph.h.
typedef vector<vector<Variable *> > CausalGraph::Partition [private] |
Definition at line 31 of file preprocess/causal_graph.h.
typedef map<Variable *, Predecessors> CausalGraph::PredecessorGraph [private] |
Definition at line 27 of file preprocess/causal_graph.h.
typedef map<Variable *, int> CausalGraph::Predecessors [private] |
Definition at line 26 of file preprocess/causal_graph.h.
typedef map<Variable *, WeightedSuccessors> CausalGraph::WeightedGraph [private] |
Definition at line 24 of file preprocess/causal_graph.h.
typedef map<Variable *, int> CausalGraph::WeightedSuccessors [private] |
Definition at line 23 of file preprocess/causal_graph.h.
CausalGraph::CausalGraph | ( | const vector< Variable * > & | variables, |
const vector< Operator > & | operators, | ||
const vector< Axiom_relational > & | axioms_rel, | ||
const vector< Axiom_functional > & | axioms_func, | ||
const vector< pair< Variable *, int > > & | the_goals | ||
) |
Definition at line 212 of file preprocess/causal_graph.cpp.
CausalGraph::~CausalGraph | ( | ) | [inline] |
Definition at line 57 of file preprocess/causal_graph.h.
CausalGraph::CausalGraph | ( | istream & | in | ) |
Definition at line 10 of file search/causal_graph.cpp.
CausalGraph::~CausalGraph | ( | ) | [inline] |
Definition at line 16 of file search/causal_graph.h.
void CausalGraph::calculate_important_vars | ( | ) | [private] |
Definition at line 333 of file preprocess/causal_graph.cpp.
void CausalGraph::calculate_pseudo_sort | ( | ) | [private] |
Definition at line 253 of file preprocess/causal_graph.cpp.
void CausalGraph::calculate_topological_pseudo_sort | ( | const Partition & | sccs | ) | [private] |
Definition at line 257 of file preprocess/causal_graph.cpp.
void CausalGraph::count | ( | Variable * | curr_source, |
Variable * | curr_target | ||
) | [private] |
Definition at line 164 of file preprocess/causal_graph.cpp.
void CausalGraph::dfs | ( | Variable * | from | ) | [private] |
Definition at line 373 of file preprocess/causal_graph.cpp.
void CausalGraph::dump | ( | ) | const |
void CausalGraph::dump | ( | ) | const |
Definition at line 393 of file preprocess/causal_graph.cpp.
void CausalGraph::generate_cpp_input | ( | ostream & | outfile, |
const vector< Variable * > & | ordered_vars | ||
) | const |
Definition at line 413 of file preprocess/causal_graph.cpp.
void CausalGraph::get_comp_vars_for_func_var | ( | int | var, |
vector< int > & | comp_vars | ||
) |
Definition at line 46 of file search/causal_graph.cpp.
void CausalGraph::get_functional_vars_in_unrolled_term | ( | int | top_var, |
set< int > & | intermediate_vars | ||
) |
Definition at line 59 of file search/causal_graph.cpp.
const vector< int > & CausalGraph::get_neighbours | ( | int | var | ) | const |
Definition at line 41 of file search/causal_graph.cpp.
void CausalGraph::get_strongly_connected_components | ( | Partition & | sccs | ) | [private] |
Definition at line 306 of file preprocess/causal_graph.cpp.
const vector< int > & CausalGraph::get_successors | ( | int | var | ) | const |
Definition at line 36 of file search/causal_graph.cpp.
const vector< Variable * > & CausalGraph::get_variable_ordering | ( | ) | const |
Definition at line 385 of file preprocess/causal_graph.cpp.
bool CausalGraph::is_acyclic | ( | ) | const |
Definition at line 389 of file preprocess/causal_graph.cpp.
void CausalGraph::weigh_graph_from_axioms_func | ( | const vector< Variable * > & | variables, |
const vector< Axiom_functional > & | axioms_func, | ||
const vector< pair< Variable *, int > > & | goals | ||
) | [private] |
Definition at line 201 of file preprocess/causal_graph.cpp.
void CausalGraph::weigh_graph_from_axioms_rel | ( | const vector< Variable * > & | variables, |
const vector< Axiom_relational > & | axioms_rel, | ||
const vector< pair< Variable *, int > > & | goals | ||
) | [private] |
Definition at line 181 of file preprocess/causal_graph.cpp.
void CausalGraph::weigh_graph_from_ops | ( | const vector< Variable * > & | variables, |
const vector< Operator > & | operators, | ||
const vector< pair< Variable *, int > > & | goals | ||
) | [private] |
Definition at line 38 of file preprocess/causal_graph.cpp.
bool CausalGraph::acyclic [private] |
Definition at line 34 of file preprocess/causal_graph.h.
vector<vector<int> > CausalGraph::arcs [private] |
Definition at line 12 of file search/causal_graph.h.
const vector<Axiom_functional>& CausalGraph::axioms_func [private] |
Definition at line 20 of file preprocess/causal_graph.h.
const vector<Axiom_relational>& CausalGraph::axioms_rel [private] |
Definition at line 19 of file preprocess/causal_graph.h.
vector<vector<int> > CausalGraph::edges [private] |
Definition at line 13 of file search/causal_graph.h.
const vector<pair<Variable *, int> >& CausalGraph::goals [private] |
Definition at line 21 of file preprocess/causal_graph.h.
const vector<Operator>& CausalGraph::operators [private] |
Definition at line 18 of file preprocess/causal_graph.h.
Ordering CausalGraph::ordering [private] |
Definition at line 33 of file preprocess/causal_graph.h.
Definition at line 29 of file preprocess/causal_graph.h.
const vector<Variable *>& CausalGraph::variables [private] |
Definition at line 17 of file preprocess/causal_graph.h.
WeightedGraph CausalGraph::weighted_graph [private] |
Definition at line 25 of file preprocess/causal_graph.h.