55#ifndef GUM_MULTI_DIM_ICI_MODEL_H
56#define GUM_MULTI_DIM_ICI_MODEL_H
79 template <
typename GUM_ELEMENT >
90 MultiDimICIModel(GUM_ELEMENT external_weight, GUM_ELEMENT default_weight = (GUM_ELEMENT)1.0);
118 std::string
toString()
const override;
173 const std::string&
name()
const override;
196#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
Set of pairs of elements with fast search for both elements.
Set of pairs of elements with fast search for both elements.
Base class for discrete random variable.
The class for generic Hash Tables.
Class for assigning/browsing values to tuples of discrete variables.
Abstract base class for all multi dimensionnal containers.
abstract class for Conditional Indepency Models
void setDecNotification(const gum::Instantiation &) override
Copy of a multiDimICIModel.
void setLastNotification(const gum::Instantiation &) override
Copy of a multiDimICIModel.
void changeNotification(const gum::Instantiation &, const gum::DiscreteVariable *const, gum::Idx, gum::Idx) override
Copy of a multiDimICIModel.
void setChangeNotification(const gum::Instantiation &) override
Copy of a multiDimICIModel.
MultiDimICIModel(const MultiDimICIModel< GUM_ELEMENT > &from)
Default constructor.
GUM_ELEMENT _external_weight_
in Henrion (89).
MultiDimICIModel(GUM_ELEMENT external_weight, GUM_ELEMENT default_weight=(GUM_ELEMENT) 1.0)
Default constructor.
GUM_ELEMENT externalWeight() const
Copy of a multiDimICIModel.
Size realSize() const override
void replace_(const DiscreteVariable *x, const DiscreteVariable *y) override
This is called by MultiDimContainer::replace() to proceed with the replacing between x and y.
MultiDimICIModel(const Bijection< const DiscreteVariable *, const DiscreteVariable * > &bij, const MultiDimICIModel< GUM_ELEMENT > &from)
Copy constructor using a bijection to swap variables from source.
HashTable< const DiscreteVariable *, GUM_ELEMENT > _causal_weights_
in Henrion (89) in a hashtable with a default_value.
void causalWeight(const DiscreteVariable &v, GUM_ELEMENT w) const
Copy of a multiDimICIModel.
std::string toString() const override
Copy of a multiDimICIModel.
void setFirstNotification(const gum::Instantiation &) override
Copy of a multiDimICIModel.
GUM_ELEMENT _default_weight_
in Henrion (89) in a hashtable with a default_value.
GUM_ELEMENT causalWeight(const DiscreteVariable &v) const
Copy of a multiDimICIModel.
~MultiDimICIModel() override
Destructor.
void setIncNotification(const gum::Instantiation &) override
Copy of a multiDimICIModel.
void copyFrom(const MultiDimContainer< GUM_ELEMENT > &src) const override
Copy of a multiDimICIModel.
const std::string & name() const override
returns the real name of the multiDimArray
void externalWeight(GUM_ELEMENT w) const
Copy of a multiDimICIModel.
MultiDimReadOnly()
Default constructor.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Size Idx
Type for indexes.
A Interface to all Causal Independence models.
Header of the MultiDimReadOnly class.
gum is the global namespace for all aGrUM entities