Free cookie consent management tool by TermsFeed Policy Generator

source: branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Algorithms.Bandits/BanditPolicies/RandomPolicy.cs @ 11742

Last change on this file since 11742 was 11742, checked in by gkronber, 9 years ago

#2283 refactoring

File size: 755 bytes
RevLine 
[11708]1using System;
2using System.Collections.Generic;
[11727]3using System.Diagnostics;
[11708]4using System.Linq;
5using System.Text;
6using System.Threading.Tasks;
[11727]7using HeuristicLab.Common;
[11708]8
[11742]9namespace HeuristicLab.Algorithms.Bandits.BanditPolicies {
10  public class RandomPolicy : IBanditPolicy {
[11727]11
[11732]12    public override string ToString() {
13      return "RandomPolicy";
[11708]14    }
15
[11742]16    public int SelectAction(Random random, IEnumerable<IBanditPolicyActionInfo> actionInfos) {
[11732]17      return actionInfos
[11742]18        .Select((aInfo, idx) => Tuple.Create(aInfo, idx))
[11732]19        .Where(p => !p.Item1.Disabled)
20        .SelectRandom(random).Item2;
[11708]21    }
[11732]22
[11742]23    public IBanditPolicyActionInfo CreateActionInfo() {
24      return new DefaultPolicyActionInfo();
[11708]25    }
26  }
27}
Note: See TracBrowser for help on using the repository browser.