diff options
Diffstat (limited to 'sourcecodes/bnt-master/BNT/general/compute_joint_pot.m')
| -rw-r--r-- | sourcecodes/bnt-master/BNT/general/compute_joint_pot.m | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sourcecodes/bnt-master/BNT/general/compute_joint_pot.m b/sourcecodes/bnt-master/BNT/general/compute_joint_pot.m new file mode 100644 index 00000000..056aa998 --- /dev/null +++ b/sourcecodes/bnt-master/BNT/general/compute_joint_pot.m @@ -0,0 +1,17 @@ +function [jpot, loglik] = compute_joint_pot(bnet, nodes, evidence, domain) +% COMPUTE_JOINT_POT Compute the global joint potential of a Bayes net +% function jpot = compute_joint_pot(bnet, nodes, evidence, domain) + +if nargin < 4, domain = nodes; end + +onodes = find(~isemptycell(evidence)); +pot_type = determine_pot_type(bnet, onodes, domain); + +jpot = mk_initial_pot(pot_type, domain, bnet.node_sizes, bnet.cnodes, onodes); +for i=nodes(:)' + e = bnet.equiv_class(i); + fam = family(bnet.dag, i); + pot = convert_to_pot(bnet.CPD{e}, pot_type, fam(:), evidence); + jpot = multiply_by_pot(jpot, pot); +end +%[jpot, loglik] = normalize_pot(jpot); % causes errors in asia_dt1 etc |
