using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HeuristicLab.Algorithms.Bandits.BanditPolicies { public class MeanAndVariancePolicyActionInfo : IBanditPolicyActionInfo { private OnlineMeanAndVarianceEstimator estimator = new OnlineMeanAndVarianceEstimator(); public int Tries { get { return estimator.N; } } public double SumReward { get { return estimator.Sum; } } public double AvgReward { get { return estimator.Avg; } } public double RewardVariance { get { return estimator.Variance; } } public double Value { get { return AvgReward; } } public void UpdateReward(double reward) { estimator.UpdateReward(reward); } public void Reset() { estimator.Reset(); } } }