Changeset 9194 for branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Reinforcement
- Timestamp:
- 01/28/13 17:54:46 (11 years ago)
- Location:
- branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Reinforcement
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Reinforcement/ActionExecuter.cs
r9175 r9194 33 33 34 34 #region parameter 35 public IValueLookupParameter<I Classifier> SelectedActionParameter {36 get { return (IValueLookupParameter<I Classifier>)Parameters["SelectedAction"]; }35 public IValueLookupParameter<IAction> SelectedActionParameter { 36 get { return (IValueLookupParameter<IAction>)Parameters["SelectedAction"]; } 37 37 } 38 public IValueLookupParameter<I Classifier> CurrentClassifierToMatchParameter {39 get { return (IValueLookupParameter<I Classifier>)Parameters["CurrentClassifierToMatch"]; }38 public IValueLookupParameter<IAction> CurrentActionToMatchParameter { 39 get { return (IValueLookupParameter<IAction>)Parameters["CurrentActionToMatch"]; } 40 40 } 41 41 public IValueLookupParameter<DoubleValue> CurrentPayoffParameter { … … 61 61 public ActionExecuter() 62 62 : base() { 63 Parameters.Add(new ValueLookupParameter<I Classifier>("SelectedAction"));64 Parameters.Add(new ValueLookupParameter<I Classifier>("CurrentClassifierToMatch"));63 Parameters.Add(new ValueLookupParameter<IAction>("SelectedAction")); 64 Parameters.Add(new ValueLookupParameter<IAction>("CurrentActionToMatch")); 65 65 Parameters.Add(new ValueLookupParameter<DoubleValue>("CurrentPayoff")); 66 66 Parameters.Add(new ValueLookupParameter<DoubleValue>("NegativeReward")); … … 69 69 70 70 public override IOperation Apply() { 71 if (SelectedActionParameter.ActualValue.Match Action(CurrentClassifierToMatchParameter.ActualValue)) {71 if (SelectedActionParameter.ActualValue.Match(CurrentActionToMatchParameter.ActualValue)) { 72 72 CurrentPayoffParameter.ActualValue = PositiveRewardParameter.ActualValue; 73 73 } else { -
branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Reinforcement/ClassifierFetcher.cs
r9161 r9194 33 33 [StorableClass] 34 34 public class ClassifierFetcher : SingleSuccessorOperator, IClassifierFetcher { 35 35 36 #region parameters 36 public IValueLookupParameter<IClassifier> CurrentClassifierToMatchParameter { 37 get { return (IValueLookupParameter<IClassifier>)Parameters["CurrentClassifierToMatch"]; } 37 public IValueLookupParameter<IInput> CurrentInputToMatchParameter { 38 get { return (IValueLookupParameter<IInput>)Parameters["CurrentConditionToMatch"]; } 39 } 40 public IValueLookupParameter<IAction> CurrentActionToMatchParameter { 41 get { return (IValueLookupParameter<IAction>)Parameters["CurrentActionToMatch"]; } 38 42 } 39 43 public ILookupParameter<IConditionActionProblemData> ProblemDataParameter { … … 56 60 public ClassifierFetcher() 57 61 : base() { 58 Parameters.Add(new ValueLookupParameter<IClassifier>("CurrentClassifierToMatch")); 62 Parameters.Add(new ValueLookupParameter<IInput>("CurrentConditionToMatch")); 63 Parameters.Add(new ValueLookupParameter<IAction>("CurrentActionToMatch")); 59 64 Parameters.Add(new LookupParameter<IConditionActionProblemData>("ProblemData")); 60 65 Parameters.Add(new LookupParameter<IntValue>("Iteration")); … … 68 73 var trainingIndices = ProblemData.TrainingIndices.ToList(); 69 74 int index = IterationParameter.ActualValue.Value % trainingIndices.Count; 70 CurrentClassifierToMatchParameter.ActualValue = ProblemDataParameter.ActualValue.FetchClassifier(trainingIndices[index]); 75 CurrentInputToMatchParameter.ActualValue = ProblemDataParameter.ActualValue.FetchInput(trainingIndices[index]); 76 CurrentActionToMatchParameter.ActualValue = ProblemDataParameter.ActualValue.FetchAction(trainingIndices[index]); 71 77 return base.Apply(); 72 78 } -
branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Reinforcement/IActionExecuter.cs
r9089 r9194 27 27 namespace HeuristicLab.Encodings.ConditionActionEncoding { 28 28 public interface IActionExecuter : IOperator, IParameterizedNamedItem, INamedItem, IParameterizedItem, IItem, IContent, IDeepCloneable, ICloneable { 29 IValueLookupParameter<I Classifier> SelectedActionParameter { get; }30 IValueLookupParameter<I Classifier> CurrentClassifierToMatchParameter { get; }29 IValueLookupParameter<IAction> SelectedActionParameter { get; } 30 IValueLookupParameter<IAction> CurrentActionToMatchParameter { get; } 31 31 IValueLookupParameter<DoubleValue> CurrentPayoffParameter { get; } 32 32 ILookupParameter<DoubleValue> NegativeRewardParameter { get; } -
branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Reinforcement/IClassifierFetcher.cs
r9089 r9194 27 27 namespace HeuristicLab.Encodings.ConditionActionEncoding { 28 28 public interface IClassifierFetcher : IOperator, IParameterizedNamedItem, INamedItem, IParameterizedItem, IItem, IContent, IDeepCloneable, ICloneable { 29 IValueLookupParameter<IClassifier> CurrentClassifierToMatchParameter { get; } 29 IValueLookupParameter<IInput> CurrentInputToMatchParameter { get; } 30 IValueLookupParameter<IAction> CurrentActionToMatchParameter { get; } 30 31 ILookupParameter<IConditionActionProblemData> ProblemDataParameter { get; } 31 32 ILookupParameter<IntValue> IterationParameter { get; }
Note: See TracChangeset
for help on using the changeset viewer.