Changeset 9110 for branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Covering/CoveringOperator.cs
- Timestamp:
- 01/04/13 20:46:18 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/LearningClassifierSystems/HeuristicLab.Encodings.ConditionActionEncoding/3.3/Covering/CoveringOperator.cs
r9105 r9110 101 101 throw new ArgumentException("More classifiers with unique actions shall be created than unique actions are available."); 102 102 } 103 if (count > 0) { 104 CurrentPopulationSizeParameter.ActualValue.Value += count; 103 105 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 } 105 110 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(); 109 133 } 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;131 134 } 132 135 }
Note: See TracChangeset
for help on using the changeset viewer.