Changeset 11732 for branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Algorithms.Bandits/Policies/RandomPolicy.cs
- Timestamp:
- 01/07/15 09:21:46 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Algorithms.Bandits/Policies/RandomPolicy.cs
r11730 r11732 8 8 9 9 namespace HeuristicLab.Algorithms.Bandits { 10 public class RandomPolicy : BanditPolicy { 11 private readonly Random random; 10 public class RandomPolicy : IPolicy { 12 11 13 public RandomPolicy(Random random, int numActions)14 : base(numActions) {15 this.random = random;16 }17 18 public override int SelectAction() {19 Debug.Assert(Actions.Any());20 return Actions.SelectRandom(random);21 }22 public override void UpdateReward(int action, double reward) {23 // do nothing24 }25 public override void PrintStats() {26 Console.WriteLine("Random");27 }28 12 public override string ToString() { 29 13 return "RandomPolicy"; 30 14 } 15 16 public int SelectAction(Random random, IEnumerable<IPolicyActionInfo> actionInfos) { 17 return actionInfos 18 .Select((a, i) => Tuple.Create(a, i)) 19 .Where(p => !p.Item1.Disabled) 20 .SelectRandom(random).Item2; 21 } 22 23 public IPolicyActionInfo CreateActionInfo() { 24 return new EmptyPolicyActionInfo(); 25 } 31 26 } 32 27 }
Note: See TracChangeset
for help on using the changeset viewer.