![]() |
aGrUM
0.16.0
|
namespace for all probabilistic relational models entities More...
Namespaces | |
gspan | |
o3prm | |
o3prmr | |
Classes | |
class | ClassBayesNet |
This class decorates a gum::prm::Class<GUM_SCALAR> has an IBaseBayesNet. More... | |
class | ClassDependencyGraph |
This class represent the dependencies of all classes in a PRM<GUM_SCALAR>. More... | |
class | ClusteredLayerGenerator |
<agrum/PRM/generator/clusteredLayerGenerator.h> More... | |
class | GroundedInference |
<agrum/PRM/groundedInference.h> More... | |
class | GSpan |
This class discovers pattern in a PRM<GUM_SCALAR>'s PRMSystem<GUM_SCALAR> to speed up structured inference. More... | |
class | InstanceBayesNet |
This class decorates an PRMInstance<GUM_SCALAR> as an IBaseBayesNet. More... | |
class | IPRMFactory |
non-template interface-like parent for every PRM Factory More... | |
class | LayerGenerator |
<agrum/PRM/generator/layerGenerator.h> More... | |
class | NameGenerator |
This is a name generator for classes, types, systems, instances and class elements. More... | |
struct | ParamScopeData |
class | PRM |
This class represents a Probabilistic Relational PRMSystem<GUM_SCALAR>. More... | |
class | PRMAggregate |
class | PRMAttribute |
PRMAttribute is a member of a Class in a PRM. More... | |
class | PRMClass |
A PRMClass is an object of a PRM representing a fragment of a Bayesian Network which can be instantiated in PRMInstance. More... | |
class | PRMClassElement |
Abstract class representing an element of PRM class. More... | |
class | PRMClassElementContainer |
<agrum/PRM/classElementContainer.h> More... | |
class | PRMFactory |
Factory which builds a PRM<GUM_SCALAR>. More... | |
class | PRMFormAttribute |
<agrum/PRM/elements/formAttribute.h> More... | |
class | PRMFuncAttribute |
<agrum/PRM/elements/funcAttribute.h> More... | |
class | PRMGenerator |
This class is the base class to all PRM generators. More... | |
class | PRMInference |
This abstract class is used as base class for all inference class on PRM<GUM_SCALAR>. More... | |
class | PRMInstance |
An PRMInstance is a Bayesian Network fragment defined by a Class and used in a PRMSystem. More... | |
class | PRMInterface |
An PRMInterface is implemented by a Class<GUM_SCALAR> and defines a set of PRMReferenceSlot<GUM_SCALAR> and PRMAttribute<GUM_SCALAR> which the implementing Class<GUM_SCALAR> must contain. More... | |
class | PRMObject |
Abstract base class for any element defined in a PRM. More... | |
class | PRMParameter |
PRMParameter is a member of a Class in a PRM. More... | |
class | PRMReferenceSlot |
A PRMReferenceSlot represent a relation between two PRMClassElementContainer. More... | |
class | PRMScalarAttribute |
<agrum/PRM/elements/scalarAttribute.h> More... | |
class | PRMSlotChain |
A PRMSlotChain represents a sequence of gum::prm::PRMClassElement<GUM_SCALAR> where the n-1 first gum::prm::PRMClassElement<GUM_SCALAR> are gum::prm::PRMReferenceSlot and the last gum::prm::PRMClassElement<GUM_SCALAR> an gum::prm::PRMAttribute or an gum::prm::PRMAggregate. More... | |
class | PRMSystem |
A PRMSystem is a container of PRMInstance and describe a relational skeleton. More... | |
class | PRMType |
This is a decoration of the DiscreteVariable class. More... | |
class | StructuredBayesBall |
<agrum/PRM/structuredBayesBall.h> More... | |
class | StructuredInference |
<agrum/PRM/structuredInference.h> More... | |
class | SVE |
This class is an implementation of the Structured Variable Elimination algorithm on PRM<GUM_SCALAR>. More... | |
class | SVED |
This class is an implementation of the Structured Value Elimination algorithm on PRM<GUM_SCALAR>. More... | |
Typedefs | |
typedef float | prm_float |
PRMType for real numbers. More... | |
Functions | |
std::ostream & | operator<< (std::ostream &out, PRMObject::prm_type obj_type) |
For printing PRMType easily. More... | |
template<typename GUM_SCALAR > | |
std::string | __print_attribute__ (const PRMInstance< GUM_SCALAR > &i, const PRMAttribute< GUM_SCALAR > &a) |
template<typename GUM_SCALAR > | |
std::string | __print_instance__ (const PRMInstance< GUM_SCALAR > &i) |
template<typename GUM_SCALAR > | |
std::string | __print_system__ (const PRMSystem< GUM_SCALAR > &s) |
template<typename LIST > | |
std::string | __print_list__ (LIST l) |
template<typename GUM_SCALAR > | |
std::string | __print_pot__ (const Potential< GUM_SCALAR > &pot) |
template<typename SET > | |
std::string | __print_set__ (SET set) |
void | decomposePath (const std::string &path, std::vector< std::string > &v) |
Decompose a string in a vector of strings using "." as separators. More... | |
NodeId | nextNodeId () |
Returns the next value of an unique counter for PRM's node id. More... | |
template<typename GUM_SCALAR > | |
Potential< GUM_SCALAR > * | copyPotential (const Bijection< const DiscreteVariable *, const DiscreteVariable * > &bij, const Potential< GUM_SCALAR > &source) |
Returns a copy of a Potential after applying a bijection over the variables in source. More... | |
template<typename GUM_SCALAR > | |
Potential< GUM_SCALAR > * | multPotential (const Potential< GUM_SCALAR > &t1, const Potential< GUM_SCALAR > &t2) |
template<typename GUM_SCALAR > | |
void | eliminateNode (const DiscreteVariable *var, Set< Potential< GUM_SCALAR > * > &pool, Set< Potential< GUM_SCALAR > * > &trash) |
Proceeds with the elimination of var in pool. More... | |
template<typename GUM_SCALAR > | |
void | eliminateNodes (const std::vector< const DiscreteVariable * > &elim_order, Set< Potential< GUM_SCALAR > * > &pool, Set< Potential< GUM_SCALAR > * > &trash) |
namespace for all probabilistic relational models entities
typedef float gum::prm::prm_float |
PRMType for real numbers.
Definition at line 47 of file utils_prm.h.
std::string gum::prm::__print_attribute__ | ( | const PRMInstance< GUM_SCALAR > & | i, |
const PRMAttribute< GUM_SCALAR > & | a | ||
) |
Definition at line 36 of file SVE_tpl.h.
References gum::prm::PRMObject::name(), gum::prm::PRMClassElement< GUM_SCALAR >::safeName(), gum::prm::PRMAttribute< GUM_SCALAR >::type(), gum::prm::PRMInstance< GUM_SCALAR >::type(), and gum::prm::PRMType::variable().
Referenced by __print_instance__().
std::string gum::prm::__print_instance__ | ( | const PRMInstance< GUM_SCALAR > & | i | ) |
Definition at line 49 of file SVE_tpl.h.
References __print_attribute__(), and gum::prm::PRMObject::name().
Referenced by __print_system__().
std::string gum::prm::__print_list__ | ( | LIST | l | ) |
std::string gum::prm::__print_pot__ | ( | const Potential< GUM_SCALAR > & | pot | ) |
Definition at line 86 of file SVE_tpl.h.
References gum::MultiDimDecorator< GUM_SCALAR >::variablesSequence().
Referenced by __print_set__().
std::string gum::prm::__print_set__ | ( | SET | set | ) |
Definition at line 97 of file SVE_tpl.h.
References __print_pot__().
std::string gum::prm::__print_system__ | ( | const PRMSystem< GUM_SCALAR > & | s | ) |
Definition at line 66 of file SVE_tpl.h.
References __print_instance__().
Potential< GUM_SCALAR > * gum::prm::copyPotential | ( | const Bijection< const DiscreteVariable *, const DiscreteVariable * > & | bij, |
const Potential< GUM_SCALAR > & | source | ||
) |
Returns a copy of a Potential after applying a bijection over the variables in source.
This copies the Potential source in a new Potential by permuting all variables in source with respect to bij.
bij | A Bijection of DiscreteVariable where firsts are variables in source and seconds variables added in the returned Potential. |
source | The copied Potential. |
FatalError | raised if an unknown MultiDimImplementation is encountered. |
Definition at line 29 of file utils_prm_tpl.h.
References gum::MultiDimDecorator< GUM_SCALAR >::add(), gum::MultiDimBucket< GUM_SCALAR >::compute(), gum::MultiDimDecorator< GUM_SCALAR >::content(), GUM_ERROR, gum::MultiDimImplementation< GUM_SCALAR >::newFactory(), gum::BijectionImplementation< T1, T2, Alloc, std::is_scalar< T1 >::value &&std::is_scalar< T2 >::value >::second(), and gum::MultiDimImplementation< GUM_SCALAR >::variablesSequence().
Referenced by gum::prm::SVED< GUM_SCALAR >::__insertLiftedNodes(), gum::prm::SVE< GUM_SCALAR >::__insertLiftedNodes(), gum::prm::StructuredInference< GUM_SCALAR >::__reduceAloneInstances(), gum::prm::StructuredInference< GUM_SCALAR >::__translatePotSet(), and gum::prm::PRMScalarAttribute< GUM_SCALAR >::copy().
void gum::prm::decomposePath | ( | const std::string & | path, |
std::vector< std::string > & | v | ||
) |
Decompose a string in a vector of strings using "." as separators.
Definition at line 29 of file utils_prm.cpp.
References gum::prm::PRMObject::LEFT_CAST(), and gum::prm::PRMObject::RIGHT_CAST().
Referenced by gum::prm::PRMFactory< GUM_SCALAR >::__buildSlotChain(), and gum::prm::o3prm::O3ClassFactory< GUM_SCALAR >::__resolveSlotChain().
void gum::prm::eliminateNode | ( | const DiscreteVariable * | var, |
Set< Potential< GUM_SCALAR > * > & | pool, | ||
Set< Potential< GUM_SCALAR > * > & | trash | ||
) |
Proceeds with the elimination of var in pool.
var | The variable eliminated from every potentials in pool. |
pool | A pool of potentials in wich the elimination of var is done. |
trash | All create potentials are inserted in this set, useful to delete later. |
Definition at line 111 of file utils_prm_tpl.h.
References gum::Set< Key, Alloc >::begin(), gum::MultiDimCombinationDefault< GUM_SCALAR, TABLE >::combine(), gum::MultiDimDecorator< GUM_SCALAR >::erase(), gum::Set< Key, Alloc >::insert(), gum::Potential< GUM_SCALAR >::margSumOut(), multPotential(), and gum::Set< Key, Alloc >::size().
Referenced by gum::prm::StructuredInference< GUM_SCALAR >::__buildReduceGraph(), gum::prm::SVED< GUM_SCALAR >::__eliminateNodesWithEvidence(), gum::prm::StructuredInference< GUM_SCALAR >::__eliminateObservedNodes(), gum::prm::StructuredInference< GUM_SCALAR >::__eliminateObservedNodesInSource(), gum::prm::SVED< GUM_SCALAR >::__initLiftedNodes(), gum::prm::SVE< GUM_SCALAR >::__initLiftedNodes(), gum::prm::StructuredInference< GUM_SCALAR >::__reduceAloneInstances(), gum::prm::StructuredInference< GUM_SCALAR >::__reducePattern(), gum::prm::StructuredInference< GUM_SCALAR >::CData::CData(), and eliminateNodes().
void gum::prm::eliminateNodes | ( | const std::vector< const DiscreteVariable * > & | elim_order, |
Set< Potential< GUM_SCALAR > * > & | pool, | ||
Set< Potential< GUM_SCALAR > * > & | trash | ||
) |
Definition at line 150 of file utils_prm_tpl.h.
References eliminateNode().
Referenced by gum::prm::SVED< GUM_SCALAR >::__eliminateNodes(), gum::prm::SVE< GUM_SCALAR >::__eliminateNodes(), gum::prm::SVED< GUM_SCALAR >::__eliminateNodesDownward(), gum::prm::SVED< GUM_SCALAR >::__eliminateNodesUpward(), gum::prm::SVE< GUM_SCALAR >::__eliminateNodesWithEvidence(), and gum::prm::SVE< GUM_SCALAR >::__variableElimination().
Potential< GUM_SCALAR > * gum::prm::multPotential | ( | const Potential< GUM_SCALAR > & | t1, |
const Potential< GUM_SCALAR > & | t2 | ||
) |
Definition at line 105 of file utils_prm_tpl.h.
Referenced by gum::prm::StructuredInference< GUM_SCALAR >::_marginal(), and eliminateNode().
NodeId gum::prm::nextNodeId | ( | ) |
Returns the next value of an unique counter for PRM's node id.
Definition at line 65 of file utils_prm.cpp.
Referenced by gum::prm::PRMClass< double >::__addCastDescendants(), gum::prm::PRMInterface< double >::__addCastDescendants(), gum::prm::PRMInterface< double >::__overloadAttribute(), gum::prm::PRMClass< double >::__overloadAttribute(), gum::MultiDimFunctionGraphManager< bool, ExactTerminalNodePolicy >::_reduce(), gum::prm::PRMInterface< double >::add(), and gum::prm::PRMClass< double >::add().
std::ostream & gum::prm::operator<< | ( | std::ostream & | out, |
PRMObject::prm_type | obj_type | ||
) |
For printing PRMType easily.
Definition at line 78 of file PRMObject.cpp.
References gum::prm::PRMObject::enum2str().