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