fix joint calculation with lifted bp

This commit is contained in:
Tiago Gomes
2012-06-14 11:57:00 +01:00
parent 0e83a75b60
commit 384c108e62
9 changed files with 154 additions and 18 deletions

View File

@@ -118,19 +118,20 @@ BeliefProp::getJointDistributionOf (const VarIds& jointVarIds)
if (idx == facNodes.size()) {
return getJointByConditioning (jointVarIds);
}
return getFactorJoint (facNodes[idx], jointVarIds);
return getFactorJoint (idx, jointVarIds);
}
Params
BeliefProp::getFactorJoint (
FacNode* fn,
size_t fnIdx,
const VarIds& jointVarIds)
{
if (runned_ == false) {
runSolver();
}
FacNode* fn = fg.facNodes()[fnIdx];
Factor res (fn->factor());
const BpLinks& links = ninf(fn)->getLinks();
for (size_t i = 0; i < links.size(); i++) {