Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/05/13 13:12:54 (11 years ago)
Author:
sforsten
Message:

#1980:

  • added be project Optimization.Operators.LCS
  • added default rule strategies for GAssist
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  
        11*.user
         2Plugin.cs
  • branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/DecisionList.cs

    r9334 r9342  
    2525using HeuristicLab.Common;
    2626using HeuristicLab.Core;
     27using HeuristicLab.Optimization.Operators.LCS;
    2728using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2829
     
    3031  [StorableClass]
    3132  [Item("DecisionList", "")]
    32   public class DecisionList : Item {
     33  public class DecisionList : Item, IGAssistIndividual {
    3334    [Storable]
    3435    private IList<Rule> rules;
     
    4344    }
    4445
     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
    4551    [StorableConstructor]
    4652    protected DecisionList(bool deserializing) : base(deserializing) { }
    4753    protected DecisionList(DecisionList original, Cloner cloner)
    4854      : 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      }
    4960    }
    5061    public DecisionList()
     
    5667      : base() {
    5768      this.rules = rules;
    58       defaultAction = null;
     69      this.defaultAction = null;
    5970    }
    6071    public DecisionList(List<Rule> rules, IAction defaultAction)
     
    95106      return estimated;
    96107    }
     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
    97130  }
    98131}
Note: See TracChangeset for help on using the changeset viewer.