Changeset 11770 for branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Algorithms.Bandits/GrammarPolicies/RandomPolicy.cs
- Timestamp:
- 01/15/15 18:59:07 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Algorithms.Bandits/GrammarPolicies/RandomPolicy.cs
r11742 r11770 8 8 9 9 namespace HeuristicLab.Algorithms.Bandits.GrammarPolicies { 10 public class RandomPolicy : IGrammarPolicy {11 public R eadonlySequence SelectAction(Random random, ReadonlySequence state, IEnumerable<ReadonlySequence> actions) {12 return actions.SelectRandom(random);10 public class RandomPolicy : GrammarPolicy { 11 public RandomPolicy(IProblem problem, bool useCanonicalRepresentation) 12 : base(problem, useCanonicalRepresentation) { 13 13 } 14 14 15 public void UpdateReward(ReadonlySequence state, ReadonlySequence action, double reward, ReadonlySequence newState) { 16 // ignore 17 } 18 19 public bool Done(ReadonlySequence state) { 20 return false; 15 public override bool TrySelect(Random random, ReadonlySequence curState, IEnumerable<ReadonlySequence> afterStates, out ReadonlySequence selectedState) { 16 // never fail => allows re-visits of terminal states 17 selectedState = afterStates.SelectRandom(random); 18 return true; 21 19 } 22 20 }
Note: See TracChangeset
for help on using the changeset viewer.