wolffd@0: function bnet = mutilate_bnet(bnet, nodes, vals) wolffd@0: % MUTILATE_BNET Clamp nodes to specific values (perform a surgical intervention) wolffd@0: % bnet = mutilate_bnet(bnet, nodes, vals) wolffd@0: % wolffd@0: % We make all the clamped nodes roots. wolffd@0: wolffd@0: ns = bnet.node_sizes; wolffd@0: for i=1:length(nodes) wolffd@0: X = nodes(i); wolffd@0: x = vals(i); wolffd@0: bnet.dag(:,X) = 0; wolffd@0: bnet.CPD{X} = root_CPD(bnet, X, x); wolffd@0: end