RLPark 1.0.0
Reinforcement Learning Framework in Java
|
00001 package rlpark.plugin.rltoys.problems.puddleworld; 00002 00003 import rlpark.plugin.rltoys.algorithms.functions.ContinuousFunction; 00004 import rlpark.plugin.rltoys.math.normalization.MinMaxNormalizer; 00005 import zephyr.plugin.core.api.monitoring.annotations.Monitor; 00006 00007 @Monitor 00008 public class NormalizedFunction implements ContinuousFunction { 00009 private final ContinuousFunction function; 00010 private final MinMaxNormalizer normalizer = new MinMaxNormalizer(); 00011 private double normalizedRewardValue; 00012 private double rewardValue; 00013 00014 public NormalizedFunction(ContinuousFunction function) { 00015 this.function = function; 00016 } 00017 00018 @Override 00019 public double value(double[] input) { 00020 rewardValue = function.value(input); 00021 normalizer.update(rewardValue); 00022 normalizedRewardValue = normalizer.normalize(rewardValue); 00023 return normalizedRewardValue; 00024 } 00025 00026 public ContinuousFunction function() { 00027 return function; 00028 } 00029 }