re-activate bayes ball
This commit is contained in:
parent
9a8464d0f0
commit
ee5b8e693a
@ -12,8 +12,8 @@
|
|||||||
#include "LiftedVe.h"
|
#include "LiftedVe.h"
|
||||||
#include "VarElim.h"
|
#include "VarElim.h"
|
||||||
#include "LiftedBp.h"
|
#include "LiftedBp.h"
|
||||||
#include "BeliefProp.h"
|
|
||||||
#include "CountingBp.h"
|
#include "CountingBp.h"
|
||||||
|
#include "BeliefProp.h"
|
||||||
#include "ElimGraph.h"
|
#include "ElimGraph.h"
|
||||||
#include "BayesBall.h"
|
#include "BayesBall.h"
|
||||||
|
|
||||||
@ -237,7 +237,6 @@ createGroundNetwork (void)
|
|||||||
fg->addFactor (Factor (varIds, ranges, params, distId));
|
fg->addFactor (Factor (varIds, ranges, params, distId));
|
||||||
factorList = YAP_TailOfTerm (factorList);
|
factorList = YAP_TailOfTerm (factorList);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned nrObservedVars = 0;
|
unsigned nrObservedVars = 0;
|
||||||
YAP_Term evidenceList = YAP_ARG3;
|
YAP_Term evidenceList = YAP_ARG3;
|
||||||
while (evidenceList != YAP_TermNil()) {
|
while (evidenceList != YAP_TermNil()) {
|
||||||
@ -395,17 +394,16 @@ void runVeSolver (
|
|||||||
for (size_t i = 0; i < tasks.size(); i++) {
|
for (size_t i = 0; i < tasks.size(); i++) {
|
||||||
FactorGraph* mfg = fg;
|
FactorGraph* mfg = fg;
|
||||||
if (fg->bayesianFactors()) {
|
if (fg->bayesianFactors()) {
|
||||||
// mfg = BayesBall::getMinimalFactorGraph (*fg, tasks[i]);
|
mfg = BayesBall::getMinimalFactorGraph (*fg, tasks[i]);
|
||||||
}
|
}
|
||||||
// VarElim solver (*mfg);
|
VarElim solver (*mfg);
|
||||||
VarElim solver (*fg); //FIXME
|
|
||||||
if (Globals::verbosity > 0 && i == 0) {
|
if (Globals::verbosity > 0 && i == 0) {
|
||||||
solver.printSolverFlags();
|
solver.printSolverFlags();
|
||||||
cout << endl;
|
cout << endl;
|
||||||
}
|
}
|
||||||
results.push_back (solver.solveQuery (tasks[i]));
|
results.push_back (solver.solveQuery (tasks[i]));
|
||||||
if (fg->bayesianFactors()) {
|
if (fg->bayesianFactors()) {
|
||||||
// delete mfg;
|
delete mfg;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -424,14 +422,14 @@ void runBeliefProp (
|
|||||||
Solver* solver = 0;
|
Solver* solver = 0;
|
||||||
FactorGraph* mfg = fg;
|
FactorGraph* mfg = fg;
|
||||||
if (fg->bayesianFactors()) {
|
if (fg->bayesianFactors()) {
|
||||||
//mfg = BayesBall::getMinimalFactorGraph (
|
mfg = BayesBall::getMinimalFactorGraph (
|
||||||
// *fg, VarIds (vids.begin(),vids.end()));
|
*fg, VarIds (vids.begin(),vids.end()));
|
||||||
}
|
}
|
||||||
if (Globals::groundSolver == GroundSolver::BP) {
|
if (Globals::groundSolver == GroundSolver::BP) {
|
||||||
solver = new BeliefProp (*fg); // FIXME
|
solver = new BeliefProp (*mfg);
|
||||||
} else if (Globals::groundSolver == GroundSolver::CBP) {
|
} else if (Globals::groundSolver == GroundSolver::CBP) {
|
||||||
CountingBp::checkForIdenticalFactors = false;
|
CountingBp::checkForIdenticalFactors = false;
|
||||||
solver = new CountingBp (*fg); // FIXME
|
solver = new CountingBp (*mfg);
|
||||||
} else {
|
} else {
|
||||||
cerr << "error: unknow solver" << endl;
|
cerr << "error: unknow solver" << endl;
|
||||||
abort();
|
abort();
|
||||||
@ -445,7 +443,7 @@ void runBeliefProp (
|
|||||||
results.push_back (solver->solveQuery (tasks[i]));
|
results.push_back (solver->solveQuery (tasks[i]));
|
||||||
}
|
}
|
||||||
if (fg->bayesianFactors()) {
|
if (fg->bayesianFactors()) {
|
||||||
//delete mfg;
|
delete mfg;
|
||||||
}
|
}
|
||||||
delete solver;
|
delete solver;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user