using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HeuristicLab.Algorithms.Bandits { public interface IBandit { int NumArms { get; } double OptimalExpectedReward { get; } // expected reward of the best arm, for calculating regret int OptimalExpectedRewardArm { get; } // arm which is optimal for optimization of expected reward int OptimalMaximalRewardArm { get; } // arm which is optimal for optimization of maximal reward double Pull(int arm); // pulling an arm returns a regret } }