about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine/enter_soft_evidence.m
blob: 0a4346c6f6477ec20db1c85726d127384136f5e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function [clpot, loglik] = enter_soft_evidence(engine, clique, potential, onodes, pot_type)
% ENTER_SOFT_EVIDENCE Add the specified potentials to the network (jtree)
% [clpot, loglik] = enter_soft_evidence(engine, clique, potential, onodes, pot_type, maximize)
%
% We multiply potential{i} onto clique(i) before propagating.
% We return all the modified clique potentials.

% only used by BK!

[clpot, seppot] = init_pot(engine, clique, potential, pot_type, onodes);
[clpot, seppot] = collect_evidence(engine, clpot, seppot);
[clpot, seppot] = distribute_evidence(engine, clpot, seppot);

C = length(clpot);
ll = zeros(1, C);
for i=1:C
  [clpot{i}, ll(i)] = normalize_pot(clpot{i});
end
loglik = ll(1); % we can extract the likelihood from any clique