annotate toolboxes/FullBNT-1.0.7/bnt/inference/online/@jtree_2TBN_inf_engine/back1.m @ 0:cc4b1211e677 tip

initial commit to HG from Changeset: 646 (e263d8a21543) added further path and more save "camirversion.m"
author Daniel Wolff
date Fri, 19 Aug 2016 13:07:06 +0200
parents
children
rev   line source
Daniel@0 1 function b = back1(engine, bfuture, f, t)
Daniel@0 2
Daniel@0 3 if t ~= 1
Daniel@0 4 error('mixed up time stamps')
Daniel@0 5 end
Daniel@0 6 bnet = bnet_from_engine(engine);
Daniel@0 7 ss = bnet.nnodes_per_slice;
Daniel@0 8
Daniel@0 9 int = engine.interface;
Daniel@0 10 D = engine.in_clq; % from J2
Daniel@0 11 C = engine.int_clq1; % from J1
Daniel@0 12 phiD = marginalize_pot(bfuture.clpot{D}, int, engine.maximize);
Daniel@0 13 phiC = marginalize_pot(f.clpot{C}, int, engine.maximize);
Daniel@0 14 ratio = divide_by_pot(phiD, phiC);
Daniel@0 15 f.clpot{C} = multiply_by_pot(f.clpot{C}, ratio);
Daniel@0 16
Daniel@0 17 [b.clpot, seppot] = distribute_evidence(engine.jtree_engine1, f.clpot, f.seppot);
Daniel@0 18 for c=1:length(b.clpot)
Daniel@0 19 [b.clpot{c}, ll(c)] = normalize_pot(b.clpot{c});
Daniel@0 20 end
Daniel@0 21 b.t = t;