aGrUM  0.16.0
maxParentsMCBayesNetGenerator.h
Go to the documentation of this file.
1 
30 #ifndef GUM_MAX_PARENTS_MC_BAYES_NET_GENERATOR
31 #define GUM_MAX_PARENTS_MC_BAYES_NET_GENERATOR
32 
33 #include <agrum/agrum.h>
34 
35 #include <fstream>
36 #include <iostream>
37 #include <set>
38 #include <vector>
39 
40 #include <sstream>
41 
42 #ifdef HAVE_DIRENT_H
43 # include <dirent.h>
44 #else
45 # include <agrum/core/mvsc/dirent.h>
46 #endif
47 
48 
49 #include <agrum/BN/BayesNet.h>
54 
55 namespace gum {
87  template < typename GUM_SCALAR,
88  template < typename > class ICPTGenerator = SimpleCPTGenerator,
89  template < typename > class ICPTDisturber = SimpleCPTDisturber >
91  : public MCBayesNetGenerator< GUM_SCALAR, ICPTGenerator, ICPTDisturber > {
92  public:
93  // ############################################################################
95  // ############################################################################
97 
119  Size maxArcs,
120  Size maxModality = 2,
121  Size maxParents = 1,
122  Idx iteration = 5000,
123  Idx p = 30,
124  Idx q = 40);
125 
146  Size maxParents = 2,
147  Idx iteration = 5000,
148  Idx p = 30,
149  Idx q = 40);
150 
155 
157 
158  // ############################################################################
160  // ############################################################################
163 
169  Size maxParents() const;
170 
172 
176  void setMaxParents(Size maxParents);
178 
179  protected:
181 
182  private:
188  bool __checkConditions() final;
189  };
190 
191 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
192  extern template class MaxParentsMCBayesNetGenerator< double >;
193 #endif
194 
195 } /*namespace gum*/
196 
198 #endif // MCBAYESNETGENERATOR
Class representing a Bayesian Network.
Definition: BayesNet.h:78
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
<agrum/BN/generator/SimpleMCayesNetGenerator.h>
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Idx q() const
Return a constant reference to the probabilité imposed on the Markov Chain BayesNetGenerator.
void setMaxParents(Size maxParents)
Modifies the value of the number of maximum parents imposed on the BayesNetGenerator.
<agrum/BN/generator/MCayesNetGenerator.h>
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Size nbrNodes() const
Return a constant reference to the number of nodes imposed on the IBayesNetGenerator.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
Size maxArcs() const
Return a constant reference to the maximum number of arcs imposed on the IBayesNetGenerator.
bool __checkConditions() final
function to holding the the specification wanted for the Bayesian markov.
MaxParentsMCBayesNetGenerator(Size nbrNodes, Size maxArcs, Size maxModality=2, Size maxParents=1, Idx iteration=5000, Idx p=30, Idx q=40)
Constructor.
Size maxParents() const
Return a constant reference to the number of maximum parents imposed on the Markov Chain BayesNetGene...
Size Idx
Type for indexes.
Definition: types.h:53
Size iteration() const
Return a constant reference to the number of iteration imposed on the Markov Chain BayesNetGenerator...
std::size_t Size
In aGrUM, hashed values are unsigned long int.
Definition: types.h:48
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Idx p() const
Return a constant reference to the probabilité p imposed on the Markov Chain BayesNetGenerator.
Size maxModality() const
Return a constant reference to the maximum modality imposed on the IBayesNetGenerator.