Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/04/13 16:16:38 (11 years ago)
Author:
sforsten
Message:

#1980:

  • deleted not needed interface IMatching
  • finished VariableVector encoding
  • the algorithm LearningClassifierSystem is now independent of a specific encoding. It still needs the ConditionActionEncoding.
  • merged r9191:9203 HeuristicLab.Core from trunk to branch
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/LearningClassifierSystems/HeuristicLab.Encodings.CombinedIntegerVectorEncoding/3.3/Manipulator/UniformSomePositionManipulator.cs

    r9154 r9204  
    2323using HeuristicLab.Core;
    2424using HeuristicLab.Data;
     25using HeuristicLab.Encodings.ConditionActionEncoding;
    2526using HeuristicLab.Parameters;
    2627using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2728
    2829namespace HeuristicLab.Encodings.CombinedIntegerVectorEncoding {
    29   public class UniformSomePositionManipulator : CombinedIntegerVectorManipulator {
     30  public class UniformSomePositionManipulator : CombinedIntegerVectorManipulator, IProbabilityMutatorOperator {
    3031
    3132    public IValueLookupParameter<PercentValue> ProbabilityParameter {
     
    5051    }
    5152
    52     protected override CombinedIntegerVector Manipulate(IRandom random, CombinedIntegerVector parent, CombinedIntegerVector child) {
    53       return Manipulate(random, parent, child, ProbabilityParameter.ActualValue.Value, PossibleActionsParameter.ActualValue);
     53    protected override CombinedIntegerVector Manipulate(IRandom random, CombinedIntegerVector input, CombinedIntegerVector child) {
     54      return Manipulate(random, input, child, ProbabilityParameter.ActualValue.Value, PossibleActionsParameter.ActualValue);
    5455    }
    5556
    56     public static CombinedIntegerVector Manipulate(IRandom random, CombinedIntegerVector parent, CombinedIntegerVector child, double probability, IItemSet<CombinedIntegerVector> possibleActions) {
    57       child = ManipulateCondition(random, parent, child, probability);
    58       return ManipulateAction(random, parent, child, probability, possibleActions);
     57    public static CombinedIntegerVector Manipulate(IRandom random, CombinedIntegerVector input, CombinedIntegerVector child, double probability, IItemSet<CombinedIntegerVector> possibleActions) {
     58      child = ManipulateCondition(random, input, child, probability);
     59      return ManipulateAction(random, child, probability, possibleActions);
    5960    }
    6061
    61     public static CombinedIntegerVector ManipulateCondition(IRandom random, CombinedIntegerVector parent, CombinedIntegerVector child, double probability) {
     62    public static CombinedIntegerVector ManipulateCondition(IRandom random, CombinedIntegerVector input, CombinedIntegerVector child, double probability) {
    6263      int conditionLength = child.Length - child.ActionLength;
    6364      for (int index = 0; index < child.Length - child.ActionLength; index++) {
    6465        if (random.NextDouble() < probability) {
    65           child = UniformOnePositionInConditionManipulator.Manipulate(parent, child, index);
     66          child = UniformOnePositionInConditionManipulator.Manipulate(input, child, index);
    6667        }
    6768      }
     
    6970    }
    7071
    71     public static CombinedIntegerVector ManipulateAction(IRandom random, CombinedIntegerVector parent, CombinedIntegerVector child, double probability, IItemSet<CombinedIntegerVector> possibleActions) {
     72    public static CombinedIntegerVector ManipulateAction(IRandom random, CombinedIntegerVector child, double probability, IItemSet<CombinedIntegerVector> possibleActions) {
    7273      if (child.ActionLength > 0 && random.NextDouble() < probability) {
    73         UniformActionManipulator.Manipulate(random, parent, child, possibleActions);
     74        UniformActionManipulator.Manipulate(random, child, possibleActions);
    7475      }
    7576      return child;
Note: See TracChangeset for help on using the changeset viewer.