Changeset 9342 for branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/DecisionList.cs
- Timestamp:
- 04/05/13 13:12:54 (11 years ago)
- Location:
- branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3
- Property svn:ignore
-
old new 1 1 *.user 2 Plugin.cs
-
- Property svn:ignore
-
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/DecisionList.cs
r9334 r9342 25 25 using HeuristicLab.Common; 26 26 using HeuristicLab.Core; 27 using HeuristicLab.Optimization.Operators.LCS; 27 28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 28 29 … … 30 31 [StorableClass] 31 32 [Item("DecisionList", "")] 32 public class DecisionList : Item {33 public class DecisionList : Item, IGAssistIndividual { 33 34 [Storable] 34 35 private IList<Rule> rules; … … 43 44 } 44 45 46 // default rule (action) is part of the rule set size 47 public int RuleSetSize { 48 get { return defaultAction == null ? rules.Count : rules.Count + 1; } 49 } 50 45 51 [StorableConstructor] 46 52 protected DecisionList(bool deserializing) : base(deserializing) { } 47 53 protected DecisionList(DecisionList original, Cloner cloner) 48 54 : base(original, cloner) { 55 defaultAction = original.DefaultAction; 56 rules = new List<Rule>(original.rules.Count); 57 foreach (var rule in original.Rules) { 58 rules.Add(cloner.Clone(rule)); 59 } 49 60 } 50 61 public DecisionList() … … 56 67 : base() { 57 68 this.rules = rules; 58 defaultAction = null;69 this.defaultAction = null; 59 70 } 60 71 public DecisionList(List<Rule> rules, IAction defaultAction) … … 95 106 return estimated; 96 107 } 108 109 #region IGAssistIndividual Members 110 111 public void ApplySplit(IRandom random, double probability) { 112 foreach (var rule in rules) { 113 rule.ApplySplit(random, probability); 114 } 115 } 116 117 public void ApplyMerge(IRandom random, double probability) { 118 foreach (var rule in rules) { 119 rule.ApplyMerge(random, probability); 120 } 121 } 122 123 public void ApplyReinitialize(IRandom random, double probability, double oneProbability, IEnumerable<IDiscretizer> discretizers) { 124 foreach (var rule in rules) { 125 rule.ApplyReinitialize(random, probability, oneProbability, discretizers); 126 } 127 } 128 129 #endregion 97 130 } 98 131 }
Note: See TracChangeset
for help on using the changeset viewer.