Changeset 9352
- Timestamp:
- 04/10/13 15:15:13 (12 years ago)
- Location:
- branches/LearningClassifierSystems
- Files:
-
- 9 added
- 4 deleted
- 47 edited
- 2 copied
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/LearningClassifierSystems/HeuristicLab.Algorithms.GAssist/3.3/GAssist.cs
r9342 r9352 47 47 #region Problem Properties 48 48 public override Type ProblemType { 49 get { return typeof(I SingleObjectiveHeuristicOptimizationProblem); }50 } 51 public new I SingleObjectiveHeuristicOptimizationProblem Problem {52 get { return (I SingleObjectiveHeuristicOptimizationProblem)base.Problem; }49 get { return typeof(IGAssistProblem); } 50 } 51 public new IGAssistProblem Problem { 52 get { return (IGAssistProblem)base.Problem; } 53 53 set { base.Problem = value; } 54 54 } … … 65 65 get { return (ValueParameter<IntValue>)Parameters["PopulationSize"]; } 66 66 } 67 public IConstrainedValueParameter<ISelector> SelectorParameter { 68 get { return (IConstrainedValueParameter<ISelector>)Parameters["Selector"]; } 67 public IConstrainedValueParameter<IDefaultRuleOperator> DefaultRuleParameter { 68 get { return (IConstrainedValueParameter<IDefaultRuleOperator>)Parameters["DefaultRule"]; } 69 } 70 public IConstrainedValueParameter<INichingSingleObjectiveSelector> SelectorParameter { 71 get { return (IConstrainedValueParameter<INichingSingleObjectiveSelector>)Parameters["Selector"]; } 69 72 } 70 73 private ValueParameter<PercentValue> CrossoverProbabilityParameter { … … 134 137 set { PopulationSizeParameter.Value = value; } 135 138 } 136 public I Selector Selector {139 public INichingSingleObjectiveSelector Selector { 137 140 get { return SelectorParameter.Value; } 138 141 set { SelectorParameter.Value = value; } … … 192 195 Parameters.Add(new ValueParameter<BoolValue>("SetSeedRandomly", "True if the random seed should be set to a random value, otherwise false.", new BoolValue(true))); 193 196 Parameters.Add(new ValueParameter<IntValue>("PopulationSize", "The size of the population of solutions.", new IntValue(100))); 194 Parameters.Add(new ConstrainedValueParameter<I Selector>("Selector", "The operator used to select solutions for reproduction."));197 Parameters.Add(new ConstrainedValueParameter<INichingSingleObjectiveSelector>("Selector", "The operator used to select solutions for reproduction.")); 195 198 Parameters.Add(new ValueParameter<PercentValue>("CrossoverProbability", "The probability that the Crossover operator is applied on a solution.", new PercentValue(0.9))); 196 199 Parameters.Add(new ConstrainedValueParameter<ICrossover>("Crossover", "The operator used to cross solutions.")); … … 208 211 Parameters.Add(new FixedValueParameter<IntValue>("MaximumNumberOfIntervals", "", new IntValue(5))); 209 212 Parameters.Add(new FixedValueParameter<IntValue>("InitialNumberOfRules", "", new IntValue(20))); 213 Parameters.Add(new ConstrainedValueParameter<IDefaultRuleOperator>("DefaultRule", "")); 210 214 Parameters.Add(new ConstrainedValueParameter<IDiscreteDoubleValueModifier>("ReinitializeCurveOperator", "")); 211 215 Parameters.Add(new ValueParameter<ItemCollection<IDiscretizer>>("Discretizers", "", new ItemCollection<IDiscretizer>())); … … 236 240 resultsCollector.Successor = mainLoop; 237 241 242 mainLoop.DefaultRuleParameter.ActualName = DefaultRuleParameter.Name; 238 243 mainLoop.SelectorParameter.ActualName = SelectorParameter.Name; 239 244 mainLoop.CrossoverParameter.ActualName = CrossoverParameter.Name; … … 251 256 mainLoop.ReinitializationProbabilityOperatorParameter.ActualName = ReinitializeCurveOperatorParameter.Name; 252 257 253 foreach (I Selector selector in ApplicationManager.Manager.GetInstances<ISelector>().Where(x => !(x is IMultiObjectiveSelector)).OrderBy(x => x.Name))258 foreach (INichingSingleObjectiveSelector selector in ApplicationManager.Manager.GetInstances<INichingSingleObjectiveSelector>().Where(x => !(x is IMultiObjectiveSelector)).OrderBy(x => x.Name)) 254 259 SelectorParameter.ValidValues.Add(selector); 255 ISelector proportionalSelector = SelectorParameter.ValidValues.FirstOrDefault(x => x.GetType().Name.Equals("ProportionalSelector"));256 if (proportionalSelector != null) SelectorParameter.Value = proportionalSelector;260 //INichingSingleObjectiveSelector proportionalSelector = SelectorParameter.ValidValues.FirstOrDefault(x => x.GetType().Name.Equals("ProportionalSelector")); 261 //if (proportionalSelector != null) SelectorParameter.Value = proportionalSelector; 257 262 ParameterizeSelectors(); 258 263 … … 349 354 ParameterizeAnalyzers(); 350 355 ParameterizeIterationBasedOperators(); 356 UpdateDefaultRuleOperators(); 351 357 UpdateCrossovers(); 352 358 UpdateMutators(); … … 430 436 } 431 437 private void ParameterizeSelectors() { 432 foreach (I Selector selector in SelectorParameter.ValidValues) {438 foreach (INichingSingleObjectiveSelector selector in SelectorParameter.ValidValues) { 433 439 selector.CopySelected = new BoolValue(true); 434 440 selector.NumberOfSelectedSubScopesParameter.Value = new IntValue(2 * (PopulationSizeParameter.Value.Value - ElitesParameter.Value.Value)); 435 441 selector.NumberOfSelectedSubScopesParameter.Hidden = true; 442 selector.ParentsPerChildParameter.Value = new IntValue(2); 436 443 ParameterizeStochasticOperator(selector); 437 444 } 438 445 if (Problem != null) { 439 foreach (I SingleObjectiveSelector selector in SelectorParameter.ValidValues.OfType<ISingleObjectiveSelector>()) {446 foreach (INichingSingleObjectiveSelector selector in SelectorParameter.ValidValues.OfType<INichingSingleObjectiveSelector>()) { 440 447 selector.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name; 441 448 selector.MaximizationParameter.Hidden = true; 442 449 selector.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName; 443 450 selector.QualityParameter.Hidden = true; 451 selector.NichingParameter.ActualName = Problem.NichingParameterName; 452 selector.GAssistNichesProblemDataParameter.ActualName = Problem.ProblemDataParameter.Name; 453 //change 454 selector.IndividualParameter.ActualName = "DecisionList"; 444 455 } 445 456 } … … 468 479 } 469 480 } 481 private void UpdateDefaultRuleOperators() { 482 IDefaultRuleOperator oldDefaultRule = DefaultRuleParameter.Value; 483 DefaultRuleParameter.ValidValues.Clear(); 484 IDefaultRuleOperator defaultdefaultRule = Problem.Operators.OfType<IDefaultRuleOperator>().FirstOrDefault(); 485 486 foreach (IDefaultRuleOperator defaultRule in Problem.Operators.OfType<IDefaultRuleOperator>().OrderBy(x => x.Name)) 487 DefaultRuleParameter.ValidValues.Add(defaultRule); 488 489 if (oldDefaultRule != null) { 490 IDefaultRuleOperator defaultRule = DefaultRuleParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldDefaultRule.GetType()); 491 if (defaultRule != null) DefaultRuleParameter.Value = defaultRule; 492 else oldDefaultRule = null; 493 } 494 if (oldDefaultRule == null && defaultdefaultRule != null) 495 DefaultRuleParameter.Value = defaultdefaultRule; 496 } 470 497 private void UpdateCrossovers() { 471 498 ICrossover oldCrossover = CrossoverParameter.Value; -
branches/LearningClassifierSystems/HeuristicLab.Algorithms.GAssist/3.3/GAssistMainLoop.cs
r9342 r9352 61 61 public ValueLookupParameter<IOperator> MutatorParameter { 62 62 get { return (ValueLookupParameter<IOperator>)Parameters["Mutator"]; } 63 } 64 public ValueLookupParameter<IOperator> DefaultRuleParameter { 65 get { return (ValueLookupParameter<IOperator>)Parameters["DefaultRule"]; } 63 66 } 64 67 public ValueLookupParameter<IOperator> SpecialStagesParameter { … … 130 133 Parameters.Add(new ValueLookupParameter<IntValue>("PopulationSize", "The size of the population.")); 131 134 Parameters.Add(new ValueLookupParameter<IOperator>("ReinitializationProbabilityOperator", "")); 135 Parameters.Add(new ValueLookupParameter<IOperator>("DefaultRule", "")); 132 136 Parameters.Add(new ScopeParameter("CurrentScope", "The current scope which represents a population of solutions on which the genetic algorithm should be applied.")); 133 137 #endregion … … 138 142 Placeholder analyzer1 = new Placeholder(); 139 143 Placeholder reinitializationProbabilityOperator = new Placeholder(); 144 Placeholder defaultRuleOperator = new Placeholder(); 140 145 Placeholder selector = new Placeholder(); 141 146 SubScopesProcessor subScopesProcessor1 = new SubScopesProcessor(); … … 170 175 analyzer1.OperatorParameter.ActualName = "Analyzer"; 171 176 177 defaultRuleOperator.Name = "Default Rule Operator"; 178 defaultRuleOperator.OperatorParameter.ActualName = DefaultRuleParameter.Name; 179 172 180 reinitializationProbabilityOperator.Name = "Reinitialization Probability operator (placeholder)"; 173 181 reinitializationProbabilityOperator.OperatorParameter.ActualName = ReinitializationProbabilityOperatorParameter.Name; … … 229 237 variableCreator.Successor = resultsCollector1; 230 238 resultsCollector1.Successor = analyzer1; 231 analyzer1.Successor = reinitializationProbabilityOperator; 239 analyzer1.Successor = defaultRuleOperator; 240 defaultRuleOperator.Successor = reinitializationProbabilityOperator; 232 241 reinitializationProbabilityOperator.Successor = selector; 233 242 selector.Successor = subScopesProcessor1; … … 263 272 comparator.Successor = analyzer2; 264 273 analyzer2.Successor = conditionalBranch; 265 conditionalBranch.FalseBranch = reinitializationProbabilityOperator;274 conditionalBranch.FalseBranch = defaultRuleOperator; 266 275 conditionalBranch.TrueBranch = null; 267 276 conditionalBranch.Successor = null; -
branches/LearningClassifierSystems/HeuristicLab.Encodings.CombinedIntegerVectorEncoding/3.3/Interfaces/ICombinedIntegerVectorClassificationProblemData.cs
r9242 r9352 28 28 IFixedValueParameter<IntValue> LengthParameter { get; } 29 29 IFixedValueParameter<IntValue> ActionLengthParameter { get; } 30 I FixedValueParameter<IntMatrix> BoundsParameter { get; }30 IValueParameter<IntMatrix> BoundsParameter { get; } 31 31 } 32 32 } -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Action/IAction.cs
r9334 r9352 22 22 using System.Collections.Generic; 23 23 using HeuristicLab.Core; 24 using HeuristicLab.Optimization.Operators.LCS; 24 25 25 26 namespace HeuristicLab.Encodings.DecisionList { 26 public interface IAction : I Item{27 public interface IAction : IGAssistNiche { 27 28 string VariableName { get; } 28 29 29 30 int Possibilities { get; } 30 31 void Randomize(IRandom random); 32 void Randomize(IRandom random, IEnumerable<IAction> except); 31 33 32 34 bool Match(IAction action); -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Action/IntAction.cs
r9334 r9352 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 … … 31 32 [Item("IntAction", "")] 32 33 public class IntAction : Item, IAction<int> { 34 35 public static IEqualityComparer<IGAssistNiche> Comparer { 36 get { return new DecisionListNicheComparer(); } 37 } 38 IEqualityComparer<IGAssistNiche> IGAssistNiche.Comparer { 39 get { return Comparer; } 40 } 33 41 34 42 [Storable] … … 88 96 } 89 97 98 public void Randomize(IRandom random, IEnumerable<IAction> except) { 99 if (except.Count() == 0) { 100 Randomize(random); 101 return; 102 } 103 try { 104 var exceptInt = except.Cast<IntAction>().Select(x => x.currentAction); 105 var newPossibleFeatures = possibleFeatures.Except(exceptInt); 106 currentAction = newPossibleFeatures.ElementAt(random.Next(0, newPossibleFeatures.Count())); 107 } 108 catch (InvalidCastException) { 109 throw new InvalidCastException("Actions have to be of type IntAction"); 110 } 111 } 112 90 113 public bool Match(IAction action) { 91 114 var targetCast = action as IntAction; … … 103 126 104 127 public override string ToString() { 105 return currentAction.ToString(); 128 return variableName + ": " + currentAction.ToString(); 129 } 130 131 public bool SameNiche(IGAssistNiche niche) { 132 return Match(niche as IAction); 133 } 134 135 public int GetNicheHashCode() { 136 int result = 1; 137 result = 37 * result + currentAction; 138 result = 37 * result + variableName.GetHashCode(); 139 foreach (var feature in possibleFeatures) { 140 result = 37 * result + feature; 141 } 142 return result; 106 143 } 107 144 } -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Action/StringAction.cs
r9334 r9352 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 … … 31 32 [Item("StringAction", "")] 32 33 public class StringAction : Item, IAction<string> { 34 35 public static IEqualityComparer<IGAssistNiche> Comparer { 36 get { return new DecisionListNicheComparer(); } 37 } 38 39 IEqualityComparer<IGAssistNiche> IGAssistNiche.Comparer { 40 get { return Comparer; } 41 } 33 42 34 43 [Storable] … … 92 101 } 93 102 103 public void Randomize(IRandom random, IEnumerable<IAction> except) { 104 if (except.Count() == 0) { 105 Randomize(random); 106 return; 107 } 108 try { 109 var exceptInt = except.Cast<StringAction>().Select(x => x.CurrentActionIndex); 110 var newPossibleFeatures = Enumerable.Range(0, possibleFeatures.Count()).Except(exceptInt); 111 currentActionIndex = newPossibleFeatures.ElementAt(random.Next(0, newPossibleFeatures.Count())); 112 } 113 catch (InvalidCastException) { 114 throw new InvalidCastException("Actions have to be of type IntAction"); 115 } 116 } 117 94 118 public bool Match(IAction action) { 95 119 var targetCast = action as StringAction; … … 107 131 108 132 public override string ToString() { 109 return CurrentAction; 133 return variableName + ": " + CurrentAction; 134 } 135 136 public bool SameNiche(IGAssistNiche niche) { 137 return Match(niche as IAction); 138 } 139 140 public int GetNicheHashCode() { 141 int result = 1; 142 result = 37 * result + currentActionIndex; 143 result = 37 * result + variableName.GetHashCode(); 144 foreach (var feature in possibleFeatures) { 145 result = 37 * result + feature.GetHashCode(); 146 } 147 return result; 110 148 } 111 149 } -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Creators/UniformRandomDecisionListCreator.cs
r9342 r9352 51 51 } 52 52 53 return new DecisionList(rules); //, DefaultActionParameter.ActualValue);53 return new DecisionList(rules); 54 54 } 55 55 } -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Crossover/SinglePointCrossover.cs
r9342 r9352 48 48 49 49 public static DecisionList Apply(IRandom random, DecisionList parent1, DecisionList parent2) { 50 if (!parent1.DefaultAction.Match(parent2.DefaultAction)) { throw new ArgumentException("Default action of parents have to match!"); } 51 50 52 int rulesP1 = random.Next(0, parent1.Rules.Count()); 51 53 int rulesP2 = random.Next(0, parent2.Rules.Count()); -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/DecisionList.cs
r9342 r9352 109 109 #region IGAssistIndividual Members 110 110 111 public IGAssistNiche Niche { 112 get { return defaultAction; } 113 } 114 115 public void SetNiche(IRandom random, IGAssistNiche niche) { 116 var action = niche as IAction; 117 if (action == null) { 118 throw new ArgumentException("Niche has to be an action"); 119 } 120 if (Niche != null) { 121 throw new ArgumentException("Niche has already been set. It cannot be set again."); 122 } 123 defaultAction = action; 124 var except = new List<IAction>() { action }; 125 foreach (var rule in rules.Where(x => x.Action.SameNiche(niche))) { 126 rule.Action.Randomize(random, except); 127 } 128 } 129 111 130 public void ApplySplit(IRandom random, double probability) { 112 131 foreach (var rule in rules) { … … 126 145 } 127 146 } 128 129 147 #endregion 130 148 } -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/DecisionListCreator.cs
r9342 r9352 52 52 get { return (ILookupParameter<IRandom>)Parameters["Random"]; } 53 53 } 54 public IValueLookupParameter<IAction> DefaultActionParameter {55 get { return (IValueLookupParameter<IAction>)Parameters["DefaultAction"]; }56 }57 54 #endregion 58 55 -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/HeuristicLab.Encodings.DecisionList-3.3.csproj
r9342 r9352 92 92 <Compile Include="Action\IAction.cs" /> 93 93 <Compile Include="Action\IntAction.cs" /> 94 <Compile Include="Analyzer\BestTrainingDecisionListAnalyzer.cs" /> 94 95 <Compile Include="Creators\UniformRandomDecisionListCreator.cs" /> 95 96 <Compile Include="Crossover\SinglePointCrossover.cs" /> … … 97 98 <Compile Include="DecisionListCrossover.cs" /> 98 99 <Compile Include="DecisionListManipulator.cs" /> 100 <Compile Include="DecisionListNicheComparer.cs" /> 99 101 <Compile Include="DecisionListSolution.cs" /> 100 102 <Compile Include="Evaluator\DecisionListEvaluator.cs" /> -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Interfaces/IDecisionListClassificationProblemData.cs
r9342 r9352 24 24 using HeuristicLab.Core; 25 25 using HeuristicLab.Data; 26 using HeuristicLab.Optimization.Operators.LCS; 26 27 using HeuristicLab.Problems.DataAnalysis; 27 28 28 29 namespace HeuristicLab.Encodings.DecisionList { 29 public interface IDecisionListClassificationProblemData : I NamedItem{30 public interface IDecisionListClassificationProblemData : IGAssistNichesProblemData { 30 31 Dataset Dataset { get; } 31 32 ICheckedItemList<StringValue> ConditionVariables { get; } … … 45 46 int Classes { get; } 46 47 47 I FixedValueParameter<Rule> SampleRuleParameter { get; }48 IValueParameter<Rule> SampleRuleParameter { get; } 48 49 49 50 DecisionListInput FetchInput(int row); -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Interfaces/IDecisionListCreator.cs
r9342 r9352 31 31 IValueLookupParameter<IntValue> InitialNumberOfRulesParameter { get; } 32 32 IValueLookupParameter<PercentValue> OneProbabilityParameter { get; } 33 IValueLookupParameter<IAction> DefaultActionParameter { get; }34 33 } 35 34 } -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Properties/AssemblyInfo.cs
r9334 r9352 21 21 22 22 using System.Reflection; 23 using System.Runtime.CompilerServices; 23 24 using System.Runtime.InteropServices; 24 25 … … 54 55 // [assembly: AssemblyVersion("1.0.*")] 55 56 [assembly: AssemblyVersion("3.3.0.0")] 56 [assembly: AssemblyFileVersion("3.3.7.9 204")]57 [assembly: AssemblyFileVersion("3.3.7.9342")] -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Rule.cs
r9342 r9352 73 73 sb.Append(variable.Value + "|"); 74 74 } 75 sb.Append( Action);75 sb.Append("|" + Action); 76 76 return sb.ToString(); 77 77 } -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Variable/Variable.cs
r9342 r9352 76 76 public override string ToString() { 77 77 StringBuilder sb = new StringBuilder(); 78 sb.Append(variableName + ": "); 78 79 foreach (var attr in attributes) { 79 80 if (attr) { -
branches/LearningClassifierSystems/HeuristicLab.Encodings.VariableVector/3.3/Interfaces/IVariableVectorClassificationProblemData.cs
r9242 r9352 26 26 namespace HeuristicLab.Encodings.VariableVector { 27 27 public interface IVariableVectorClassificationProblemData : IConditionActionProblemData { 28 I FixedValueParameter<VariableVector> SampleVariableVectorParameter { get; }28 IValueParameter<VariableVector> SampleVariableVectorParameter { get; } 29 29 IFixedValueParameter<PercentValue> SpreadPercentageParameter { get; } 30 30 } -
branches/LearningClassifierSystems/HeuristicLab.Optimization.Operators.LCS/3.3
-
Property
svn:ignore
set to
obj
Plugin.cs
-
Property
svn:ignore
set to
-
branches/LearningClassifierSystems/HeuristicLab.Optimization.Operators.LCS/3.3/DefaultRule/AutoDefaultRule.cs
r9342 r9352 44 44 get { return (ILookupParameter<ItemArray<DoubleValue>>)Parameters["Quality"]; } 45 45 } 46 public ILookupParameter<ItemArray<IGAssistIndividual>> IndividualParameter {47 get { return (ILookupParameter<ItemArray<IGAssistIndividual>>)Parameters["Individual"]; }48 }49 46 public IValueLookupParameter<IntValue> AccuraciesCountParameter { 50 47 get { return (IValueLookupParameter<IntValue>)Parameters["AccuraciesCount"]; } … … 70 67 Parameters.Add(new ValueLookupParameter<ItemDictionary<IGAssistNiche, ItemList<DoubleValue>>>("AverageAccuracies")); 71 68 Parameters.Add(new ScopeTreeLookupParameter<DoubleValue>("Quality")); 72 Parameters.Add(new ScopeTreeLookupParameter<IGAssistIndividual>("Individual"));73 69 Parameters.Add(new LookupParameter<IRandom>("Random")); 74 Parameters.Add(new ValueLookupParameter<IntValue>("AccuraciesCount" ));70 Parameters.Add(new ValueLookupParameter<IntValue>("AccuraciesCount", new IntValue(15))); 75 71 Parameters.Add(new ValueLookupParameter<IGAssistNicheEqualityComparer>("NicheComparer")); 76 Parameters.Add(new ValueLookupParameter<DoubleValue>("NicheStandardDeviation" ));72 Parameters.Add(new ValueLookupParameter<DoubleValue>("NicheStandardDeviation", new DoubleValue(0.005))); 77 73 } 78 74 public override IDeepCloneable Clone(Cloner cloner) { … … 82 78 public override IOperation Apply() { 83 79 if (NichingParameter.ActualValue == null) { 80 IList<IGAssistNiche> niches = GAssistNichesProblemDataParameter.ActualValue.GetPossibleNiches().ToList(); 84 81 NichingParameter.ActualValue = new BoolValue(true); 85 NichesParameter.ActualValue = new IntValue( PossibleDefaultClassesParameter.ActualValue.Count);86 AverageAccuraciesParameter.ActualValue = new ItemDictionary<IGAssistNiche, ItemList<DoubleValue>>(NicheComparerParameter.ActualValue );87 foreach (var niche in PossibleDefaultClassesParameter.ActualValue) {82 NichesParameter.ActualValue = new IntValue(niches.Count); 83 AverageAccuraciesParameter.ActualValue = new ItemDictionary<IGAssistNiche, ItemList<DoubleValue>>(NicheComparerParameter.ActualValue as IEqualityComparer<IGAssistNiche>); 84 foreach (var niche in GAssistNichesProblemDataParameter.ActualValue.GetPossibleNiches()) { 88 85 AverageAccuracies.Add(niche, new ItemList<DoubleValue>(AccuraciesCount)); 89 86 } 87 88 int i = 0; 89 foreach (var individual in IndividualParameter.ActualValue) { 90 individual.SetNiche(RandomParameter.ActualValue, niches[i]); 91 i++; 92 i %= niches.Count; 93 } 94 95 OperationCollection next = new OperationCollection(); 96 next.Add(EvaluateSubScopes()); 97 next.Add(base.Apply()); 98 return next; 90 99 } else { 91 100 var nicheFitness = new Dictionary<IGAssistNiche, double>(NicheComparerParameter.ActualValue); 92 foreach (var niche in PossibleDefaultClassesParameter.ActualValue) {101 foreach (var niche in GAssistNichesProblemDataParameter.ActualValue.GetPossibleNiches()) { 93 102 nicheFitness[niche] = 0.0; 94 103 while (AverageAccuracies[niche].Count >= AccuraciesCount) { … … 105 114 } 106 115 107 foreach (var niche in PossibleDefaultClassesParameter.ActualValue) {116 foreach (var niche in GAssistNichesProblemDataParameter.ActualValue.GetPossibleNiches()) { 108 117 AverageAccuracies[niche].Insert(0, new DoubleValue(nicheFitness[niche])); 109 118 } 110 119 111 var averages = new List<double>( PossibleDefaultClassesParameter.ActualValue.Count);120 var averages = new List<double>(GAssistNichesProblemDataParameter.ActualValue.GetPossibleNiches().Count()); 112 121 if (AverageAccuracies.Values.First().Count >= AccuraciesCount) { 113 122 foreach (var averageAccuracy in AverageAccuracies.Values) { -
branches/LearningClassifierSystems/HeuristicLab.Optimization.Operators.LCS/3.3/DefaultRule/DefaultRuleOperator.cs
r9342 r9352 42 42 get { return (IValueLookupParameter<IGAssistNiche>)Parameters["DefaultClass"]; } 43 43 } 44 public ILookupParameter<ItemCollection<IGAssistNiche>> PossibleDefaultClassesParameter { 45 get { return (ILookupParameter<ItemCollection<IGAssistNiche>>)Parameters["PossibleDefaultClasses"]; } 44 public ILookupParameter<IGAssistNichesProblemData> GAssistNichesProblemDataParameter { 45 get { return (ILookupParameter<IGAssistNichesProblemData>)Parameters["GAssistNichesProblemData"]; } 46 } 47 public ILookupParameter<ItemArray<IGAssistIndividual>> IndividualParameter { 48 get { return (ILookupParameter<ItemArray<IGAssistIndividual>>)Parameters["Individual"]; } 49 } 50 public IValueLookupParameter<IOperator> EvaluatorParameter { 51 get { return (IValueLookupParameter<IOperator>)Parameters["Evaluator"]; } 46 52 } 47 53 #endregion … … 57 63 Parameters.Add(new ValueLookupParameter<IntValue>("Niches")); 58 64 Parameters.Add(new ValueLookupParameter<IGAssistNiche>("DefaultClass")); 59 Parameters.Add(new LookupParameter<ItemCollection<IGAssistNiche>>("PossibleDefaultClasses")); 65 Parameters.Add(new LookupParameter<IGAssistNichesProblemData>("GAssistNichesProblemData")); 66 Parameters.Add(new ScopeTreeLookupParameter<IGAssistIndividual>("Individual")); 67 Parameters.Add(new ValueLookupParameter<IOperator>("Evaluator")); 68 } 69 70 protected OperationCollection EvaluateSubScopes() { 71 IOperator evaluator = EvaluatorParameter.ActualValue; 72 OperationCollection evaluation = new OperationCollection(); 73 if (evaluator != null) { 74 foreach (var subScope in ExecutionContext.Scope.SubScopes) { 75 evaluation.Add(ExecutionContext.CreateOperation(evaluator, subScope)); 76 } 77 } 78 return evaluation; 60 79 } 61 80 } -
branches/LearningClassifierSystems/HeuristicLab.Optimization.Operators.LCS/3.3/DefaultRule/IDefaultRuleOperator.cs
r9342 r9352 26 26 public interface IDefaultRuleOperator : IOperator { 27 27 IValueLookupParameter<BoolValue> NichingParameter { get; } 28 ILookupParameter<IntValue> NichesParameter { get; } 29 IValueLookupParameter<Item> DefaultClassParameter { get; } 30 ILookupParameter<ItemCollection<IGAssistNiche>> PossibleDefaultClassesParameter { get; } 28 IValueLookupParameter<IntValue> NichesParameter { get; } 29 IValueLookupParameter<IGAssistNiche> DefaultClassParameter { get; } 30 ILookupParameter<IGAssistNichesProblemData> GAssistNichesProblemDataParameter { get; } 31 ILookupParameter<ItemArray<IGAssistIndividual>> IndividualParameter { get; } 32 IValueLookupParameter<IOperator> EvaluatorParameter { get; } 31 33 } 32 34 } -
branches/LearningClassifierSystems/HeuristicLab.Optimization.Operators.LCS/3.3/DefaultRule/MajorDefaultRule.cs
r9342 r9352 77 77 index = indices[0]; 78 78 } 79 DefaultClassParameter.ActualValue = PossibleDefaultClassesParameter.ActualValue.ElementAt(index); 79 IGAssistNiche niche = GAssistNichesProblemDataParameter.ActualValue.GetPossibleNiches().ElementAt(index); 80 DefaultClassParameter.ActualValue = niche; 81 82 foreach (var individual in IndividualParameter.ActualValue) { 83 individual.SetNiche(RandomParameter.ActualValue, niche); 84 } 85 86 OperationCollection next = new OperationCollection(); 87 next.Add(EvaluateSubScopes()); 88 next.Add(base.Apply()); 89 return next; 80 90 } 81 91 return base.Apply(); -
branches/LearningClassifierSystems/HeuristicLab.Optimization.Operators.LCS/3.3/DefaultRule/MinorDefaultRule.cs
r9342 r9352 77 77 index = indices[0]; 78 78 } 79 DefaultClassParameter.ActualValue = PossibleDefaultClassesParameter.ActualValue.ElementAt(index); 79 IGAssistNiche niche = GAssistNichesProblemDataParameter.ActualValue.GetPossibleNiches().ElementAt(index); 80 DefaultClassParameter.ActualValue = niche; 81 82 foreach (var individual in IndividualParameter.ActualValue) { 83 individual.SetNiche(RandomParameter.ActualValue, niche); 84 } 85 86 OperationCollection next = new OperationCollection(); 87 next.Add(EvaluateSubScopes()); 88 next.Add(base.Apply()); 89 return next; 80 90 } 81 91 return base.Apply(); -
branches/LearningClassifierSystems/HeuristicLab.Optimization.Operators.LCS/3.3/GAssist/Interfaces/IGAssistIndividual.cs
r9342 r9352 26 26 public interface IGAssistIndividual : IItem { 27 27 IGAssistNiche Niche { get; } 28 void SetNiche(IRandom random, IGAssistNiche niche); 28 29 void ApplySplit(IRandom random, double probability); 29 30 void ApplyMerge(IRandom random, double probability); -
branches/LearningClassifierSystems/HeuristicLab.Optimization.Operators.LCS/3.3/GAssist/Interfaces/IGAssistNiche.cs
r9342 r9352 20 20 #endregion 21 21 22 using System.Collections.Generic; 22 23 using HeuristicLab.Core; 23 24 … … 25 26 public interface IGAssistNiche : IItem { 26 27 bool SameNiche(IGAssistNiche niche); 28 int GetNicheHashCode(); 29 IEqualityComparer<IGAssistNiche> Comparer { get; } 27 30 } 28 31 } -
branches/LearningClassifierSystems/HeuristicLab.Optimization.Operators.LCS/3.3/HeuristicLab.Optimization.Operators.LCS-3.3.csproj
r9342 r9352 46 46 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath> 47 47 </Reference> 48 <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">49 <SpecificVersion>False</SpecificVersion>50 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath>51 </Reference>52 48 <Reference Include="HeuristicLab.Data-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 53 49 <SpecificVersion>False</SpecificVersion> … … 84 80 <Reference Include="System" /> 85 81 <Reference Include="System.Core" /> 82 <Reference Include="System.Drawing" /> 86 83 <Reference Include="System.Xml.Linq" /> 87 84 <Reference Include="System.Data.DataSetExtensions" /> … … 92 89 <ItemGroup> 93 90 <Compile Include="DefaultRule\AutoDefaultRule.cs" /> 91 <Compile Include="GAssist\IGAssistNichesProblemData.cs" /> 94 92 <Compile Include="DefaultRule\MajorDefaultRule.cs" /> 95 93 <Compile Include="DefaultRule\DefaultRuleOperator.cs" /> … … 99 97 <Compile Include="Discretizer\UniformWidthDiscretizer.cs" /> 100 98 <Compile Include="Discretizer\IDiscretizer.cs" /> 99 <Compile Include="GAssist\IGAssistProblem.cs" /> 101 100 <Compile Include="GAssist\Interfaces\IGAssistIndividual.cs" /> 102 101 <Compile Include="GAssist\Interfaces\IGAssistIndividualCreator.cs" /> … … 110 109 <Compile Include="GAssist\SpecialStage\SplitOperator.cs" /> 111 110 <Compile Include="Plugin.cs" /> 111 <Compile Include="Selection\INichingSingleObjectiveSelector.cs" /> 112 112 <Compile Include="Selection\NichingTournamentSelector.cs" /> 113 113 <Compile Include="Selection\PreservingRightReducer.cs" /> … … 119 119 <None Include="Plugin.cs.frame" /> 120 120 </ItemGroup> 121 <ItemGroup /> 121 <ItemGroup> 122 <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj"> 123 <Project>{c36bd924-a541-4a00-afa8-41701378ddc5}</Project> 124 <Name>HeuristicLab.Core-3.3</Name> 125 </ProjectReference> 126 </ItemGroup> 122 127 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 123 128 <PropertyGroup> -
branches/LearningClassifierSystems/HeuristicLab.Optimization.Operators.LCS/3.3/Properties
-
Property
svn:ignore
set to
AssemblyInfo.cs
-
Property
svn:ignore
set to
-
branches/LearningClassifierSystems/HeuristicLab.Optimization.Operators.LCS/3.3/Selection/NichingTournamentSelector.cs
r9342 r9352 30 30 using HeuristicLab.Selection; 31 31 32 namespace HeuristicLab.Optimization.Operators.LCS .Selection{32 namespace HeuristicLab.Optimization.Operators.LCS { 33 33 [Item("NichingTournamentSelector", "Description missing")] 34 34 [StorableClass] 35 public class NichingTournamentSelector : StochasticSingleObjectiveSelector, I SingleObjectiveSelector {35 public class NichingTournamentSelector : StochasticSingleObjectiveSelector, INichingSingleObjectiveSelector { 36 36 37 37 #region Parameter Properties … … 39 39 get { return (ValueLookupParameter<IntValue>)Parameters["GroupSize"]; } 40 40 } 41 public LookupParameter<IntValue> NichesParameter { 42 get { return (LookupParameter<IntValue>)Parameters["Niches"]; } 41 public ILookupParameter<IGAssistNichesProblemData> GAssistNichesProblemDataParameter { 42 get { return (LookupParameter<IGAssistNichesProblemData>)Parameters["GAssistNichesProblemData"]; } 43 } 44 public ILookupParameter<BoolValue> NichingParameter { 45 get { return (LookupParameter<BoolValue>)Parameters["Niching"]; } 46 } 47 public IValueLookupParameter<IntValue> ParentsPerChildParameter { 48 get { return (IValueLookupParameter<IntValue>)Parameters["ParentsPerChild"]; } 49 } 50 public ILookupParameter<ItemArray<IGAssistIndividual>> IndividualParameter { 51 get { return (ILookupParameter<ItemArray<IGAssistIndividual>>)Parameters["Individual"]; } 43 52 } 44 53 #endregion … … 52 61 : base() { 53 62 Parameters.Add(new ValueLookupParameter<IntValue>("GroupSize", "The size of the tournament group.", new IntValue(2))); 54 Parameters.Add(new LookupParameter<IntValue>("Niches", "")); 63 Parameters.Add(new LookupParameter<IGAssistNichesProblemData>("GAssistNichesProblemData", "")); 64 Parameters.Add(new LookupParameter<BoolValue>("Niching", "")); 65 Parameters.Add(new ValueLookupParameter<IntValue>("ParentsPerChild", "")); 66 Parameters.Add(new ScopeTreeLookupParameter<IGAssistIndividual>("Individual", "")); 55 67 } 56 68 public override IDeepCloneable Clone(Cloner cloner) { … … 64 76 bool maximization = MaximizationParameter.ActualValue.Value; 65 77 List<double> qualities = QualityParameter.ActualValue.Where(x => IsValidQuality(x.Value)).Select(x => x.Value).ToList(); 78 List<IGAssistIndividual> individuals = IndividualParameter.ActualValue.ToList(); 66 79 int groupSize = GroupSizeParameter.ActualValue.Value; 67 80 IScope[] selected = new IScope[count]; 81 bool doNiching = NichingParameter.ActualValue.Value; 68 82 69 83 //check if list with indexes is as long as the original scope list 70 84 //otherwise invalid quality values were filtered 71 if (qualities.Count != scopes.Count ) {85 if (qualities.Count != scopes.Count && individuals.Count != scopes.Count) { 72 86 throw new ArgumentException("The scopes contain invalid quality values (either infinity or double.NaN) on which the selector cannot operate."); 73 87 } 74 88 75 for (int i = 0; i < count; i++) { 76 int best = random.Next(scopes.Count); 77 int index; 78 for (int j = 1; j < groupSize; j++) { 79 index = random.Next(scopes.Count); 80 if (((maximization) && (qualities[index] > qualities[best])) || 81 ((!maximization) && (qualities[index] < qualities[best]))) { 82 best = index; 89 int parentsPerChild = ParentsPerChildParameter.ActualValue.Value; 90 var possibleNiches = GAssistNichesProblemDataParameter.ActualValue.GetPossibleNiches().ToList(); 91 var selectPerNiche = new Dictionary<IGAssistNiche, int>(possibleNiches.First().Comparer); 92 93 var nicheScope = new Dictionary<IGAssistNiche, List<int>>(possibleNiches.First().Comparer); 94 foreach (var niche in possibleNiches) { 95 nicheScope.Add(niche, new List<int>()); 96 selectPerNiche.Add(niche, count / possibleNiches.Count); 97 } 98 99 for (int i = 0; i < individuals.Count; i++) { 100 nicheScope[individuals[i].Niche].Add(i); 101 } 102 103 int curCount = 0; 104 while (curCount < count) { 105 IGAssistNiche niche = null; 106 int best = -1; 107 if (doNiching) { 108 niche = GetNiche(random, selectPerNiche, possibleNiches); 109 } else { 110 best = random.Next(scopes.Count); 111 } 112 for (int i = 0; i < parentsPerChild; i++) { 113 int index; 114 if (doNiching) { 115 best = nicheScope[niche][random.Next(nicheScope[niche].Count)]; 83 116 } 84 } 117 for (int j = 1; j < groupSize; j++) { 118 if (niche != null) { 119 index = nicheScope[niche][random.Next(nicheScope[niche].Count)]; 120 } else { 121 index = random.Next(scopes.Count); 122 } 123 if (((maximization) && (qualities[index] > qualities[best])) || 124 ((!maximization) && (qualities[index] < qualities[best]))) { 125 best = index; 126 } 127 } 85 128 86 if (copy) 87 selected[i] = (IScope)scopes[best].Clone(); 88 else { 89 selected[i] = scopes[best]; 90 scopes.RemoveAt(best); 91 qualities.RemoveAt(best); 129 niche = individuals[best].Niche; 130 131 if (copy) 132 selected[curCount] = (IScope)scopes[best].Clone(); 133 else { 134 selected[curCount] = scopes[best]; 135 scopes.RemoveAt(best); 136 qualities.RemoveAt(best); 137 } 138 selectPerNiche[niche]--; 139 curCount++; 92 140 } 93 141 } 142 94 143 return selected; 144 } 145 146 private IGAssistNiche GetNiche(IRandom random, Dictionary<IGAssistNiche, int> nicheScope, List<IGAssistNiche> possibleNiches) { 147 int sum = nicheScope.Values.Sum(); 148 if (sum <= 0) { return possibleNiches[random.Next(possibleNiches.Count)]; } 149 int pos = random.Next(sum); 150 int total = 0; 151 IGAssistNiche niche = nicheScope.Keys.First(); 152 foreach (var item in nicheScope) { 153 total += item.Value; 154 niche = item.Key; 155 if (pos < total) { 156 return niche; 157 } 158 } 159 throw new ArgumentException("error in code"); 95 160 } 96 161 } -
branches/LearningClassifierSystems/HeuristicLab.Problems.CombinedIntegerVectorClassification/3.3/CombinedIntegerVectorClassificationProblemData.cs
r9242 r9352 45 45 get { return (IFixedValueParameter<IntValue>)Parameters["ActionLength"]; } 46 46 } 47 public I FixedValueParameter<IntMatrix> BoundsParameter {48 get { return (I FixedValueParameter<IntMatrix>)Parameters["Bounds"]; }47 public IValueParameter<IntMatrix> BoundsParameter { 48 get { return (IValueParameter<IntMatrix>)Parameters["Bounds"]; } 49 49 } 50 50 #endregion … … 77 77 Parameters.Add(new FixedValueParameter<IntValue>("Length", "", new IntValue(allowedConditionVariables.Count() + allowedActionVariables.Count()))); 78 78 Parameters.Add(new FixedValueParameter<IntValue>("ActionLength", "", new IntValue(allowedActionVariables.Count()))); 79 Parameters.Add(new FixedValueParameter<IntMatrix>("Bounds", "", GetBoundsMatrix(dataset, allowedConditionVariables, allowedActionVariables)));79 Parameters.Add(new ValueParameter<IntMatrix>("Bounds", "", GetBoundsMatrix(dataset, allowedConditionVariables, allowedActionVariables))); 80 80 } 81 81 … … 126 126 return (FetchInput(rowNumber) as IClassifier).Action; 127 127 } 128 129 protected override void ActionConditionVariablesChanged() { 130 ActionLength.Value = AllowedActionVariables.Count(); 131 Length.Value = AllowedConditionVariables.Count() + ActionLength.Value; 132 BoundsParameter.Value = GetBoundsMatrix(Dataset, AllowedConditionVariables, AllowedActionVariables); 133 } 128 134 } 129 135 } -
branches/LearningClassifierSystems/HeuristicLab.Problems.CombinedIntegerVectorClassification/3.3/HeuristicLab.Problems.CombinedIntegerVectorClassification-3.3.csproj
r9334 r9352 125 125 </ItemGroup> 126 126 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 127 <PropertyGroup> 128 <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir) 129 set ProjectDir=$(ProjectDir) 130 set SolutionDir=$(SolutionDir) 131 set Outdir=$(Outdir) 132 133 call PreBuildEvent.cmd 134 </PreBuildEvent> 135 </PropertyGroup> 127 136 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 128 137 Other similar extension points exist, see Microsoft.Common.targets. -
branches/LearningClassifierSystems/HeuristicLab.Problems.ConditionActionClassification/3.3/ConditionActionClassificationProblemData.cs
r9226 r9352 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using HeuristicLab.Collections; 25 26 using HeuristicLab.Common; 26 27 using HeuristicLab.Core; … … 109 110 #endregion 110 111 112 [StorableHook(HookType.AfterDeserialization)] 113 private void AfterDeserialization() { 114 RegisterParameterEvents(); 115 } 111 116 [StorableConstructor] 112 117 protected ConditionActionClassificationProblemData(bool deserializing) : base(deserializing) { } 113 118 protected ConditionActionClassificationProblemData(ConditionActionClassificationProblemData original, Cloner cloner) 114 119 : base(original, cloner) { 120 RegisterParameterEvents(); 115 121 } 116 122 … … 144 150 145 151 ((ValueParameter<Dataset>)DatasetParameter).ReactOnValueToStringChangedAndValueItemImageChanged = false; 152 153 RegisterParameterEvents(); 146 154 } 147 155 … … 167 175 168 176 protected IDictionary<int, IInput> fetchInputCache = new Dictionary<int, IInput>(); 177 178 #region events 179 private void RegisterParameterEvents() { 180 ConditionVariablesParameter.ValueChanged += new EventHandler(VariablesChanged); 181 ConditionVariablesParameter.Value.CheckedItemsChanged += new CollectionItemsChangedEventHandler<IndexedItem<StringValue>>(VariablesChanged); 182 ActionVariablesParameter.ValueChanged += new EventHandler(VariablesChanged); 183 ActionVariablesParameter.Value.CheckedItemsChanged += new CollectionItemsChangedEventHandler<IndexedItem<StringValue>>(VariablesChanged); 184 } 185 private void DeregisterParameterEvents() { 186 ActionVariablesParameter.Value.CheckedItemsChanged += new CollectionItemsChangedEventHandler<IndexedItem<StringValue>>(VariablesChanged); 187 ActionVariablesParameter.ValueChanged += new EventHandler(VariablesChanged); 188 ConditionVariablesParameter.Value.CheckedItemsChanged += new CollectionItemsChangedEventHandler<IndexedItem<StringValue>>(VariablesChanged); 189 ConditionVariablesParameter.ValueChanged += new EventHandler(VariablesChanged); 190 } 191 private void Value_CheckedItemsChanged(object sender, CollectionItemsChangedEventArgs<IndexedItem<StringValue>> e) { 192 ActionConditionVariablesChanged(); 193 } 194 private void VariablesChanged(object sender, EventArgs e) { 195 ActionConditionVariablesChanged(); 196 } 197 198 protected abstract void ActionConditionVariablesChanged(); 199 #endregion 169 200 } 170 201 } -
branches/LearningClassifierSystems/HeuristicLab.Problems.DecisionListClassification/3.3
- Property svn:ignore
-
old new 1 1 Plugin.cs 2 obj
-
- Property svn:ignore
-
branches/LearningClassifierSystems/HeuristicLab.Problems.DecisionListClassification/3.3/DecisionListClassificationProblem.cs
r9342 r9352 27 27 using HeuristicLab.Encodings.DecisionList.Interfaces; 28 28 using HeuristicLab.Optimization; 29 using HeuristicLab.Optimization.Operators.LCS; 30 using HeuristicLab.Optimization.Operators.LCS.DefaultRule; 29 31 using HeuristicLab.Parameters; 30 32 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 31 33 using HeuristicLab.PluginInfrastructure; 32 34 using HeuristicLab.Problems.DataAnalysis; 35 using HeuristicLab.Problems.Instances; 33 36 34 37 namespace HeuristicLab.Problems.DecisionListClassification { … … 36 39 [StorableClass] 37 40 [Creatable("Problems")] 38 public class DecisionListClassificationProblem : HeuristicOptimizationProblem<IDecisionListEvaluator, IDecisionListCreator>, IDecisionListClassificationProblem { 41 public class DecisionListClassificationProblem : HeuristicOptimizationProblem<IDecisionListEvaluator, IDecisionListCreator>, 42 IDecisionListClassificationProblem, IGAssistProblem, 43 IProblemInstanceConsumer<DecisionListClassificationProblemData> { 39 44 40 45 #region parameter properties … … 105 110 : base(decisionlistEvaluator, decisionListCreator) { 106 111 Parameters.Add(new ValueParameter<IDecisionListClassificationProblemData>("ProblemData", "", problemData)); 107 Parameters.Add(new FixedValueParameter<BoolValue>("Maximization", "", new BoolValue( true)));112 Parameters.Add(new FixedValueParameter<BoolValue>("Maximization", "", new BoolValue(false))); 108 113 Parameters.Add(new FixedValueParameter<DoubleValue>("BestKnownQuality", "", new DoubleValue(0.5))); 109 114 Parameters.Add(new FixedValueParameter<IntValue>("SizePenaltyMinRules", "", new IntValue(4))); … … 116 121 // do differently 117 122 ((MDLEvaluator)Evaluator).MDLCalculatorParameter.Value = new MDLCalculator(ActivationIterationParameter.Value.Value, InitialTheoryLengthRatioParameter.Value.Value, WeightRelaxFactorParameter.Value.Value); 118 // do differently119 decisionListCreator.DefaultActionParameter.Value = problemData.FetchAction(0);120 123 121 124 InitializeOperators(); … … 123 126 124 127 private void InitializeOperators() { 128 foreach (var op in ApplicationManager.Manager.GetInstances<IDefaultRuleOperator>()) 129 Operators.Add(op); 125 130 foreach (var op in ApplicationManager.Manager.GetInstances<IDecisionListCrossover>()) 126 131 Operators.Add(op); … … 129 134 130 135 ParameterizeOperators(); 136 137 BestTrainingDecisionListAnalyzer analyzer = new BestTrainingDecisionListAnalyzer(); 138 analyzer.ProblemDataParameter.ActualName = ProblemDataParameter.Name; 139 analyzer.IndividualParameter.ActualName = SolutionCreator.DecisionListParameter.ActualName; 140 analyzer.QualityParameter.ActualName = Evaluator.QualityParameter.ActualName; 141 analyzer.ResultsParameter.ActualName = "Results"; 142 analyzer.MaximizationParameter.ActualName = MaximizationParameter.Name; 143 Operators.Add(analyzer); 131 144 } 132 145 133 146 private void ParameterizeOperators() { 147 var autoDefaultRule = Operators.Where(x => x is AutoDefaultRule).Select(x => x as AutoDefaultRule).First(); 148 autoDefaultRule.QualityParameter.ActualName = Evaluator.QualityParameter.ActualName; 149 autoDefaultRule.GAssistNichesProblemDataParameter.ActualName = ProblemDataParameter.Name; 150 autoDefaultRule.NicheComparerParameter.Value = new DecisionListNicheComparer(); 151 foreach (IDefaultRuleOperator op in Operators.OfType<IDefaultRuleOperator>()) { 152 op.IndividualParameter.ActualName = SolutionCreator.DecisionListParameter.ActualName; 153 op.EvaluatorParameter.ActualName = EvaluatorParameter.Name; 154 op.GAssistNichesProblemDataParameter.ActualName = ProblemDataParameter.Name; 155 op.GAssistNichesProblemDataParameter.Hidden = true; 156 op.NichingParameter.ActualName = "Niching"; 157 } 134 158 foreach (IDecisionListCrossover op in Operators.OfType<IDecisionListCrossover>()) { 135 159 op.ParentsParameter.ActualName = SolutionCreator.DecisionListParameter.ActualName; … … 148 172 return new DecisionListClassificationProblem(this, cloner); 149 173 } 174 175 IParameter IGAssistProblem.ProblemDataParameter { 176 get { return ProblemDataParameter; } 177 } 178 179 public string NichingParameterName { 180 get { return "Niching"; } 181 } 182 183 public void Load(DecisionListClassificationProblemData data) { 184 Name = data.Name; 185 Description = data.Description; 186 ProblemData = data; 187 } 150 188 } 151 189 } -
branches/LearningClassifierSystems/HeuristicLab.Problems.DecisionListClassification/3.3/DecisionListClassificationProblemData.cs
r9334 r9352 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using HeuristicLab.Collections; 25 26 using HeuristicLab.Common; 26 27 using HeuristicLab.Core; 27 28 using HeuristicLab.Data; 28 29 using HeuristicLab.Encodings.DecisionList; 30 using HeuristicLab.Optimization.Operators.LCS; 29 31 using HeuristicLab.Parameters; 30 32 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; … … 62 64 get { return (IFixedValueParameter<IntRange>)Parameters["TestPartition"]; } 63 65 } 64 public I FixedValueParameter<Rule> SampleRuleParameter {65 get { return (I FixedValueParameter<Rule>)Parameters["SampleRule"]; }66 public IValueParameter<Rule> SampleRuleParameter { 67 get { return (IValueParameter<Rule>)Parameters["SampleRule"]; } 66 68 } 67 69 public IFixedValueParameter<IntValue> MaxIntervalsParameter { … … 118 120 #endregion 119 121 122 [StorableHook(HookType.AfterDeserialization)] 123 private void AfterDeserialization() { 124 RegisterParameterEvents(); 125 } 120 126 [StorableConstructor] 121 127 protected DecisionListClassificationProblemData(bool deserializing) : base(deserializing) { } 122 128 protected DecisionListClassificationProblemData(DecisionListClassificationProblemData original, Cloner cloner) 123 129 : base(original, cloner) { 130 RegisterParameterEvents(); 124 131 } 125 132 public DecisionListClassificationProblemData(Dataset dataset, IEnumerable<string> allowedConditionVariables, string targetVariable) { … … 150 157 Parameters.Add(new FixedValueParameter<IntRange>("TestPartition", "", new IntRange(testPartitionStart, testPartitionEnd))); 151 158 Parameters.Add(new FixedValueParameter<IntValue>("MaxIntervals", "", new IntValue(5))); 152 Parameters.Add(new FixedValueParameter<Rule>("SampleRule", "", CreateSampleRule(dataset, conditionVariables.CheckedItems.Select(x => x.Value.Value), target.Value)));159 Parameters.Add(new ValueParameter<Rule>("SampleRule", "", CreateSampleRule(dataset, conditionVariables.CheckedItems.Select(x => x.Value.Value), target.Value))); 153 160 154 161 ((ValueParameter<Dataset>)DatasetParameter).ReactOnValueToStringChangedAndValueItemImageChanged = false; 162 163 RegisterParameterEvents(); 155 164 } 156 165 public override IDeepCloneable Clone(Cloner cloner) { … … 240 249 } 241 250 251 protected IList<IGAssistNiche> possibleNiches; 252 public IEnumerable<IGAssistNiche> GetPossibleNiches() { 253 if (possibleNiches == null) { 254 possibleNiches = new List<IGAssistNiche>(); 255 for (int i = 0; i < Dataset.Rows; i++) { 256 var action = FetchAction(i); 257 if (!possibleNiches.Any(x => x.SameNiche(action))) { 258 possibleNiches.Add(action); 259 } 260 } 261 } 262 return possibleNiches; 263 } 264 242 265 public event EventHandler Changed; 266 267 #region events 268 private void RegisterParameterEvents() { 269 ConditionVariablesParameter.ValueChanged += new EventHandler(VariablesChanged); 270 ConditionVariablesParameter.Value.CheckedItemsChanged += new CollectionItemsChangedEventHandler<IndexedItem<StringValue>>(VariablesChanged); 271 TargetVariableParameter.ValueChanged += new EventHandler(VariablesChanged); 272 } 273 private void DeregisterParameterEvents() { 274 TargetVariableParameter.ValueChanged += new EventHandler(VariablesChanged); 275 ConditionVariablesParameter.Value.CheckedItemsChanged += new CollectionItemsChangedEventHandler<IndexedItem<StringValue>>(VariablesChanged); 276 ConditionVariablesParameter.ValueChanged += new EventHandler(VariablesChanged); 277 } 278 private void Value_CheckedItemsChanged(object sender, CollectionItemsChangedEventArgs<IndexedItem<StringValue>> e) { 279 VariablesChanged(); 280 } 281 private void VariablesChanged(object sender, EventArgs e) { 282 VariablesChanged(); 283 } 284 285 private void VariablesChanged() { 286 SampleRuleParameter.Value = CreateSampleRule(Dataset, AllowedConditionVariables, TargetVariable.Value); 287 } 288 #endregion 243 289 } 244 290 } -
branches/LearningClassifierSystems/HeuristicLab.Problems.DecisionListClassification/3.3/HeuristicLab.Problems.DecisionListClassification-3.3.csproj
r9342 r9352 109 109 <Private>False</Private> 110 110 </ProjectReference> 111 <ProjectReference Include="..\..\HeuristicLab.Optimization.Operators.LCS\3.3\HeuristicLab.Optimization.Operators.LCS-3.3.csproj"> 112 <Project>{f2c6d3b0-bd4f-4747-b13e-b18e53a2a09d}</Project> 113 <Name>HeuristicLab.Optimization.Operators.LCS-3.3</Name> 114 </ProjectReference> 111 115 <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis\3.4\HeuristicLab.Problems.DataAnalysis-3.4.csproj"> 112 116 <Project>{DF87C13E-A889-46FF-8153-66DCAA8C5674}</Project> -
branches/LearningClassifierSystems/HeuristicLab.Problems.Instances.LCS/3.3/CombinedIntegerVectorCVSInstanceProvider.cs
r9228 r9352 26 26 using HeuristicLab.Problems.Instances.DataAnalysis; 27 27 28 namespace HeuristicLab.Problems.Instances. ConditionActionClassification{28 namespace HeuristicLab.Problems.Instances.LCS { 29 29 public class CombinedIntegerVectorCVSInstanceProvider : ConditionActionInstanceProvider<CombinedIntegerVectorClassificationProblemData> { 30 30 public override CombinedIntegerVectorClassificationProblemData ImportData(string path) { -
branches/LearningClassifierSystems/HeuristicLab.Problems.Instances.LCS/3.3/ConditionActionInstanceProvider.cs
r9228 r9352 24 24 using HeuristicLab.Encodings.ConditionActionEncoding; 25 25 26 namespace HeuristicLab.Problems.Instances. ConditionActionClassification{26 namespace HeuristicLab.Problems.Instances.LCS { 27 27 public abstract class ConditionActionInstanceProvider<T> : ProblemInstanceProvider<T> 28 28 where T : class, IConditionActionProblemData { -
branches/LearningClassifierSystems/HeuristicLab.Problems.Instances.LCS/3.3/HeuristicLab.Problems.Instances.LCS-3.3.csproj
r9345 r9352 9 9 <OutputType>Library</OutputType> 10 10 <AppDesignerFolder>Properties</AppDesignerFolder> 11 <RootNamespace>HeuristicLab.Problems.Instances. ConditionActionClassification</RootNamespace>12 <AssemblyName>HeuristicLab.Problems.Instances. ConditionActionClassification-3.3</AssemblyName>11 <RootNamespace>HeuristicLab.Problems.Instances.LCS</RootNamespace> 12 <AssemblyName>HeuristicLab.Problems.Instances.LCS-3.3</AssemblyName> 13 13 <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> 14 14 <FileAlignment>512</FileAlignment> … … 68 68 <Compile Include="CombinedIntegerVectorCVSInstanceProvider.cs" /> 69 69 <Compile Include="ConditionActionInstanceProvider.cs" /> 70 <Compile Include="DecisionListInstanceProvider.cs" /> 70 71 <Compile Include="VariableVectorCVSInstanceProvider.cs" /> 71 72 <Compile Include="Plugin.cs" /> … … 88 89 <Private>False</Private> 89 90 </ProjectReference> 91 <ProjectReference Include="..\..\HeuristicLab.Encodings.DecisionList\3.3\HeuristicLab.Encodings.DecisionList-3.3.csproj"> 92 <Project>{86912e6b-4ef3-4b37-809b-5a7c4a28d0c9}</Project> 93 <Name>HeuristicLab.Encodings.DecisionList-3.3</Name> 94 </ProjectReference> 90 95 <ProjectReference Include="..\..\HeuristicLab.Encodings.VariableVector\3.3\HeuristicLab.Encodings.VariableVector-3.3.csproj"> 91 96 <Project>{7C116F48-7218-4105-BD6E-EE868E2D4823}</Project> 92 97 <Name>HeuristicLab.Encodings.VariableVector-3.3</Name> 98 </ProjectReference> 99 <ProjectReference Include="..\..\HeuristicLab.Optimization.Operators.LCS\3.3\HeuristicLab.Optimization.Operators.LCS-3.3.csproj"> 100 <Project>{f2c6d3b0-bd4f-4747-b13e-b18e53a2a09d}</Project> 101 <Name>HeuristicLab.Optimization.Operators.LCS-3.3</Name> 93 102 </ProjectReference> 94 103 <ProjectReference Include="..\..\HeuristicLab.Problems.CombinedIntegerVectorClassification\3.3\HeuristicLab.Problems.CombinedIntegerVectorClassification-3.3.csproj"> … … 106 115 <Name>HeuristicLab.Problems.DataAnalysis-3.4</Name> 107 116 <Private>False</Private> 117 </ProjectReference> 118 <ProjectReference Include="..\..\HeuristicLab.Problems.DecisionListClassification\3.3\HeuristicLab.Problems.DecisionListClassification-3.3.csproj"> 119 <Project>{ca20ac55-b57d-4078-8cb9-c44e5ff7958b}</Project> 120 <Name>HeuristicLab.Problems.DecisionListClassification-3.3</Name> 108 121 </ProjectReference> 109 122 <ProjectReference Include="..\..\HeuristicLab.Problems.VariableVectorClassification\3.3\HeuristicLab.Problems.VariableVectorClassification-3.3.csproj"> -
branches/LearningClassifierSystems/HeuristicLab.Problems.Instances.LCS/3.3/Plugin.cs.frame
r9160 r9352 22 22 using HeuristicLab.PluginInfrastructure; 23 23 24 namespace HeuristicLab.Problems. ConditionActionClassification{25 [Plugin("HeuristicLab.Problems.Instances. ConditionActionClassification", "3.3.7.$WCREV$")]26 [PluginFile("HeuristicLab.Problems.Instances. ConditionActionClassification-3.3.dll", PluginFileType.Assembly)]24 namespace HeuristicLab.Problems.Instances.LCS { 25 [Plugin("HeuristicLab.Problems.Instances.LCS", "3.3.7.$WCREV$")] 26 [PluginFile("HeuristicLab.Problems.Instances.LCS-3.3.dll", PluginFileType.Assembly)] 27 27 [PluginDependency("HeuristicLab.Problems.Instances", "3.3")] 28 public class HeuristicLabProblemsInstances ConditionActionClassificationPlugin : PluginBase {28 public class HeuristicLabProblemsInstancesLCSPlugin : PluginBase { 29 29 } 30 30 } -
branches/LearningClassifierSystems/HeuristicLab.Problems.Instances.LCS/3.3/Properties/AssemblyInfo.cs.frame
r9160 r9352 26 26 // set of attributes. Change these attribute values to modify the information 27 27 // associated with an assembly. 28 [assembly: AssemblyTitle("HeuristicLab.Problems.Instances. ConditionActionClassification-3.3")]28 [assembly: AssemblyTitle("HeuristicLab.Problems.Instances.LCS-3.3")] 29 29 [assembly: AssemblyDescription("")] 30 30 [assembly: AssemblyConfiguration("")] -
branches/LearningClassifierSystems/HeuristicLab.Problems.Instances.LCS/3.3/VariableVectorCVSInstanceProvider.cs
r9242 r9352 26 26 using HeuristicLab.Problems.VariableVectorClassification; 27 27 28 namespace HeuristicLab.Problems.Instances. ConditionActionClassification{28 namespace HeuristicLab.Problems.Instances.LCS { 29 29 public class VariableVectorCVSInstanceProvider : ConditionActionInstanceProvider<VariableVectorClassificationProblemData> { 30 30 public override VariableVectorClassificationProblemData ImportData(string path) { -
branches/LearningClassifierSystems/HeuristicLab.Problems.LCS.Views/3.3/HeuristicLab.Problems.LCS.Views-3.3.csproj
r9345 r9352 9 9 <OutputType>Library</OutputType> 10 10 <AppDesignerFolder>Properties</AppDesignerFolder> 11 <RootNamespace>HeuristicLab.Problems. XCS.Views</RootNamespace>12 <AssemblyName>HeuristicLab.Problems. XCS.Views-3.3</AssemblyName>11 <RootNamespace>HeuristicLab.Problems.LCS.Views</RootNamespace> 12 <AssemblyName>HeuristicLab.Problems.LCS.Views-3.3</AssemblyName> 13 13 <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> 14 14 <FileAlignment>512</FileAlignment> … … 73 73 </ItemGroup> 74 74 <ItemGroup> 75 <Compile Include="DecisionListView.cs"> 76 <SubType>UserControl</SubType> 77 </Compile> 78 <Compile Include="DecisionListView.Designer.cs"> 79 <DependentUpon>DecisionListView.cs</DependentUpon> 80 </Compile> 75 81 <Compile Include="XCSModelView.cs"> 76 82 <SubType>UserControl</SubType> … … 98 104 <Private>False</Private> 99 105 </ProjectReference> 106 <ProjectReference Include="..\..\HeuristicLab.Encodings.DecisionList\3.3\HeuristicLab.Encodings.DecisionList-3.3.csproj"> 107 <Project>{86912e6b-4ef3-4b37-809b-5a7c4a28d0c9}</Project> 108 <Name>HeuristicLab.Encodings.DecisionList-3.3</Name> 109 </ProjectReference> 110 <ProjectReference Include="..\..\HeuristicLab.Optimization.Operators.LCS\3.3\HeuristicLab.Optimization.Operators.LCS-3.3.csproj"> 111 <Project>{f2c6d3b0-bd4f-4747-b13e-b18e53a2a09d}</Project> 112 <Name>HeuristicLab.Optimization.Operators.LCS-3.3</Name> 113 </ProjectReference> 100 114 </ItemGroup> 101 115 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> -
branches/LearningClassifierSystems/HeuristicLab.Problems.LCS.Views/3.3/Plugin.cs.frame
r9154 r9352 22 22 using HeuristicLab.PluginInfrastructure; 23 23 24 namespace HeuristicLab.Problems. ConditionActionClassification{25 [Plugin("HeuristicLab.Problems. XCS.Views", "3.3.7.$WCREV$")]26 [PluginFile("HeuristicLab.Problems. XCS.Views-3.3.dll", PluginFileType.Assembly)]24 namespace HeuristicLab.Problems.LCS.Views { 25 [Plugin("HeuristicLab.Problems.LCS.Views", "3.3.7.$WCREV$")] 26 [PluginFile("HeuristicLab.Problems.LCS.Views-3.3.dll", PluginFileType.Assembly)] 27 27 [PluginDependency("HeuristicLab.Collections", "3.3")] 28 28 [PluginDependency("HeuristicLab.Common", "3.3")] … … 33 33 [PluginDependency("HeuristicLab.MainForm", "3.3")] 34 34 [PluginDependency("HeuristicLab.MainForm.WindowsForms", "3.3")] 35 public class HeuristicLabProblems XCSViewsPlugin : PluginBase {35 public class HeuristicLabProblemsLCSViewsPlugin : PluginBase { 36 36 } 37 37 } -
branches/LearningClassifierSystems/HeuristicLab.Problems.LCS.Views/3.3/Properties/AssemblyInfo.cs.frame
r9154 r9352 26 26 // set of attributes. Change these attribute values to modify the information 27 27 // associated with an assembly. 28 [assembly: AssemblyTitle("HeuristicLab.Problems. XCS.Views-3.3")]29 [assembly: AssemblyDescription("Views for XCS problems")]28 [assembly: AssemblyTitle("HeuristicLab.Problems.LCS.Views-3.3")] 29 [assembly: AssemblyDescription("Views for LCS problems")] 30 30 [assembly: AssemblyConfiguration("")] 31 31 [assembly: AssemblyCompany("HEAL")] -
branches/LearningClassifierSystems/HeuristicLab.Problems.LCS.Views/3.3/XCSModelView.Designer.cs
r9154 r9352 1 namespace HeuristicLab.Problems.XCS.Views { 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 namespace HeuristicLab.Problems.LCS.Views { 2 23 partial class XCSModelView { 3 24 /// <summary> -
branches/LearningClassifierSystems/HeuristicLab.Problems.LCS.Views/3.3/XCSModelView.cs
r9160 r9352 26 26 using HeuristicLab.MainForm.WindowsForms; 27 27 28 namespace HeuristicLab.Problems. XCS.Views {28 namespace HeuristicLab.Problems.LCS.Views { 29 29 [View("XCS Model")] 30 30 [Content(typeof(XCSModel), true)] -
branches/LearningClassifierSystems/HeuristicLab.Problems.VariableVectorClassification/3.3/Plugin.cs.frame
r9226 r9352 23 23 24 24 namespace HeuristicLab.Problems.VariableVectorClassification { 25 [Plugin("HeuristicLab.Problems. ConditionActionClassification", "3.3.7.$WCREV$")]25 [Plugin("HeuristicLab.Problems.VariableVectorClassification", "3.3.7.$WCREV$")] 26 26 [PluginFile("HeuristicLab.Problems.VariableVectorClassification-3.3.dll", PluginFileType.Assembly)] 27 27 [PluginDependency("HeuristicLab.Common.Resources", "3.3")] -
branches/LearningClassifierSystems/HeuristicLab.Problems.VariableVectorClassification/3.3/VariableVectorClassificationProblemData.cs
r9242 r9352 39 39 40 40 #region parameter properites 41 public I FixedValueParameter<VariableVector> SampleVariableVectorParameter {42 get { return (I FixedValueParameter<VariableVector>)Parameters["SampleVariableVector"]; }41 public IValueParameter<VariableVector> SampleVariableVectorParameter { 42 get { return (IValueParameter<VariableVector>)Parameters["SampleVariableVector"]; } 43 43 } 44 44 public IFixedValueParameter<PercentValue> SpreadPercentageParameter { … … 67 67 public VariableVectorClassificationProblemData(Dataset dataset, IEnumerable<string> allowedConditionVariables, IEnumerable<string> allowedActionVariables) : 68 68 base(dataset, allowedConditionVariables, allowedActionVariables) { 69 Parameters.Add(new FixedValueParameter<VariableVector>("SampleVariableVector", "", GenerateSampleVariableVector(dataset, allowedConditionVariables, allowedActionVariables)));69 Parameters.Add(new ValueParameter<VariableVector>("SampleVariableVector", "", GenerateSampleVariableVector(dataset, allowedConditionVariables, allowedActionVariables))); 70 70 Parameters.Add(new FixedValueParameter<PercentValue>("SpreadPercentage", "", new PercentValue(0.5))); 71 71 } … … 126 126 return fetchActionCache[rowNumber]; 127 127 } 128 129 protected override void ActionConditionVariablesChanged() { 130 SampleVariableVectorParameter.Value = GenerateSampleVariableVector(Dataset, AllowedConditionVariables, AllowedActionVariables); 131 } 128 132 } 129 133 } -
branches/LearningClassifierSystems/LearningClassifierSystem.sln
r9342 r9352 15 15 EndProject 16 16 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.ConditionActionClassification-3.3", "HeuristicLab.Problems.ConditionActionClassification\3.3\HeuristicLab.Problems.ConditionActionClassification-3.3.csproj", "{EA51D441-F6A3-41E1-9993-A2488E93C222}" 17 EndProject18 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.XCS.Views-3.3", "HeuristicLab.Problems.XCS.Views\3.3\HeuristicLab.Problems.XCS.Views-3.3.csproj", "{8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}"19 EndProject20 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.Instances.ConditionActionClassification-3.3", "HeuristicLab.Problems.Instances.ConditionActionClassification\3.3\HeuristicLab.Problems.Instances.ConditionActionClassification-3.3.csproj", "{1CC7585E-DD22-41FA-869B-93DE41EA8936}"21 17 EndProject 22 18 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Core-3.3", "HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj", "{C36BD924-A541-4A00-AFA8-41701378DDC5}" … … 37 33 EndProject 38 34 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Optimization.Operators.LCS-3.3", "HeuristicLab.Optimization.Operators.LCS\3.3\HeuristicLab.Optimization.Operators.LCS-3.3.csproj", "{F2C6D3B0-BD4F-4747-B13E-B18E53A2A09D}" 35 EndProject 36 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.LCS.Views-3.3", "HeuristicLab.Problems.LCS.Views\3.3\HeuristicLab.Problems.LCS.Views-3.3.csproj", "{8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}" 37 EndProject 38 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.Instances.LCS-3.3", "HeuristicLab.Problems.Instances.LCS\3.3\HeuristicLab.Problems.Instances.LCS-3.3.csproj", "{1CC7585E-DD22-41FA-869B-93DE41EA8936}" 39 39 EndProject 40 40 Global … … 84 84 {EA51D441-F6A3-41E1-9993-A2488E93C222}.Release|x64.ActiveCfg = Release|Any CPU 85 85 {EA51D441-F6A3-41E1-9993-A2488E93C222}.Release|x86.ActiveCfg = Release|Any CPU 86 {8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU87 {8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}.Debug|Any CPU.Build.0 = Debug|Any CPU88 {8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}.Debug|x64.ActiveCfg = Debug|Any CPU89 {8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}.Debug|x86.ActiveCfg = Debug|Any CPU90 {8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}.Release|Any CPU.ActiveCfg = Release|Any CPU91 {8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}.Release|Any CPU.Build.0 = Release|Any CPU92 {8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}.Release|x64.ActiveCfg = Release|Any CPU93 {8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}.Release|x86.ActiveCfg = Release|Any CPU94 {1CC7585E-DD22-41FA-869B-93DE41EA8936}.Debug|Any CPU.ActiveCfg = Debug|Any CPU95 {1CC7585E-DD22-41FA-869B-93DE41EA8936}.Debug|Any CPU.Build.0 = Debug|Any CPU96 {1CC7585E-DD22-41FA-869B-93DE41EA8936}.Debug|x64.ActiveCfg = Debug|Any CPU97 {1CC7585E-DD22-41FA-869B-93DE41EA8936}.Debug|x86.ActiveCfg = Debug|Any CPU98 {1CC7585E-DD22-41FA-869B-93DE41EA8936}.Release|Any CPU.ActiveCfg = Release|Any CPU99 {1CC7585E-DD22-41FA-869B-93DE41EA8936}.Release|Any CPU.Build.0 = Release|Any CPU100 {1CC7585E-DD22-41FA-869B-93DE41EA8936}.Release|x64.ActiveCfg = Release|Any CPU101 {1CC7585E-DD22-41FA-869B-93DE41EA8936}.Release|x86.ActiveCfg = Release|Any CPU102 86 {C36BD924-A541-4A00-AFA8-41701378DDC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 103 87 {C36BD924-A541-4A00-AFA8-41701378DDC5}.Debug|Any CPU.Build.0 = Debug|Any CPU … … 180 164 {F2C6D3B0-BD4F-4747-B13E-B18E53A2A09D}.Release|x64.ActiveCfg = Release|Any CPU 181 165 {F2C6D3B0-BD4F-4747-B13E-B18E53A2A09D}.Release|x86.ActiveCfg = Release|Any CPU 166 {8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 167 {8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}.Debug|Any CPU.Build.0 = Debug|Any CPU 168 {8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}.Debug|x64.ActiveCfg = Debug|Any CPU 169 {8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}.Debug|x86.ActiveCfg = Debug|Any CPU 170 {8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}.Release|Any CPU.ActiveCfg = Release|Any CPU 171 {8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}.Release|Any CPU.Build.0 = Release|Any CPU 172 {8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}.Release|x64.ActiveCfg = Release|Any CPU 173 {8FFB8E0F-BC17-4D72-AF0F-E67A22F8EDE5}.Release|x86.ActiveCfg = Release|Any CPU 174 {1CC7585E-DD22-41FA-869B-93DE41EA8936}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 175 {1CC7585E-DD22-41FA-869B-93DE41EA8936}.Debug|Any CPU.Build.0 = Debug|Any CPU 176 {1CC7585E-DD22-41FA-869B-93DE41EA8936}.Debug|x64.ActiveCfg = Debug|Any CPU 177 {1CC7585E-DD22-41FA-869B-93DE41EA8936}.Debug|x86.ActiveCfg = Debug|Any CPU 178 {1CC7585E-DD22-41FA-869B-93DE41EA8936}.Release|Any CPU.ActiveCfg = Release|Any CPU 179 {1CC7585E-DD22-41FA-869B-93DE41EA8936}.Release|Any CPU.Build.0 = Release|Any CPU 180 {1CC7585E-DD22-41FA-869B-93DE41EA8936}.Release|x64.ActiveCfg = Release|Any CPU 181 {1CC7585E-DD22-41FA-869B-93DE41EA8936}.Release|x86.ActiveCfg = Release|Any CPU 182 182 EndGlobalSection 183 183 GlobalSection(SolutionProperties) = preSolution
Note: See TracChangeset
for help on using the changeset viewer.