Improved documentation of include/dai/cbp.h
[libdai.git] / examples / example_sprinkler.cpp
index 84c62e4..0d1e570 100644 (file)
@@ -1,3 +1,13 @@
+/*  This file is part of libDAI - http://www.libdai.org/
+ *
+ *  libDAI is licensed under the terms of the GNU General Public License version
+ *  2, or (at your option) any later version. libDAI is distributed without any
+ *  warranty. See the file COPYING for more details.
+ *
+ *  Copyright (C) 2008-2009  Joris Mooij  [joris dot mooij at libdai dot org]
+ */
+
+
 #include <dai/factorgraph.h>
 #include <iostream>
 
@@ -13,7 +23,7 @@ int main() {
     Var S(1, 2);  // Define binary variable Sprinkler (with label 1)
     Var R(2, 2);  // Define binary variable Rain (with label 2)
     Var W(3, 2);  // Define binary variable Wetgrass (with label 3)
+
     // Define probability distribution for C
     Factor P_C( C );
     P_C[0] = 0.5;   // C = 0
@@ -64,16 +74,15 @@ int main() {
 
     // Calculate joint probability of all four variables
     Factor P;
-    for( size_t I = 0; I < SprinklerNetwork.nrFactors(); I++ ) {
+    for( size_t I = 0; I < SprinklerNetwork.nrFactors(); I++ )
         P *= SprinklerNetwork.factor( I );
-    }
     // P.normalize();  // Not necessary: a Bayesian network is already normalized by definition
 
     // Calculate some probabilities
-    double denom = P.marginal( W )[1];
+    Real denom = P.marginal( W )[1];
     cout << "P(W=1) = " << denom << endl;
     cout << "P(S=1 | W=1) = " << P.marginal( VarSet( S, W ) )[3] / denom << endl;
     cout << "P(R=1 | W=1) = " << P.marginal( VarSet( R, W ) )[3] / denom << endl;
 
-       return 0;
+    return 0;
 }