aGrUM  0.14.2
multiDimNoisyORNet.h
Go to the documentation of this file.
1 /***************************************************************************
2  * Copyright (C) 2005 by Pierre-Henri WUILLEMIN et Christophe GONZALES *
3  * {prenom.nom}_at_lip6.fr *
4  * *
5  * This program is free software; you can redistribute it and/or modify *
6  * it under the terms of the GNU General Public License as published by *
7  * the Free Software Foundation; either version 2 of the License, or *
8  * (at your option) any later version. *
9  * *
10  * This program is distributed in the hope that it will be useful, *
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13  * GNU General Public License for more details. *
14  * *
15  * You should have received a copy of the GNU General Public License *
16  * along with this program; if not, write to the *
17  * Free Software Foundation, Inc., *
18  * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19  ***************************************************************************/
26 #ifndef GUM_MULTI_DIM_NOISY_OR_NET_H
27 #define GUM_MULTI_DIM_NOISY_OR_NET_H
28 
30 
31 namespace gum {
32 
33  // clang-format off
50  // clang-format on
51  template < typename GUM_SCALAR >
52  class MultiDimNoisyORNet : public MultiDimICIModel< GUM_SCALAR > {
53  public:
54  // ============================================================================
56  // ============================================================================
58 
60  MultiDimNoisyORNet(GUM_SCALAR external_weight,
61  GUM_SCALAR default_weight = (GUM_SCALAR)1.0);
62 
64 
74 
76  virtual ~MultiDimNoisyORNet();
77 
79 
98 
99  // ============================================================================
101  // ============================================================================
103 
104  public:
105  virtual GUM_SCALAR get(const Instantiation& i) const;
106 
107  const std::string toString() const;
108 
110 
121  virtual const std::string& name() const;
122 
124  };
125 
126 
127 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
128  extern template class MultiDimNoisyORNet< double >;
129 #endif
130 
132  template < typename GUM_SCALAR >
133  std::ostream& operator<<(std::ostream& s,
135 
136 } /* namespace gum */
137 
139 
140 #endif /* GUM_MULTI_DIM_NOISY_OR_NET_H */
Noisy OR representation.
gum is the global namespace for all aGrUM entities
Definition: agrum.h:25
Abstract base class for all multi dimensionnal containers.
Abstract base class for all multi dimensionnal Causal Independency models.
std::ostream & operator<<(std::ostream &output, const BayesNet< GUM_SCALAR > &bn)
Prints map&#39;s DAG in output using the Graphviz-dot format.
Definition: BayesNet_tpl.h:583
abstract class for Conditional Indepency Models
const std::string toString() const
Returns the real name of the multiDimArray.
virtual const std::string & name() const
Returns the real name of the multiDimArray.
virtual MultiDimContainer< GUM_SCALAR > * newFactory() const
This method creates a clone of this object, withouth its content (including variable), you must use this method if you want to ensure that the generated object has the same type than the object containing the called newFactory()
Set of pairs of elements with fast search for both elements.
Definition: bijection.h:1803
class for NoisyOR-net implementation as multiDim
Class for assigning/browsing values to tuples of discrete variables.
Definition: instantiation.h:80
MultiDimNoisyORNet(GUM_SCALAR external_weight, GUM_SCALAR default_weight=(GUM_SCALAR) 1.0)
Default constructor.
virtual ~MultiDimNoisyORNet()
Destructor.