aGrUM  0.14.2
multiDimNoisyORCompound.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  ***************************************************************************/
27 #ifndef GUM_MULTI_DIM_NOISY_OR_COMPOUND_H
28 #define GUM_MULTI_DIM_NOISY_OR_COMPOUND_H
29 
31 
32 namespace gum {
33 
34  // ===========================================================================
35  // === GUM_MULTI_DIM_NOISYOR_COMPOU ===
36  // ===========================================================================
37  // clang-format off
54  // clang-format on
55  template < typename GUM_SCALAR >
56 
57  class MultiDimNoisyORCompound : public MultiDimICIModel< GUM_SCALAR > {
58  public:
59  // ============================================================================
61  // ============================================================================
63 
65  MultiDimNoisyORCompound(GUM_SCALAR external_weight,
66  GUM_SCALAR default_weight = (GUM_SCALAR)1.0);
67 
69 
79 
81  virtual ~MultiDimNoisyORCompound();
82 
84 
99 
100  // ############################################################################
102  // ############################################################################
104 
105  public:
106  virtual GUM_SCALAR get(const Instantiation& i) const;
107 
108  const std::string toString() const;
109 
111 
121  virtual const std::string& name() const;
122 
124  };
125 
126 
127 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
128  extern template class MultiDimNoisyORCompound< 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_COMPOUND_H */
virtual const std::string & name() const
returns the real name of the multiDimArray
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
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() For example : MultiDimArray<double> y; MultiDimContainer<double>* x = y.newFactory(); Then x is a MultiDimArray<double>*.
ANoisy-OR as described by Henrion (UAI-3, 1989, pp161-173)
abstract class for Conditional Indepency Models
Set of pairs of elements with fast search for both elements.
Definition: bijection.h:1803
virtual ~MultiDimNoisyORCompound()
Destructor.
const std::string toString() const
returns the real name of the multiDimArray
Class for assigning/browsing values to tuples of discrete variables.
Definition: instantiation.h:80
MultiDimNoisyORCompound(GUM_SCALAR external_weight, GUM_SCALAR default_weight=(GUM_SCALAR) 1.0)
Default constructor.