![]() |
aGrUM 2.3.2
a C++ library for (probabilistic) graphical models
|
<agrum/BN/generator/simpleBayesNetGenerator.h> More...
#include <simpleBayesNetGenerator.h>
Public Member Functions | |
Constructors / Destructor | |
| SimpleBayesNetGenerator (Size nbrNodes, Size maxArcs, Size maxModality=2) | |
| Constructor. | |
| ~SimpleBayesNetGenerator () override | |
| Destructor. | |
BN generation methods | |
| void | generateBN (BayesNet< GUM_SCALAR > &bayesNet) override |
| function that generates a Bayesian networks. | |
BN generation methods | |
| void | fromDAG (BayesNet< GUM_SCALAR > &bayesNet) |
| Virtual function that Generates a Bayesian networks. | |
| void | fillCPT (BayesNet< GUM_SCALAR > &bn) const |
| function that insert random values in the CPT of each nodes according to the CPTGenerator. | |
Getters | |
| Size | nbrNodes () const |
| Return a constant reference to the number of nodes imposed on the IBayesNetGenerator. | |
| Size | maxArcs () const |
| Return a constant reference to the maximum number of arcs imposed on the IBayesNetGenerator. | |
| Size | maxModality () const |
| Return a constant reference to the maximum modality imposed on the IBayesNetGenerator. | |
Setters | |
| void | setNbrNodes (Size nbrNodes) |
| Modifies the value of the number of nodes imposed on the BayesGenerator. | |
| void | setMaxArcs (Size maxArcs) |
| Modifies the value of the number of nodes imposed on the BayesGenerator. | |
| void | setMaxModality (Size maxModality) |
| Modifies the value of the number of nodes imposed on the BayesGenerator. | |
CPT generation methods | |
| void | generateCPT (const Idx &varId, const Tensor< GUM_SCALAR > &cpt) const override |
| Generates a CPT using floats. | |
Protected Attributes | |
| Size | nbrNodes_ |
| Size | maxArcs_ |
| Size | maxModality_ |
| DAG | dag_ |
<agrum/BN/generator/simpleBayesNetGenerator.h>
Class for generating Bayesian networks.
This class randomly generates a Bayesian network given three parameters: the number of nodes and the max number of arcs and the number of maximum modality for each nodes.
Definition at line 78 of file simpleBayesNetGenerator.h.
| INLINE gum::SimpleBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::SimpleBayesNetGenerator | ( | Size | nbrNodes, |
| Size | maxArcs, | ||
| Size | maxModality = 2 ) |
Constructor.
Use by default the SimpleCPTGenerator for generating the BNs CPT.
| nbrNodes | The number of nodes imposed on the generator. |
| maxArcs | The number of maximum arcs imposed on the generator. |
| maxModality | Each DRV has from 2 to maxModality modalities |
Definition at line 57 of file simpleBayesNetGenerator_tpl.h.
References gum::IBayesNetGenerator< GUM_SCALAR, SimpleCPTGenerator >::IBayesNetGenerator(), SimpleBayesNetGenerator(), gum::IBayesNetGenerator< GUM_SCALAR, SimpleCPTGenerator >::maxArcs(), gum::IBayesNetGenerator< GUM_SCALAR, SimpleCPTGenerator >::maxModality(), and gum::IBayesNetGenerator< GUM_SCALAR, SimpleCPTGenerator >::nbrNodes().
Referenced by SimpleBayesNetGenerator(), and ~SimpleBayesNetGenerator().
|
override |
Destructor.
Definition at line 79 of file simpleBayesNetGenerator_tpl.h.
References SimpleBayesNetGenerator().
|
inherited |
function that insert random values in the CPT of each nodes according to the CPTGenerator.
Definition at line 130 of file IBayesNetGenerator_tpl.h.
References dag_, maxModality_, and gum::randomValue().
Referenced by gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::generateBN(), and gum::SimpleBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::generateBN().
|
inherited |
Virtual function that Generates a Bayesian networks.
| bayesNet | Bayesian network to be completed after initialisation |
Definition at line 122 of file IBayesNetGenerator_tpl.h.
References maxArcs(), and maxArcs_.
Referenced by gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::generateBN(), and gum::SimpleBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::generateBN().
|
overridevirtual |
function that generates a Bayesian networks.
| bayesNet | Bayesian network to be completed after initialisation |
Implements gum::IBayesNetGenerator< GUM_SCALAR, SimpleCPTGenerator >.
Definition at line 89 of file simpleBayesNetGenerator_tpl.h.
References gum::IBayesNetGenerator< GUM_SCALAR, SimpleCPTGenerator >::dag_, gum::IBayesNetGenerator< GUM_SCALAR, SimpleCPTGenerator >::fillCPT(), gum::IBayesNetGenerator< GUM_SCALAR, SimpleCPTGenerator >::fromDAG(), gum::IBayesNetGenerator< GUM_SCALAR, SimpleCPTGenerator >::maxArcs_, gum::IBayesNetGenerator< GUM_SCALAR, SimpleCPTGenerator >::nbrNodes_, gum::randomProba(), and gum::randomValue().
|
overrideinherited |
Generates a CPT using floats.
| varId | The variable id of the CPT owner. |
| cpt | A reference on the CPT to fill. |
Definition at line 72 of file simpleCPTGenerator_tpl.h.
|
inherited |
Return a constant reference to the maximum number of arcs imposed on the IBayesNetGenerator.
Definition at line 151 of file IBayesNetGenerator_tpl.h.
Referenced by gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::MCBayesNetGenerator(), gum::SimpleBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::SimpleBayesNetGenerator(), and fromDAG().
|
inherited |
Return a constant reference to the maximum modality imposed on the IBayesNetGenerator.
Definition at line 157 of file IBayesNetGenerator_tpl.h.
Referenced by gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::MCBayesNetGenerator(), gum::SimpleBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::SimpleBayesNetGenerator(), and ~IBayesNetGenerator().
|
inherited |
Return a constant reference to the number of nodes imposed on the IBayesNetGenerator.
Definition at line 145 of file IBayesNetGenerator_tpl.h.
Referenced by gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::MCBayesNetGenerator(), and gum::SimpleBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::SimpleBayesNetGenerator().
|
inherited |
Modifies the value of the number of nodes imposed on the BayesGenerator.
Definition at line 172 of file IBayesNetGenerator_tpl.h.
|
inherited |
Modifies the value of the number of nodes imposed on the BayesGenerator.
Definition at line 177 of file IBayesNetGenerator_tpl.h.
|
inherited |
Modifies the value of the number of nodes imposed on the BayesGenerator.
Definition at line 167 of file IBayesNetGenerator_tpl.h.
|
protectedinherited |
Definition at line 187 of file IBayesNetGenerator.h.
Referenced by gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::_Add_or_Remove_(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::_checkConditions_(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::_chooseCloseNodes_(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::_chooseNodes_(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::_connect_(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::_createPartTree_(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::_createTree_(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::_directedPath_(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::_directedPath_(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::_is_connected_(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::_isPolytree_(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::_transformPoly_(), fillCPT(), and gum::SimpleBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::generateBN().
|
protectedinherited |
Definition at line 185 of file IBayesNetGenerator.h.
Referenced by gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::_checkConditions_(), fromDAG(), and gum::SimpleBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::generateBN().
|
protectedinherited |
Definition at line 186 of file IBayesNetGenerator.h.
Referenced by ~IBayesNetGenerator(), and fillCPT().
|
protectedinherited |
Definition at line 184 of file IBayesNetGenerator.h.
Referenced by gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::generateBN(), and gum::SimpleBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::generateBN().