35 #ifndef GUM_MULTI_DIM_ICI_MODEL_H 36 #define GUM_MULTI_DIM_ICI_MODEL_H 38 #include <agrum/tools/core/bijection.h> 39 #include <agrum/tools/multidim/implementations/multiDimReadOnly.h> 58 template <
typename GUM_SCALAR >
69 MultiDimICIModel(GUM_SCALAR external_weight, GUM_SCALAR default_weight = (GUM_SCALAR)1.0);
82 MultiDimICIModel(
const Bijection<
const DiscreteVariable*,
const DiscreteVariable* >& bij,
125 virtual void copyFrom(
const MultiDimContainer< GUM_SCALAR >& src)
const override;
133 GUM_SCALAR
causalWeight(
const DiscreteVariable& v)
const;
135 void causalWeight(
const DiscreteVariable& v, GUM_SCALAR w)
const;
170 virtual void replace_(
const DiscreteVariable* x,
const DiscreteVariable* y)
override;
174 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 180 #include <agrum/tools/multidim/ICIModels/multiDimICIModel_tpl.h> virtual ~MultiDimICIModel()
Destructor.
virtual void setIncNotification(const gum::Instantiation &) override
Copy of a multiDimICIModel.
INLINE void emplace(Args &&... args)
virtual void setDecNotification(const gum::Instantiation &) override
Copy of a multiDimICIModel.
GUM_SCALAR _external_weight_
in Henrion (89).
virtual void replace_(const DiscreteVariable *x, const DiscreteVariable *y) override
Replace variable x by y.
GUM_SCALAR externalWeight() const
Copy of a multiDimICIModel.
virtual void changeNotification(const gum::Instantiation &, const gum::DiscreteVariable *const, gum::Idx, gum::Idx) override
Copy of a multiDimICIModel.
abstract class for Conditional Indepency Models
void externalWeight(GUM_SCALAR w) const
Copy of a multiDimICIModel.
HashTable< const DiscreteVariable *, GUM_SCALAR > _causal_weights_
in Henrion (89) in a hashtable with a default_value.
void causalWeight(const DiscreteVariable &v, GUM_SCALAR w) const
Copy of a multiDimICIModel.
virtual Size realSize() const override
virtual const std::string & name() const override
returns the real name of the multiDimArray
MultiDimICIModel(const MultiDimICIModel< GUM_SCALAR > &from)
Default constructor.
MultiDimICIModel(const Bijection< const DiscreteVariable *, const DiscreteVariable * > &bij, const MultiDimICIModel< GUM_SCALAR > &from)
Copy constructor using a bijection to swap variables from source.
std::string toString() const override
Copy of a multiDimICIModel.
GUM_SCALAR _default_weight_
in Henrion (89) in a hashtable with a default_value.
virtual void copyFrom(const MultiDimContainer< GUM_SCALAR > &src) const override
Copy of a multiDimICIModel.
virtual void setFirstNotification(const gum::Instantiation &) override
Copy of a multiDimICIModel.
GUM_SCALAR causalWeight(const DiscreteVariable &v) const
Copy of a multiDimICIModel.
MultiDimICIModel(GUM_SCALAR external_weight, GUM_SCALAR default_weight=(GUM_SCALAR) 1.0)
Default constructor.
std::string toString(const gum::Instantiation *i) const override
Copy of a multiDimICIModel.
virtual void setChangeNotification(const gum::Instantiation &) override
Copy of a multiDimICIModel.
virtual void setLastNotification(const gum::Instantiation &) override
Copy of a multiDimICIModel.