RLPark 1.0.0
Reinforcement Learning Framework in Java

ControlAgentFA.java

Go to the documentation of this file.
00001 package rlpark.plugin.rltoys.agents.rl;
00002 
00003 import rlpark.plugin.rltoys.algorithms.control.Control;
00004 import rlpark.plugin.rltoys.algorithms.control.acting.ControlPolicyAdapter;
00005 import rlpark.plugin.rltoys.algorithms.functions.states.Projector;
00006 import rlpark.plugin.rltoys.envio.actions.Action;
00007 import rlpark.plugin.rltoys.envio.policy.Policy;
00008 import rlpark.plugin.rltoys.envio.rl.RLAgent;
00009 import rlpark.plugin.rltoys.envio.rl.TRStep;
00010 
00011 public class ControlAgentFA implements RLAgent {
00012   private static final long serialVersionUID = 1863728076381568361L;
00013   private final Control control;
00014   private final Projector projector;
00015 
00016   public ControlAgentFA(Policy policy, Projector projector) {
00017     this(new ControlPolicyAdapter(policy), projector);
00018   }
00019 
00020   public ControlAgentFA(Control control, Projector projector) {
00021     this.projector = projector;
00022     this.control = control;
00023   }
00024 
00025   @Override
00026   public Action getAtp1(TRStep step) {
00027     if (step.isEpisodeEnding())
00028       return null;
00029     return control.proposeAction(projector.project(step.o_tp1));
00030   }
00031 
00032   public Control control() {
00033     return control;
00034   }
00035 
00036   public Projector projector() {
00037     return projector;
00038   }
00039 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark