wolffd@0: if 0 wolffd@0: % Generate some sample paths wolffd@0: wolffd@0: bnet = mk_map_hhmm('p', 1); wolffd@0: % assign numbers to the nodes in topological order wolffd@0: U = 1; A = 2; C = 3; F = 4; O = 5; wolffd@0: wolffd@0: wolffd@0: seed = 0; wolffd@0: rand('state', seed); wolffd@0: randn('state', seed); wolffd@0: wolffd@0: % control policy = sweep right then left wolffd@0: T = 10; wolffd@0: ss = 5; wolffd@0: ev = cell(ss, T); wolffd@0: ev(U,:) = num2cell([R*ones(1,5) L*ones(1,5)]); wolffd@0: wolffd@0: % fix initial conditions to be in left most state wolffd@0: ev{A,1} = 1; wolffd@0: ev{C,1} = 1; wolffd@0: evidence = sample_dbn(bnet, 'length', T, 'evidence', ev) wolffd@0: wolffd@0: wolffd@0: % Now do same but with noisy actuators wolffd@0: wolffd@0: bnet = mk_map_hhmm('p', 0.8); wolffd@0: evidence = sample_dbn(bnet, 'length', T, 'evidence', ev) wolffd@0: wolffd@0: end wolffd@0: wolffd@0: % Now do same but with 4 observations per slice wolffd@0: wolffd@0: bnet = mk_map_hhmm('p', 0.8, 'obs_model', 'four'); wolffd@0: ss = bnet.nnodes_per_slice; wolffd@0: wolffd@0: ev = cell(ss, T); wolffd@0: ev(U,:) = num2cell([R*ones(1,5) L*ones(1,5)]); wolffd@0: ev{A,1} = 1; wolffd@0: ev{C,1} = 1; wolffd@0: evidence = sample_dbn(bnet, 'length', T, 'evidence', ev)