RLPark 1.0.0
Reinforcement Learning Framework in Java

MazeProjector.java

Go to the documentation of this file.
00001 package rlpark.plugin.rltoys.problems.mazes;
00002 
00003 import rlpark.plugin.rltoys.algorithms.functions.stateactions.StateToStateAction;
00004 import rlpark.plugin.rltoys.algorithms.functions.stateactions.TabularAction;
00005 import rlpark.plugin.rltoys.algorithms.functions.states.Projector;
00006 import rlpark.plugin.rltoys.envio.actions.Action;
00007 import rlpark.plugin.rltoys.math.vector.RealVector;
00008 
00009 public class MazeProjector {
00010   private final Maze maze;
00011   private final StateToStateAction toStateAction;
00012   private final Projector projector;
00013 
00014   public MazeProjector(Maze maze) {
00015     this(maze, maze.getMarkovProjector());
00016   }
00017 
00018   public MazeProjector(Maze maze, Projector projector) {
00019     this(maze, projector, new TabularAction(maze.actions(), projector.vectorNorm(), projector.vectorSize()));
00020   }
00021 
00022   public MazeProjector(Maze maze, Projector projector, StateToStateAction toStateAction) {
00023     this.maze = maze;
00024     this.toStateAction = toStateAction;
00025     this.projector = projector;
00026   }
00027 
00028   public RealVector toState(int x, int y) {
00029     return projector.project(new double[] { x, y });
00030   }
00031 
00032   public RealVector stateAction(RealVector x, Action a) {
00033     return toStateAction.stateAction(x, a);
00034   }
00035 
00036   public Maze maze() {
00037     return maze;
00038   }
00039 
00040   public StateToStateAction toStateAction() {
00041     return toStateAction;
00042   }
00043 
00044   public Projector projector() {
00045     return projector;
00046   }
00047 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark