pigs1_chance.m
来自「Bayesian网络工具箱.」· M 代码 · 共 80 行
M
80 行
% make the reactive policy pigs model (fig 2 from Lauritzen and Nilsson, 2001)% we number nodes down and to the righth = [1 5 9 13];t = [2 6 10];d = [3 7 11];u = [4 8 12 14];N = 14;dag = zeros(N);for i=1:3 dag(h(i), [t(i) h(i+1)]) = 1; dag(t(i), d(i)) = 1; dag(d(i), [u(i) h(i+1)]) = 1;enddag(h(4), u(4)) = 1;hsz = 2; tsz = 2; dsz = 2; ns = 2*ones(1,N);ns(u) = 1;% parameter tyingparams = ones(1,N);uparam = 1;final_uparam = 2;tparam = 3;h1_param = 4;hparam = 5;dparams = 6:8;params(u(1:3)) = uparam;params(u(4)) = final_uparam;params(t) = tparam;params(h(1)) = h1_param;params(h(2:end)) = hparam;params(d) = dparams;limid = mk_limid(dag, ns, 'chance', [h t], 'decision', d, 'utility', u, 'params', params);% h = 1 means healthy, h = 2 means diseased% d = 1 means don't treat, d = 2 means treat% t = 1 means test shows healthy, t = 2 means test shows diseased% u4 | h4limid.CPD{final_uparam} = tabular_utility_node(hsz, [1000 300]);% ui | di, i=1:3limid.CPD{uparam} = tabular_utility_node(dsz, [0 100]);% h P(t=1) P(t=2)% 1 0.9 0.1% 2 0.2 0.8limid.CPD{tparam} = tabular_chance_node([hsz tsz], [0.9 0.2 0.1 0.8]);% P(h1)limid.CPD{h1_param} = tabular_chance_node(hsz, [0.9 0.1]);% hi di P(hj=1) P(hj=2), j = i+1, i=1:3% 1 1 0.8 0.2% 2 1 0.1 0.9% 1 2 0.9 0.1% 2 2 0.5 0.5limid.CPD{hparam} = tabular_chance_node([hsz dsz hsz], [0.8 0.1 0.9 0.5 0.2 0.9 0.1 0.5]);% P(di | ti) = initially uniform for i=1:3 limid.CPD{dparams(i)} = tabular_decision_node([tsz dsz]);endclear engines;engines{1} = naive_meu_engine(limid);engines{2} = jtree_meu_engine(limid);for e=1:length(engines) [strategy{e}, MEU(e)] = solve_limid(engines{e});end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?