wolffd@0: function CPD = update_ess(CPD, fmarginal, evidence, ns, cnodes, hidden_bitv) wolffd@0: % UPDATE_ESS Update the Expected Sufficient Statistics of a tabular node. wolffd@0: % function CPD = update_ess(CPD, fmarginal, evidence, ns, cnodes, hidden_bitv) wolffd@0: wolffd@0: dom = fmarginal.domain; wolffd@0: wolffd@0: if all(hidden_bitv(dom)) wolffd@0: CPD = update_ess_simple(CPD, fmarginal.T); wolffd@0: %fullm = add_ev_to_dmarginal(fmarginal, evidence, ns); wolffd@0: %assert(approxeq(fullm.T(:), fmarginal.T(:))) wolffd@0: else wolffd@0: fullm = add_ev_to_dmarginal(fmarginal, evidence, ns); wolffd@0: CPD = update_ess_simple(CPD, fullm.T); wolffd@0: end wolffd@0: