Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/04/13 20:46:18 (11 years ago)
Author:
sforsten
Message:

#1980:

  • added GA subsumption
  • simplified deletion before covering
  • simplified XCSDeletionOperator
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Covering/CoveringOperator.cs

    r9105 r9110  
    101101        throw new ArgumentException("More classifiers with unique actions shall be created than unique actions are available.");
    102102      }
     103      if (count > 0) {
     104        CurrentPopulationSizeParameter.ActualValue.Value += count;
    103105
    104       CurrentPopulationSizeParameter.ActualValue.Value += count;
     106        int current = CurrentScope.SubScopes.Count;
     107        for (int i = 0; i < count; i++) {
     108          CurrentScope.SubScopes.Add(new Scope((current + i).ToString()));
     109        }
    105110
    106       int current = CurrentScope.SubScopes.Count;
    107       for (int i = 0; i < count; i++) {
    108         CurrentScope.SubScopes.Add(new Scope((current + i).ToString()));
     111        creator.ActionParameter.ActualName = "Action";
     112        OperationCollection variableCreation = new OperationCollection() { Parallel = parallel };
     113        OperationCollection creation = new OperationCollection();
     114        OperationCollection evaluation = new OperationCollection() { Parallel = parallel };
     115        for (int i = 0; i < count; i++) {
     116          VariableCreator variableCreator = new VariableCreator();
     117          int pos = RandomParameter.ActualValue.Next(clone.Count);
     118          IClassifier action = clone.ElementAt(pos);
     119          clone.Remove(action);
     120          variableCreator.CollectedValues.Add(new ValueParameter<IClassifier>("Action", action));
     121          variableCreation.Add(ExecutionContext.CreateOperation(variableCreator, CurrentScope.SubScopes[current + i]));
     122          creation.Add(ExecutionContext.CreateOperation(creator, CurrentScope.SubScopes[current + i]));
     123          evaluation.Add(ExecutionContext.CreateOperation(evaluator, CurrentScope.SubScopes[current + i]));
     124        }
     125        OperationCollection next = new OperationCollection();
     126        next.Add(variableCreation);
     127        next.Add(creation);
     128        next.Add(evaluation);
     129        next.Add(base.Apply());
     130        return next;
     131      } else {
     132        return base.Apply();
    109133      }
    110 
    111       creator.ActionParameter.ActualName = "Action";
    112       OperationCollection variableCreation = new OperationCollection() { Parallel = parallel };
    113       OperationCollection creation = new OperationCollection();
    114       OperationCollection evaluation = new OperationCollection() { Parallel = parallel };
    115       for (int i = 0; i < count; i++) {
    116         VariableCreator variableCreator = new VariableCreator();
    117         int pos = RandomParameter.ActualValue.Next(clone.Count);
    118         IClassifier action = clone.ElementAt(pos);
    119         clone.Remove(action);
    120         variableCreator.CollectedValues.Add(new ValueParameter<IClassifier>("Action", action));
    121         variableCreation.Add(ExecutionContext.CreateOperation(variableCreator, CurrentScope.SubScopes[current + i]));
    122         creation.Add(ExecutionContext.CreateOperation(creator, CurrentScope.SubScopes[current + i]));
    123         evaluation.Add(ExecutionContext.CreateOperation(evaluator, CurrentScope.SubScopes[current + i]));
    124       }
    125       OperationCollection next = new OperationCollection();
    126       next.Add(variableCreation);
    127       next.Add(creation);
    128       next.Add(evaluation);
    129       next.Add(base.Apply());
    130       return next;
    131134    }
    132135  }
Note: See TracChangeset for help on using the changeset viewer.