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, UTGenerator* utGenerator);
98 ~InfluenceDiagramGenerator();
114 InfluenceDiagram< GUM_SCALAR >* generateID(Size nbrNodes,
115 GUM_SCALAR arcDensity,
116 GUM_SCALAR chanceNodeDensity,
117 GUM_SCALAR utilityNodeDensity,
118 Size max_modality = 2);
123 void _checkTemporalOrder_(InfluenceDiagram< GUM_SCALAR >* infdiag);
125 ICPTGenerator< GUM_SCALAR >* _cptGenerator_;
127 UTGenerator* _utGenerator_;
132 #include <agrum/ID/generator/influenceDiagramGenerator_tpl.h>