Daniel@0: % Compare the speeds of various inference engines on the water DBN Daniel@0: seed = 0; Daniel@0: rand('state', seed); Daniel@0: randn('state', seed); Daniel@0: Daniel@0: bnet = mk_water_dbn; Daniel@0: Daniel@0: T = 3; Daniel@0: Daniel@0: engine = {}; Daniel@0: engine{end+1} = smoother_engine(jtree_2TBN_inf_engine(bnet)); Daniel@0: engine{end+1} = smoother_engine(jtree_sparse_2TBN_inf_engine(bnet)); Daniel@0: engine{end+1} = smoother_engine(hmm_2TBN_inf_engine(bnet)); Daniel@0: engine{end+1} = jtree_dbn_inf_engine(bnet); Daniel@0: %engine{end+1} = jtree_unrolled_dbn_inf_engine(bnet, T); Daniel@0: Daniel@0: %engine{end+1} = bk_inf_engine(bnet, 'ff', onodes); Daniel@0: %engine{end+1} = bk_inf_engine(bnet, { [1 2], [3 4 5 6], [7 8] }, onodes); Daniel@0: Daniel@0: inf_time = cmp_inference_dbn(bnet, engine, T) Daniel@0: %learning_time = cmp_learning_dbn(bnet, engine, T) Daniel@0: