wolffd@0: function [clpot, seppot] = distribute_evidence(engine, clpot, seppot) wolffd@0: % DISTRIBUTE_EVIDENCE Do message passing from root to leaves (parents then children) wolffd@0: % [clpot, seppot] = distribute_evidence(engine, clpot, seppot) wolffd@0: wolffd@0: for n=engine.preorder wolffd@0: for c=engine.preorder_children{n} wolffd@0: clpot{c} = divide_by_pot(clpot{c}, seppot{n,c}); wolffd@0: seppot{n,c} = marginalize_pot(clpot{n}, engine.separator{n,c}, engine.maximize); wolffd@0: clpot{c} = multiply_by_pot(clpot{c}, seppot{n,c}); wolffd@0: end wolffd@0: end