matthiasm@8: function engine = smoother_engine(tbn_engine) matthiasm@8: % SMOOTHER_ENGINE Create an engine which does offline (fixed-interval) smoothing in O(T) space/time matthiasm@8: % function engine = smoother_engine(tbn_engine) matthiasm@8: % matthiasm@8: % tbn_engine is any 2TBN inference engine which supports the following methods: matthiasm@8: % fwd, fwd1, back, backT, back, marginal_nodes and marginal_family. matthiasm@8: matthiasm@8: engine.tbn_engine = tbn_engine; matthiasm@8: engine.b = []; % space to store smoothed messages matthiasm@8: engine = class(engine, 'smoother_engine'); matthiasm@8: %engine = class(engine, 'smoother_engine', inf_engine(bnet_from_engine(tbn_engine))); matthiasm@8: