RLPark 1.0.0
Reinforcement Learning Framework in Java

LocalFeatureSumFunction.java

Go to the documentation of this file.
00001 package rlpark.plugin.rltoys.problems.puddleworld;
00002 
00003 import rlpark.plugin.rltoys.algorithms.functions.ContinuousFunction;
00004 import zephyr.plugin.core.api.monitoring.annotations.Monitor;
00005 
00006 public class LocalFeatureSumFunction implements ContinuousFunction {
00007   private final ContinuousFunction[] features;
00008   @Monitor
00009   private final double[] weights;
00010   private final double baseReward;
00011 
00012   public LocalFeatureSumFunction(double[] weights, ContinuousFunction[] features, double baseReward) {
00013     this.weights = weights;
00014     this.features = features;
00015     this.baseReward = baseReward;
00016   }
00017 
00018   @Override
00019   public double value(double[] input) {
00020     double sum = 0.0;
00021     for (int i = 0; i < features.length; i++)
00022       sum += weights[i] * features[i].value(input);
00023     return sum + baseReward;
00024   }
00025 
00026   public double[] weights() {
00027     return weights;
00028   }
00029 
00030   public ContinuousFunction[] features() {
00031     return features;
00032   }
00033 
00034   public int size() {
00035     return features.length;
00036   }
00037 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark