28 #ifndef GUM_INF_DIAG_GENERATOR_H 29 #define GUM_INF_DIAG_GENERATOR_H 36 #include <agrum/BN/generator/simpleCPTGenerator.h> 37 #include <agrum/ID/generator/UTGenerator.h> 38 #include <agrum/ID/generator/simpleUTGenerator.h> 39 #include <agrum/ID/influenceDiagram.h> 40 #include <agrum/tools/variables/labelizedVariable.h> 55 template <
typename GUM_SCALAR >
56 class InfluenceDiagramGenerator {
67 InfluenceDiagramGenerator();
75 explicit InfluenceDiagramGenerator(ICPTGenerator< GUM_SCALAR >* cptGenerator);
83 explicit InfluenceDiagramGenerator(UTGenerator* utGenerator);
93 InfluenceDiagramGenerator(ICPTGenerator< GUM_SCALAR >* cptGenerator,
94 UTGenerator* utGenerator);
99 ~InfluenceDiagramGenerator();
115 InfluenceDiagram< GUM_SCALAR >* generateID(Size nbrNodes,
116 GUM_SCALAR arcDensity,
117 GUM_SCALAR chanceNodeDensity,
118 GUM_SCALAR utilityNodeDensity,
119 Size max_modality = 2);
124 void checkTemporalOrder__(InfluenceDiagram< GUM_SCALAR >* infdiag);
126 ICPTGenerator< GUM_SCALAR >* cptGenerator__;
128 UTGenerator* utGenerator__;
133 #include <agrum/ID/generator/influenceDiagramGenerator_tpl.h>