function jt = distribute_evidence( cX, jtree, caller, ns ) % receive message if ~isempty(caller) jtree = onemsgpass( caller.id, cX.id, jtree, ns ); end; % step 1. %disp(cX.id); cX.mark = 1; jtree{1}{cX.id}.mark = 1; % step 2. unmarkedNBs = find_unbs( cX, jtree ); % step 3. if length(unmarkedNBs) > 0, for c=unmarkedNBs, cluster = jtree{1}{c}; % disp(cluster.id); jtree = distribute_evidence( cluster, jtree, cX, ns ); end; end; jt = jtree;