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