RLPark 1.0.0
Reinforcement Learning Framework in Java
|
00001 package rlpark.plugin.rltoys.agents.rl; 00002 00003 import java.util.Random; 00004 00005 import rlpark.plugin.rltoys.agents.Agent; 00006 import rlpark.plugin.rltoys.algorithms.functions.policydistributions.helpers.RandomPolicy; 00007 import rlpark.plugin.rltoys.envio.actions.Action; 00008 import rlpark.plugin.rltoys.envio.policy.Policies; 00009 import rlpark.plugin.rltoys.envio.rl.RLAgent; 00010 import rlpark.plugin.rltoys.envio.rl.TRStep; 00011 00012 public class RandomAgent implements Agent, RLAgent { 00013 private static final long serialVersionUID = 1222156748593819208L; 00014 private final RandomPolicy policy; 00015 00016 public RandomAgent(Random random, Action[] actions) { 00017 policy = new RandomPolicy(random, actions); 00018 } 00019 00020 @Override 00021 public Action getAtp1(double[] obs) { 00022 return Policies.decide(policy, null); 00023 } 00024 00025 @Override 00026 public Action getAtp1(TRStep step) { 00027 return Policies.decide(policy, null); 00028 } 00029 00030 public RandomPolicy policy() { 00031 return policy; 00032 } 00033 }