RLPark 1.0.0
Reinforcement Learning Framework in Java
|
00001 package rlpark.plugin.rltoys.problems.stategraph02; 00002 00003 import java.util.Random; 00004 00005 import rlpark.plugin.rltoys.envio.actions.Action; 00006 import rlpark.plugin.rltoys.envio.policy.Policy; 00007 import rlpark.plugin.rltoys.envio.policy.SingleActionPolicy; 00008 00009 public class LineProblem { 00010 static public final double Gamma = .9; 00011 public static final double Reward = 1.0; 00012 static public final State A = new State("A", 0.0); 00013 static public final State B = new State("B", 0.0); 00014 static public final State C = new State("C", 0.0); 00015 static public final State D = new State("D", Reward); 00016 static public Action Move = new Action() { 00017 private static final long serialVersionUID = -4236679466464277389L; 00018 }; 00019 static public final Policy acting = new SingleActionPolicy(Move); 00020 00021 static public GraphProblem create(Random random) { 00022 StateGraph stateGraph = new StateGraph(A, new State[] { A, B, C, D }, new Action[] { Move }); 00023 stateGraph.addTransition(A, Move, B, 1.0); 00024 stateGraph.addTransition(B, Move, C, 1.0); 00025 stateGraph.addTransition(C, Move, D, 1.0); 00026 return new GraphProblem(random, A, stateGraph, new MarkovProjector(stateGraph)); 00027 } 00028 }