From bd8a3b8e9a82ce5dd8c93e8042aa31a8b7f70740 Mon Sep 17 00:00:00 2001 From: Abhijit Kundu Date: Thu, 7 Jun 2012 23:20:40 +0000 Subject: [PATCH] UGM_chain now uses DiscreteMarginals instead of DiscreteSequentialSolver --- examples/UGM_chain.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/examples/UGM_chain.cpp b/examples/UGM_chain.cpp index 61eb0d3a0..5d8e5a841 100644 --- a/examples/UGM_chain.cpp +++ b/examples/UGM_chain.cpp @@ -21,6 +21,7 @@ #include #include +#include #include @@ -74,11 +75,15 @@ int main(int argc, char** argv) { optimalDecoding->print("\nMost Probable Explanation (optimalDecoding)\n"); // "Inference" Computing marginals for each node + // Here we'll make use of DiscreteMarginals class, which makes use of + // bayes-tree based shortcut evaluation of marginals + DiscreteMarginals marginals(graph); + cout << "\nComputing Node Marginals .." << endl; for (vector::iterator itr = nodes.begin(); itr != nodes.end(); ++itr) { //Compute the marginal - Vector margProbs = solver.marginalProbabilities(*itr); + Vector margProbs = marginals.marginalProbabilities(*itr); //Print the marginals cout << "Node#" << setw(4) << itr->first << " : ";