var_elim_inf_engine.m

来自「Bayes网络工具箱」· M 代码 · 共 24 行

M
24
字号
function engine = var_elim_inf_engine(bnet)% VAR_ELIM_INF_ENGINE Variable elimination inference engine% engine = var_elim_inf_engine(bnet)%% The variable elimination algorithm (also known as bucket elimination, or peeling)% "pushes sums inside of products" as far as possible, and then works backwards,% performing the summations, and putting the intermediate terms in the scope of the correct sum (bucket).% The complexity depends on the summation order. In this implementation, we make no attempt to% optimize this (which is an NP-hard problem).% By using potential objects, instead of working directly with multidimensional arrays, this implementation% also handles Gaussian networks.%% For details, see% - R. Dechter, "Bucket Elimination: A Unifying Framework for Probabilistic Inference", UA1 96, pp. 211-219. % - Z. Li and B. D'Ambrosio, "Efficient inference in Bayes networks as a combinatorial%     optimization problem", Intl. J. Approximate Reasoning, 11(1):55-81, 1994% - R. McEliece and S. M. Aji, "The Generalized Distributive Law", IEEE Trans. Inform. Theory, to appear% This is where we will store the results between enter_evidence and marginal_nodesengine.evidence = [];engine = class(engine, 'var_elim_inf_engine', inf_engine(bnet));

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?