@Test public void test1() throws Exception { MDP mdp = MDP.instance(); mdp.addSingleOutcomAction(State.instance(1), State.instance(2), 10, Action.defaultName); ValueIteration vi = new ValueIteration(mdp); vi.run(); Assert.assertEquals(10, State.instance(1).getValue(), 0.1); }
@Test public void test2() throws Exception { MDP mdp = MDP.instance(); mdp.addDoubleOutcomAction( State.instance(0), State.instance(1), State.instance(2), 7.9, -5.1, 0.81, 0.19, Action.defaultName); mdp.addSingleOutcomAction(State.instance(1), State.instance(3), 2.5, Action.defaultName); mdp.addSingleOutcomAction(State.instance(2), State.instance(3), -7.2, Action.defaultName); mdp.addSingleOutcomAction(State.instance(3), State.instance(4), 9.0, Action.defaultName); mdp.addSingleOutcomAction(State.instance(4), State.instance(5), 0, Action.defaultName); mdp.addSingleOutcomAction(State.instance(5), State.instance(6), 1.6, Action.defaultName); MDPViewer.instance(mdp).display(); ValueIteration vi = new ValueIteration(mdp); vi.run(); Assert.assertEquals(16.687, State.instance(0).getValue(), 0.1); MLUtils.readFromConsole("Press any key"); }