RLPark 1.0.0
Reinforcement Learning Framework in Java

PredictionProblemAdapter.java

Go to the documentation of this file.
00001 package rlpark.plugin.rltoys.problems;
00002 
00003 import rlpark.plugin.rltoys.algorithms.functions.states.Projector;
00004 import rlpark.plugin.rltoys.envio.actions.Action;
00005 import rlpark.plugin.rltoys.envio.rl.TRStep;
00006 import rlpark.plugin.rltoys.math.vector.RealVector;
00007 
00008 public class PredictionProblemAdapter implements PredictionProblem {
00009   private final RLProblem problem;
00010   private final Projector projector;
00011   private final Action action;
00012   private TRStep step;
00013 
00014   public PredictionProblemAdapter(RLProblem problem, Projector projector, Action action) {
00015     this.problem = problem;
00016     this.projector = projector;
00017     this.action = action;
00018     step = problem.initialize();
00019   }
00020 
00021   @Override
00022   public int inputDimension() {
00023     return projector.vectorSize();
00024   }
00025 
00026   @Override
00027   public boolean update() {
00028     assert !step.isEpisodeEnding();
00029     step = problem.step(action);
00030     return true;
00031   }
00032 
00033   @Override
00034   public double target() {
00035     return step.r_tp1;
00036   }
00037 
00038   @Override
00039   public RealVector input() {
00040     return projector.project(step.o_t);
00041   }
00042 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark