using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using HeuristicLab.Common; namespace HeuristicLab.Algorithms.Bandits.BanditPolicies { public class RandomPolicy : IBanditPolicy { public override string ToString() { return "RandomPolicy"; } public int SelectAction(Random random, IEnumerable actionInfos) { return actionInfos .Select((aInfo, idx) => Tuple.Create(aInfo, idx)) .SelectRandom(random).Item2; } public IBanditPolicyActionInfo CreateActionInfo() { return new DefaultPolicyActionInfo(); } } }