Browse Source

POMDPs: Add belief state info to dot files generated by -exportadv.

accumulation-v4.7
Dave Parker 5 years ago
parent
commit
22e5ad1799
  1. 32
      prism/src/explicit/POMDPModelChecker.java

32
prism/src/explicit/POMDPModelChecker.java

@ -28,7 +28,9 @@
package explicit;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.BitSet;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
@ -36,6 +38,8 @@ import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import explicit.graphviz.Decoration;
import explicit.graphviz.Decorator;
import explicit.rewards.MDPRewards;
import explicit.rewards.MDPRewardsSimple;
import prism.Accuracy;
@ -212,10 +216,16 @@ public class POMDPModelChecker extends ProbModelChecker
// Export?
if (stratFilename != null) {
mdp.exportToPrismExplicitTra(stratFilename);
mdp.exportToDotFile(stratFilename + ".dot", mdp.getLabelStates("target"));
// for (int ii = 0; ii < mdp.getNumStates(); ii++) {
// System.out.println(ii + ":" + listBeliefs.get(ii));
// }
//mdp.exportToDotFile(stratFilename + ".dot", mdp.getLabelStates("target"));
mdp.exportToDotFile(stratFilename + ".dot", Collections.singleton(new Decorator()
{
@Override
public Decoration decorateState(int state, Decoration d)
{
d.labelAddBelow(listBeliefs.get(state).toString(pomdp));
return d;
}
}));
}
// Create MDP model checker (disable strat generation - if enabled, we want the POMDP one)
MDPModelChecker mcMDP = new MDPModelChecker(this);
@ -427,10 +437,16 @@ public class POMDPModelChecker extends ProbModelChecker
// Export?
if (stratFilename != null) {
mdp.exportToPrismExplicitTra(stratFilename);
mdp.exportToDotFile(stratFilename + ".dot", mdp.getLabelStates("target"));
// for (int ii = 0; ii < mdp.getNumStates(); ii++) {
// System.out.println(ii + ":" + listBeliefs.get(ii));
// }
//mdp.exportToDotFile(stratFilename + ".dot", mdp.getLabelStates("target"));
mdp.exportToDotFile(stratFilename + ".dot", Collections.singleton(new Decorator()
{
@Override
public Decoration decorateState(int state, Decoration d)
{
d.labelAddBelow(listBeliefs.get(state).toString(pomdp));
return d;
}
}));
}
// Create MDP model checker (disable strat generation - if enabled, we want the POMDP one)

Loading…
Cancel
Save