annotate toolboxes/FullBNT-1.0.7/bnt/examples/static/Belprop/belprop_loop1_gauss.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 % Compare different loopy belief propagation algorithms on a graph with a single loop.
Daniel@0 2 % LBP should give exact results if it converges.
Daniel@0 3
Daniel@0 4 N = 4;
Daniel@0 5 dag = zeros(N,N);
Daniel@0 6 C = 1; S = 2; R = 3; W = 4;
Daniel@0 7 dag(C,[R S]) = 1;
Daniel@0 8 dag(R,W) = 1;
Daniel@0 9 dag(S,W)=1;
Daniel@0 10 ns = 2*ones(1,N);
Daniel@0 11 bnet = mk_bnet(dag, ns, 'discrete', []);
Daniel@0 12 for i=1:N
Daniel@0 13 bnet.CPD{i} = gaussian_CPD(bnet, i);
Daniel@0 14 end
Daniel@0 15
Daniel@0 16 engines = {};
Daniel@0 17 engines{end+1} = jtree_inf_engine(bnet);
Daniel@0 18 engines{end+1} = pearl_inf_engine(bnet, 'protocol', 'parallel', 'max_iter', 20);
Daniel@0 19 %engines{end+1} = pearl_inf_engine(bnet, 'protocol', 'parallel', 'max_iter', 20, 'filename', ...
Daniel@0 20 % '/home/eecs/murphyk/matlab/gausspearl.txt', 'tol', 1e-5);
Daniel@0 21
Daniel@0 22 % pearl gaussian does not compute loglik
Daniel@0 23 [time, engines] = cmp_inference_static(bnet, engines, 'maximize', 0, 'exact', 1, 'observed', [2], ...
Daniel@0 24 'check_ll', 0, 'singletons_only', 0, 'check_converged', [2]);
Daniel@0 25