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