RLPark 1.0.0
Reinforcement Learning Framework in Java

Policies.java

Go to the documentation of this file.
00001 package rlpark.plugin.rltoys.envio.policy;
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.RLAgent;
00006 import rlpark.plugin.rltoys.envio.rl.TRStep;
00007 import rlpark.plugin.rltoys.math.vector.RealVector;
00008 import rlpark.plugin.rltoys.math.vector.implementations.PVector;
00009 
00010 public class Policies {
00011   public static Action decide(Policy policy, RealVector x) {
00012     policy.update(x);
00013     return policy.sampleAction();
00014   }
00015 
00016   @SuppressWarnings("serial")
00017   public static RLAgent toAgent(final Policy policy) {
00018     return new RLAgent() {
00019       @Override
00020       public Action getAtp1(TRStep step) {
00021         policy.update(new PVector(step.o_tp1));
00022         return policy.sampleAction();
00023       }
00024     };
00025   }
00026 
00027   @SuppressWarnings("serial")
00028   public static RLAgent toAgentFA(final Policy policy, final Projector projector) {
00029     return new RLAgent() {
00030       @Override
00031       public Action getAtp1(TRStep step) {
00032         policy.update(projector.project(step.o_tp1));
00033         return policy.sampleAction();
00034       }
00035     };
00036   }
00037 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark