30 #ifndef GUM_CLUSTERED_LAYER_GENERATOR_H 31 #define GUM_CLUSTERED_LAYER_GENERATOR_H 56 template <
typename GUM_SCALAR >
109 std::vector< typename LayerGenerator< GUM_SCALAR >::LayerData >&
getLayer();
110 const std::vector< typename LayerGenerator< GUM_SCALAR >::LayerData >&
118 std::vector< typename LayerGenerator< GUM_SCALAR >::LayerData >
__layers;
127 std::vector< std::string >
a;
128 std::vector< std::string >
g;
130 std::vector< std::string >
c;
136 const std::string& type,
137 std::vector< MyData >& l);
141 const std::string& type,
142 std::vector< typename ClusteredLayerGenerator::MyData >& l);
146 const std::string& type,
147 std::vector< typename ClusteredLayerGenerator::MyData >& l,
153 const std::string& type,
154 std::vector< typename ClusteredLayerGenerator::MyData >& l,
162 std::vector< typename ClusteredLayerGenerator::MyData >& l);
166 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
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Size getMaxParents() const
Returns the max number of parents allowed for any attribute or aggregator.
<agrum/PRM/generator/clusteredLayerGenerator.h>
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
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.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
std::vector< std::string > g
std::vector< typename LayerGenerator< GUM_SCALAR >::LayerData > & getLayer()
Getters and setters.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
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)
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
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.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.