Public Member Functions | Private Types | Private Member Functions | Private Attributes
CausalGraph Class Reference

#include <causal_graph.h>

List of all members.

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

Detailed Description

Definition at line 14 of file preprocess/causal_graph.h.


Member Typedef Documentation

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.


Constructor & Destructor Documentation

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.

Definition at line 57 of file preprocess/causal_graph.h.

CausalGraph::CausalGraph ( istream &  in)

Definition at line 10 of file search/causal_graph.cpp.

Definition at line 16 of file search/causal_graph.h.


Member Function Documentation

Definition at line 333 of file preprocess/causal_graph.cpp.

Definition at line 253 of file preprocess/causal_graph.cpp.

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.

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.


Member Data Documentation

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.

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.

Definition at line 25 of file preprocess/causal_graph.h.


The documentation for this class was generated from the following files:


tfd_modules
Author(s): Maintained by Christian Dornhege (see AUTHORS file).
autogenerated on Mon Oct 6 2014 07:52:06