public void multiplyBy (Factor pot) {subFactor.multiplyBy (pot);}
public void multiplyBy (Factor pot) {subFactor.multiplyBy (pot);}
public void multiplyBy (Factor pot) {subFactor.multiplyBy (pot);}
static Factor computeBelief (Region region, MessageArray messages) { DiscreteFactor result = new LogTableFactor(region.vars); for (Iterator it = region.factors.iterator(); it.hasNext();) { Factor factor = (Factor) it.next(); result.multiplyBy(factor); } for (Iterator it = region.parents.iterator(); it.hasNext();) { Region parent = (Region) it.next(); Factor msg = messages.getMessage(parent, region); result.multiplyBy(msg); } for (Iterator it = region.descendants.iterator(); it.hasNext();) { Region child = (Region) it.next(); for (Iterator it2 = child.parents.iterator(); it2.hasNext();) { Region uncle = (Region) it2.next(); if (uncle != region && !region.descendants.contains(uncle)) { result.multiplyBy(messages.getMessage(uncle, child)); } } } result.normalize(); return result; }
static Factor computeBelief (Region region, MessageArray messages) { DiscreteFactor result = new LogTableFactor(region.vars); for (Iterator it = region.factors.iterator(); it.hasNext();) { Factor factor = (Factor) it.next(); result.multiplyBy(factor); } for (Iterator it = region.parents.iterator(); it.hasNext();) { Region parent = (Region) it.next(); Factor msg = messages.getMessage(parent, region); result.multiplyBy(msg); } for (Iterator it = region.descendants.iterator(); it.hasNext();) { Region child = (Region) it.next(); for (Iterator it2 = child.parents.iterator(); it2.hasNext();) { Region uncle = (Region) it2.next(); if (uncle != region && !region.descendants.contains(uncle)) { result.multiplyBy(messages.getMessage(uncle, child)); } } } result.normalize(); return result; }
static Factor computeBelief (Region region, MessageArray messages) { DiscreteFactor result = new LogTableFactor(region.vars); for (Iterator it = region.factors.iterator(); it.hasNext();) { Factor factor = (Factor) it.next(); result.multiplyBy(factor); } for (Iterator it = region.parents.iterator(); it.hasNext();) { Region parent = (Region) it.next(); Factor msg = messages.getMessage(parent, region); result.multiplyBy(msg); } for (Iterator it = region.descendants.iterator(); it.hasNext();) { Region child = (Region) it.next(); for (Iterator it2 = child.parents.iterator(); it2.hasNext();) { Region uncle = (Region) it2.next(); if (uncle != region && !region.descendants.contains(uncle)) { result.multiplyBy(messages.getMessage(uncle, child)); } } } result.normalize(); return result; }
for (Iterator ptlIt = region.factors.iterator(); ptlIt.hasNext();) { Factor ptl = (Factor) ptlIt.next(); product.multiplyBy(ptl);
for (Iterator ptlIt = region.factors.iterator(); ptlIt.hasNext();) { Factor ptl = (Factor) ptlIt.next(); product.multiplyBy(ptl);
for (Iterator ptlIt = region.factors.iterator(); ptlIt.hasNext();) { Factor ptl = (Factor) ptlIt.next(); product.multiplyBy(ptl);