public Factor lookupMarginal (Variable var) { Factor marginal = unnormalizedMarginal (mdlCurrent, var); marginal.normalize(); return marginal; }
public Factor lookupMarginal (Variable var) { Factor marginal = unnormalizedMarginal (mdlCurrent, var); marginal.normalize(); return marginal; }
public Factor lookupMarginal (Variable var) { Factor marginal = unnormalizedMarginal (mdlCurrent, var); marginal.normalize(); return marginal; }
public Factor joint (FactorGraph model) { Factor joint = TableFactor.multiplyAll (model.factors ()); joint.normalize(); return joint; }
public Factor joint (FactorGraph model) { Factor joint = TableFactor.multiplyAll (model.factors ()); joint.normalize(); return joint; }
public Factor joint (FactorGraph model) { Factor joint = TableFactor.multiplyAll (model.factors ()); joint.normalize(); return joint; }
public Factor joint (JunctionTree jt) { Factor joint = TableFactor.multiplyAll (jt.clusterPotentials ()); for (Iterator it = jt.sepsetPotentials().iterator(); it.hasNext();) { TableFactor pot = (TableFactor) it.next(); joint.divideBy (pot); } joint.normalize(); return joint; }
public Factor lookupMarginal (JunctionTree jt, Variable var) { if (jt == null) { throw new IllegalStateException ("Call computeMarginals() first."); } VarSet parent = jt.findParentCluster (var); Factor cpf = jt.getCPF (parent); if (logger.isLoggable (Level.FINER)) { logger.finer ("Lookup jt marginal: var " + var + " cluster " + parent); logger.finest (" cpf " + cpf); } Factor marginal = strategy.extractBelief (cpf, new HashVarSet (new Variable[] { var })); marginal.normalize (); return marginal; }
public Factor lookupMarginal (JunctionTree jt, Variable var) { if (jt == null) { throw new IllegalStateException ("Call computeMarginals() first."); } VarSet parent = jt.findParentCluster (var); Factor cpf = jt.getCPF (parent); if (logger.isLoggable (Level.FINER)) { logger.finer ("Lookup jt marginal: var " + var + " cluster " + parent); logger.finest (" cpf " + cpf); } Factor marginal = strategy.extractBelief (cpf, new HashVarSet (new Variable[] { var })); marginal.normalize (); return marginal; }
public Factor joint (JunctionTree jt) { Factor joint = TableFactor.multiplyAll (jt.clusterPotentials ()); for (Iterator it = jt.sepsetPotentials().iterator(); it.hasNext();) { TableFactor pot = (TableFactor) it.next(); joint.divideBy (pot); } joint.normalize(); return joint; }
public Factor joint (JunctionTree jt) { Factor joint = TableFactor.multiplyAll (jt.clusterPotentials ()); for (Iterator it = jt.sepsetPotentials().iterator(); it.hasNext();) { TableFactor pot = (TableFactor) it.next(); joint.divideBy (pot); } joint.normalize(); return joint; }
private void recomputeFactors () { lastResids = new double [factors ().size ()]; for (Iterator it = cliques.iterator(); it.hasNext();) { UnrolledVarSet clique = (UnrolledVarSet) it.next(); AbstractTableFactor oldF = (AbstractTableFactor) clique.getFactor (); AbstractTableFactor newF = clique.tmpl.computeFactor (clique); double dist = Factors.distLinf ((AbstractTableFactor) oldF.duplicate ().normalize (), (AbstractTableFactor) newF.duplicate ().normalize ()); lastResids [getIndex (oldF)] = dist; oldF.setValues (newF.getLogValueMatrix ()); clique.tmpl.modifyPotential (this, clique, oldF); } }
public void sendMessage (FactorGraph mdl, Variable from, Factor to) { // System.err.println ("...max-prod message"); int fromIdx = messages.getIndex (from); int toIdx = messages.getIndex (to); Factor msg = msgProduct (null, fromIdx, toIdx); msg.normalize (); assert msg.varSet ().size () == 1; assert msg.varSet ().contains (from); messages.put (fromIdx, toIdx, msg); }
public void sendMessage (FactorGraph mdl, Variable from, Factor to) { // System.err.println ("...max-prod message"); int fromIdx = messages.getIndex (from); int toIdx = messages.getIndex (to); Factor msg = msgProduct (null, fromIdx, toIdx); msg.normalize (); assert msg.varSet ().size () == 1; assert msg.varSet ().contains (from); messages.put (fromIdx, toIdx, msg); }
public void sendMessage (FactorGraph mdl, Variable from, Factor to) { // System.err.println ("...sum-prod message"); int fromIdx = messages.getIndex (from); int toIdx = messages.getIndex (to); Factor msg = msgProduct (null, fromIdx, toIdx); msg.normalize (); assert msg.varSet ().size () == 1; assert msg.varSet ().contains (from); messages.put (fromIdx, toIdx, msg); }
public void sendMessage (FactorGraph mdl, Variable from, Factor to) { // System.err.println ("...sum-prod message"); int fromIdx = messages.getIndex (from); int toIdx = messages.getIndex (to); Factor msg = msgProduct (null, fromIdx, toIdx); msg.normalize (); assert msg.varSet ().size () == 1; assert msg.varSet ().contains (from); messages.put (fromIdx, toIdx, msg); }
public void sendMessage (FactorGraph mdl, Variable from, Factor to) { // System.err.println ("...max-prod message"); int fromIdx = messages.getIndex (from); int toIdx = messages.getIndex (to); Factor msg = msgProduct (null, fromIdx, toIdx); msg.normalize (); assert msg.varSet ().size () == 1; assert msg.varSet ().contains (from); messages.put (fromIdx, toIdx, msg); }
public void sendMessage (FactorGraph mdl, Variable from, Factor to) { // System.err.println ("...sum-prod message"); int fromIdx = messages.getIndex (from); int toIdx = messages.getIndex (to); Factor msg = msgProduct (null, fromIdx, toIdx); msg.normalize (); assert msg.varSet ().size () == 1; assert msg.varSet ().contains (from); messages.put (fromIdx, toIdx, msg); }
public void sendMessage (FactorGraph mdl, Factor from, Variable to) { // System.err.println ("...max-prod message"); int fromIdx = messages.getIndex (from); int toIdx = messages.getIndex (to); Factor product = from.duplicate (); msgProduct (product, fromIdx, toIdx); Factor msg = product.extractMax (to); msg.normalize (); assert msg.varSet ().size () == 1; assert msg.varSet ().contains (to); messages.put (fromIdx, toIdx, msg); }
public void sendMessage (FactorGraph mdl, Factor from, Variable to) { // System.err.println ("...max-prod message"); int fromIdx = messages.getIndex (from); int toIdx = messages.getIndex (to); Factor product = from.duplicate (); msgProduct (product, fromIdx, toIdx); Factor msg = product.extractMax (to); msg.normalize (); assert msg.varSet ().size () == 1; assert msg.varSet ().contains (to); messages.put (fromIdx, toIdx, msg); }