Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/15/13 10:47:09 (12 years ago)
Author:
sforsten
Message:

#1980:

  • added problem instance provider to import csv files for ConditionActionClassificationProblemData
  • adapted LCSAdaptedGeneticAlgorithm to use the crossover probability
  • fixed a bug in XCSModelView
Location:
branches/LearningClassifierSystems/HeuristicLab.Algorithms.LearningClassifierSystems/3.3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/LearningClassifierSystems/HeuristicLab.Algorithms.LearningClassifierSystems/3.3/HeuristicLab.Algorithms.LearningClassifierSystems-3.3.csproj

    r9154 r9160  
    8787      <Private>False</Private>
    8888    </Reference>
     89    <Reference Include="HeuristicLab.Problems.Instances-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL" />
    8990    <Reference Include="HeuristicLab.Random-3.3">
    9091      <HintPath>..\..\..\trunk\sources\bin\HeuristicLab.Random-3.3.dll</HintPath>
  • branches/LearningClassifierSystems/HeuristicLab.Algorithms.LearningClassifierSystems/3.3/LCSAdaptedGeneticAlgorithm.cs

    r9154 r9160  
    6363      get { return (ValueLookupParameter<PercentValue>)Parameters["MutationProbability"]; }
    6464    }
     65    public ValueLookupParameter<PercentValue> CrossoverProbabilityParameter {
     66      get { return (ValueLookupParameter<PercentValue>)Parameters["CrossoverProbability"]; }
     67    }
    6568    public ValueLookupParameter<IOperator> MutatorParameter {
    6669      get { return (ValueLookupParameter<IOperator>)Parameters["Mutator"]; }
     
    111114      Parameters.Add(new ValueLookupParameter<IOperator>("Crossover", "The operator used to cross solutions."));
    112115      Parameters.Add(new ValueLookupParameter<IOperator>("AfterCrossover", "The operator executed after crossing the solutions."));
    113       Parameters.Add(new ValueLookupParameter<PercentValue>("MutationProbability", "The probability that the mutation operator is applied on a solution."));
     116      Parameters.Add(new ValueLookupParameter<PercentValue>("CrossoverProbability", "The probability that the crossover operator is applied on a solution."));
     117      Parameters.Add(new ValueLookupParameter<PercentValue>("MutationProbability", "The probability that druing the mutation operator a mutation takes place."));
    114118      Parameters.Add(new ValueLookupParameter<IOperator>("Mutator", "The operator used to mutate solutions."));
    115119      Parameters.Add(new ValueLookupParameter<IntValue>("MaximumGenerations", "The maximum number of generations which should be processed."));
     
    128132      ChildrenCreator childrenCreator = new ChildrenCreator();
    129133      UniformSubScopesProcessor uniformSubScopesProcessor1 = new UniformSubScopesProcessor();
     134      StochasticBranch crossoverStochasticBranch = new StochasticBranch();
     135      RandomSelector randomSelector = new RandomSelector();
     136      PreservingRightReducer preservingRightReducer = new PreservingRightReducer();
     137      Assigner numerosityAssigner = new Assigner();
     138      Assigner experienceAssigner = new Assigner();
    130139      Placeholder crossover = new Placeholder();
    131140      Placeholder afterCrossover = new Placeholder();
     
    167176      childrenCreator.ParentsPerChild = new IntValue(2);
    168177
     178      crossoverStochasticBranch.ProbabilityParameter.ActualName = CrossoverProbabilityParameter.ActualName;
     179      crossoverStochasticBranch.RandomParameter.ActualName = "Random";
     180
     181      randomSelector.CopySelected.Value = true;
     182      randomSelector.NumberOfSelectedSubScopesParameter.Value = new IntValue(1);
     183
    169184      crossover.Name = "Crossover";
    170185      crossover.OperatorParameter.ActualName = "Crossover";
     186
     187      numerosityAssigner.LeftSideParameter.ActualName = "Numerosity";
     188      numerosityAssigner.RightSideParameter.Value = new IntValue(1);
     189
     190      experienceAssigner.LeftSideParameter.ActualName = "Experience";
     191      experienceAssigner.RightSideParameter.Value = new IntValue(0);
    171192
    172193      afterCrossover.Name = "AfterCrossover";
     
    228249      subScopesProcessor1.Successor = mergingReducer;
    229250      childrenCreator.Successor = uniformSubScopesProcessor1;
    230       uniformSubScopesProcessor1.Operator = crossover;
     251      uniformSubScopesProcessor1.Operator = crossoverStochasticBranch;
    231252      uniformSubScopesProcessor1.Successor = subScopesCounter;
     253      crossoverStochasticBranch.FirstBranch = crossover;
     254      crossoverStochasticBranch.SecondBranch = randomSelector;
     255      randomSelector.Successor = preservingRightReducer;
     256      preservingRightReducer.Successor = numerosityAssigner;
     257      numerosityAssigner.Successor = experienceAssigner;
     258      experienceAssigner.Successor = null;
     259      crossoverStochasticBranch.Successor = mutator;
    232260      crossover.Successor = afterCrossover;
    233       afterCrossover.Successor = mutator;
    234261      mutator.Successor = doGASubsumptionBranch1;
    235262      doGASubsumptionBranch1.TrueBranch = checkGASubsumptionOperator;
Note: See TracChangeset for help on using the changeset viewer.