Changeset 9194 for branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/XCSModel.cs
- Timestamp:
- 01/28/13 17:54:46 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/XCSModel.cs
r9161 r9194 34 34 public int ClassifierCount { get { return Count; } } 35 35 36 public IClassifierComparer ClassifierComparer { get; set; } 37 36 38 [StorableConstructor] 37 39 protected XCSModel(bool deserializing) : base(deserializing) { } … … 51 53 } 52 54 53 public IEnumerable<I Classifier> GetAction(IEnumerable<IClassifier> classifiers) {55 public IEnumerable<IAction> GetAction(IEnumerable<IInput> classifiers) { 54 56 foreach (var classifier in classifiers) { 55 57 yield return GetAction(classifier); … … 57 59 } 58 60 59 public I Classifier GetAction(IClassifierclassifier) {61 public IAction GetAction(IInput classifier) { 60 62 var matchedClassifiers = new ItemCollection<XCSClassifier>(); 61 63 foreach (var xcsClassifier in this) { 62 if (xcsClassifier.Classifier.Match Condition(classifier)) {64 if (xcsClassifier.Classifier.MatchInput(classifier)) { 63 65 matchedClassifiers.Add(xcsClassifier); 64 66 } … … 67 69 if (matchedClassifiers.Count == 0) { return null; } 68 70 69 IDictionary<I Classifier, double> predictionArray = CreatePredictionArray(matchedClassifiers);71 IDictionary<IAction, double> predictionArray = CreatePredictionArray(matchedClassifiers); 70 72 return predictionArray.OrderByDescending(x => x.Value).First().Key; 71 73 } 72 74 73 private IDictionary<I Classifier, double> CreatePredictionArray(ItemCollection<XCSClassifier> matchedClassifiers) {74 var predictionArray = new Dictionary<I Classifier, double>();75 var fitnessSumPerAction = new Dictionary<I Classifier, double>();75 private IDictionary<IAction, double> CreatePredictionArray(ItemCollection<XCSClassifier> matchedClassifiers) { 76 var predictionArray = new Dictionary<IAction, double>(ClassifierComparer); 77 var fitnessSumPerAction = new Dictionary<IAction, double>(ClassifierComparer); 76 78 77 79 foreach (var xcsClassifier in matchedClassifiers) { … … 86 88 } 87 89 88 var actions = new List<I Classifier>(predictionArray.Keys);90 var actions = new List<IAction>(predictionArray.Keys); 89 91 foreach (var action in actions) { 90 92 if (fitnessSumPerAction[action] != 0) {
Note: See TracChangeset
for help on using the changeset viewer.