RLPark 1.0.0
Reinforcement Learning Framework in Java
|
00001 package rlpark.plugin.rltoys.algorithms.functions.policydistributions.helpers; 00002 00003 import rlpark.plugin.rltoys.algorithms.functions.policydistributions.PolicyDistribution; 00004 import rlpark.plugin.rltoys.envio.actions.Action; 00005 import rlpark.plugin.rltoys.envio.policy.Policy; 00006 import rlpark.plugin.rltoys.math.vector.RealVector; 00007 import rlpark.plugin.rltoys.math.vector.implementations.PVector; 00008 00009 public class PolicyDistributionAdapter implements PolicyDistribution { 00010 private static final long serialVersionUID = -3702175603455756729L; 00011 private final Policy policy; 00012 00013 public PolicyDistributionAdapter(Policy policy) { 00014 this.policy = policy; 00015 } 00016 00017 @Override 00018 public double pi(Action a) { 00019 return policy.pi(a); 00020 } 00021 00022 @Override 00023 public Action sampleAction() { 00024 return policy.sampleAction(); 00025 } 00026 00027 @Override 00028 public PVector[] createParameters(int nbFeatures) { 00029 return new PVector[] {}; 00030 } 00031 00032 @Override 00033 public RealVector[] computeGradLog(Action a_t) { 00034 return new PVector[] {}; 00035 } 00036 00037 @Override 00038 public int nbParameterVectors() { 00039 return 0; 00040 } 00041 00042 @Override 00043 public void update(RealVector x) { 00044 policy.update(x); 00045 } 00046 }