27 #ifndef GUM_CLUSTERED_LAYER_GENERATOR_H 28 #define GUM_CLUSTERED_LAYER_GENERATOR_H 53 template <
typename GUM_SCALAR >
106 std::vector< typename LayerGenerator< GUM_SCALAR >::LayerData >&
getLayer();
107 const std::vector< typename LayerGenerator< GUM_SCALAR >::LayerData >&
115 std::vector< typename LayerGenerator< GUM_SCALAR >::LayerData >
__layers;
124 std::vector< std::string >
a;
125 std::vector< std::string >
g;
127 std::vector< std::string >
c;
133 const std::string& type,
134 std::vector< MyData >& l);
138 const std::string& type,
139 std::vector< typename ClusteredLayerGenerator::MyData >& l);
143 const std::string& type,
144 std::vector< typename ClusteredLayerGenerator::MyData >& l,
150 const std::string& type,
151 std::vector< typename ClusteredLayerGenerator::MyData >& l,
159 std::vector< typename ClusteredLayerGenerator::MyData >& l);
163 std::vector< typename ClusteredLayerGenerator::MyData >& l);
This class is the base class to all PRM generators.
HashTable< std::string, std::vector< std::string > *> __cluster_map
Size getMaxParents() const
Returns the max number of parents allowed for any attribute or aggregator.
<agrum/PRM/generator/clusteredLayerGenerator.h>
Class for generating bayesian networks.
std::string __generateType(PRMFactory< GUM_SCALAR > &f)
void __generateSystem(PRMFactory< GUM_SCALAR > &factory, std::vector< typename ClusteredLayerGenerator::MyData > &l)
void setLayers(const std::vector< typename LayerGenerator< GUM_SCALAR >::LayerData > &v)
Defines the structure of each layers.
Headers of LayerGenerator.
std::vector< std::string > g
std::vector< typename LayerGenerator< GUM_SCALAR >::LayerData > & getLayer()
Getters and setters.
gum is the global namespace for all aGrUM entities
double getClusterRatio() const
Returns the odds of a given class to be replaced by a cluster.
The class for generic Hash Tables.
ClusteredLayerGenerator & operator=(const ClusteredLayerGenerator &source)
Copy operator.
void __generateInterfaces(PRMFactory< GUM_SCALAR > &f, const std::string &type, std::vector< MyData > &l)
Inline implementation of ClusteredLayerGenerator.
std::vector< typename LayerGenerator< GUM_SCALAR >::LayerData > __layers
Factory which builds a PRM<GUM_SCALAR>.
void __generateClassDag(Size lvl, DAG &dag, Bijection< std::string, NodeId > &names, std::vector< typename ClusteredLayerGenerator::MyData > &l)
void __generateClasses(PRMFactory< GUM_SCALAR > &f, const std::string &type, std::vector< typename ClusteredLayerGenerator::MyData > &l)
ClusteredLayerGenerator()
Default constructor.
virtual PRM< GUM_SCALAR > * generate()
Proceeds with the generation of the PRM<GUM_SCALAR>.
std::vector< std::string > a
This class represents a Probabilistic Relational PRMSystem<GUM_SCALAR>.
void __generateClass(PRMFactory< GUM_SCALAR > &f, const std::string &type, std::vector< typename ClusteredLayerGenerator::MyData > &l, Size lvl, Set< std::string > &i)
virtual ~ClusteredLayerGenerator()
Destructor.
void setClusterRatio(double ratio)
Define the odds of a given class to be replaced by a cluster.
void setDomainSize(Size s)
Set the domain size of generated types.
void setMaxParents(Size s)
Returns the max number of parents allowed for any attribute or aggregator.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
void __generateCluster(PRMFactory< GUM_SCALAR > &f, const std::string &type, std::vector< typename ClusteredLayerGenerator::MyData > &l, Size lvl, Set< std::string > &i)
std::vector< std::string > c
Size getDomainSize() const
Getters and setters.