![]() |
aGrUM
0.16.0
|
Class for generating bayesian networks. More...
#include <agrum/BN/generator/IBayesNetGenerator.h>
Public Member Functions | |
Constructors / Destructor | |
IBayesNetGenerator (Size nbrNodes, Size maxArcs, Size maxModality) | |
constructor. More... | |
virtual | ~IBayesNetGenerator () |
Destructor. More... | |
BN generation methods | |
virtual void | generateBN (BayesNet< GUM_SCALAR > &bayesNet)=0 |
Virtual function that Generates a bayesian networks. More... | |
void | fillCPT () |
function that insert random values in the CPT of each nodes according to the CPTGenerator. More... | |
Getters | |
Size | nbrNodes () const |
Return a constant reference to the number of nodes imposed on the IBayesNetGenerator. More... | |
Size | maxArcs () const |
Return a constant reference to the maximum number of arcs imposed on the IBayesNetGenerator. More... | |
Size | maxModality () const |
Return a constant reference to the maximum modality imposed on the IBayesNetGenerator. More... | |
Setters | |
void | setNbrNodes (Size nbrNodes) |
Modifies the value of the number of nodes imposed on the BayesGenerator. More... | |
void | setMaxArcs (Size maxArcs) |
Modifies the value of the number of nodes imposed on the BayesGenerator. More... | |
void | setMaxModality (Size maxModality) |
Modifies the value of the number of nodes imposed on the BayesGenerator. More... | |
Protected Attributes | |
Size | _nbrNodes |
Size | _maxArcs |
Size | _maxModality |
BayesNet< GUM_SCALAR > | _bayesNet |
Class for generating bayesian networks.
This class is the abstract class for randomly generating a bayesian network given three parameters: the number of nodes the wanted maximum number of arcs and the maximum number of modality for each node.
Definition at line 63 of file IBayesNetGenerator.h.
INLINE gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::IBayesNetGenerator | ( | Size | nbrNodes, |
Size | maxArcs, | ||
Size | maxModality | ||
) |
constructor.
Use by default the SimpleCPTGenerator for generating the BNs CPT.
nbrNodes | The number of nodes in the generated BN. |
maxArcs | The number of maximum number of arcs imposed on the generator |
maxModality | Each DRV has from 2 to maxModality modalities |
OperationNotAllowed | if the number of maximum arcs does not allow the generation of a connexe graph maxArcs < nbrNodes -1, is too big maxArcs > nbrNodes *(nbrNodes -1) /2 and if the maximum of modality is lower than 2. |
Definition at line 39 of file IBayesNetGenerator_tpl.h.
References gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::_maxArcs, gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::_maxModality, gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::_nbrNodes, GUM_ERROR, gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::maxArcs(), gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::maxModality(), and gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::nbrNodes().
|
virtual |
Destructor.
Definition at line 58 of file IBayesNetGenerator_tpl.h.
void gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::fillCPT | ( | ) |
function that insert random values in the CPT of each nodes according to the CPTGenerator.
Definition at line 64 of file IBayesNetGenerator_tpl.h.
References gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::_bayesNet.
Referenced by gum::SimpleBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::generateBN(), and gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::generateBN().
|
pure virtual |
Virtual function that Generates a bayesian networks.
bayesNet | Bayesian Network to be completed after initialisation |
Implemented in gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >, and gum::SimpleBayesNetGenerator< GUM_SCALAR, ICPTGenerator >.
INLINE Size gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::maxArcs | ( | ) | const |
Return a constant reference to the maximum number of arcs imposed on the IBayesNetGenerator.
Definition at line 82 of file IBayesNetGenerator_tpl.h.
References gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::_maxArcs.
Referenced by gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::IBayesNetGenerator(), and gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::setMaxArcs().
INLINE Size gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::maxModality | ( | ) | const |
Return a constant reference to the maximum modality imposed on the IBayesNetGenerator.
Definition at line 72 of file IBayesNetGenerator_tpl.h.
References gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::_maxModality.
Referenced by gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::IBayesNetGenerator(), and gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::setMaxModality().
INLINE Size gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::nbrNodes | ( | ) | const |
Return a constant reference to the number of nodes imposed on the IBayesNetGenerator.
Definition at line 77 of file IBayesNetGenerator_tpl.h.
References gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::_nbrNodes.
Referenced by gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::IBayesNetGenerator(), and gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::setNbrNodes().
INLINE void gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::setMaxArcs | ( | Size | maxArcs | ) |
Modifies the value of the number of nodes imposed on the BayesGenerator.
Definition at line 106 of file IBayesNetGenerator_tpl.h.
References gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::_maxArcs, gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::_nbrNodes, GUM_ERROR, and gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::maxArcs().
INLINE void gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::setMaxModality | ( | Size | maxModality | ) |
Modifies the value of the number of nodes imposed on the BayesGenerator.
Definition at line 87 of file IBayesNetGenerator_tpl.h.
References gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::_maxModality, GUM_ERROR, and gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::maxModality().
INLINE void gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::setNbrNodes | ( | Size | nbrNodes | ) |
Modifies the value of the number of nodes imposed on the BayesGenerator.
Definition at line 97 of file IBayesNetGenerator_tpl.h.
References gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::_maxArcs, gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::_nbrNodes, GUM_ERROR, and gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::nbrNodes().
|
protected |
Definition at line 167 of file IBayesNetGenerator.h.
Referenced by gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::__AorR(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::__AR(), gum::MaxInducedWidthMCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::__checkConditions(), gum::MaxParentsMCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::__checkConditions(), 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 >::__eraseArc(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::__insertArc(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::__isPolytree(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::__jump_multi(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::__jump_poly(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::__PMMx_multi(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::__PMMx_poly(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::__transformPoly(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::disturbBN(), gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::fillCPT(), gum::SimpleBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::generateBN(), and gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::generateBN().
|
protected |
Definition at line 165 of file IBayesNetGenerator.h.
Referenced by gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::__checkConditions(), gum::SimpleBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::generateBN(), gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::IBayesNetGenerator(), gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::maxArcs(), gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::setMaxArcs(), and gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::setNbrNodes().
|
protected |
Definition at line 166 of file IBayesNetGenerator.h.
Referenced by gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::__createPartTree(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::__createTree(), gum::SimpleBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::generateBN(), gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::IBayesNetGenerator(), gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::maxModality(), and gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::setMaxModality().
|
protected |
Definition at line 164 of file IBayesNetGenerator.h.
Referenced by gum::SimpleBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::generateBN(), gum::MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber >::generateBN(), gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::IBayesNetGenerator(), gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::nbrNodes(), gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::setMaxArcs(), and gum::IBayesNetGenerator< GUM_SCALAR, ICPTGenerator >::setNbrNodes().