Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/21/13 11:29:55 (11 years ago)
Author:
sawinkle
Message:

#2109:

  • For each newly created node, ResetLocalParameters() has to be called, if possible. Otherwise 'Variable' symbols won't be initialized correctly. (E.g. internal ValueName is null and causes exceptions.)
  • Method MapDepthFirstRecursively() of DepthFirstMapper.cs checks subtree boundaries by using the MinimumArity instead of the MaximumArity. Otherwise e.g. adding the 'Addition' symbol will cause very short trees, because this symbol has got a MaximumArity of 255! This would cause, that the tree is immediately full, after insertion of one 'Addition' symbol, if the genotype length is e.g. just 100.
  • Several bug fixes.
  • Unresolved issues:
    • Changes in the selected grammar are not taken into account during a run (e.g. 'Addition' symbols will be inserted into the tree, although its checkbox was unchecked previously).
    • Exception, if a division by zero is tried.
    • Wrapping mechanism.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GrammaticalEvolution/HeuristicLab.Problems.GrammaticalEvolution/Symbolic/GESymbolicDataAnalysisProblem.cs

    r10073 r10075  
    4141  [StorableClass]
    4242  // TODO: ISymbolicDataAnalysisProblem -> IGESymbolicDataAnalysisProblem
    43   public abstract class GESymbolicDataAnalysisProblem<T, U, V> : HeuristicOptimizationProblem<U, V>, IDataAnalysisProblem<T>, ISymbolicDataAnalysisProblem, IStorableContent,
    44     IProblemInstanceConsumer<T>, IProblemInstanceExporter<T>
     43  public abstract class GESymbolicDataAnalysisProblem<T, U, V> : HeuristicOptimizationProblem<U, V>, IDataAnalysisProblem<T>,
     44                                                                 ISymbolicDataAnalysisProblem, IStorableContent,
     45                                                                 IProblemInstanceConsumer<T>, IProblemInstanceExporter<T>
    4546    where T : class, IDataAnalysisProblemData
    4647    where U : class, IGESymbolicDataAnalysisEvaluator<T>
     
    244245    private void InitializeOperators() {
    245246      Operators.AddRange(ApplicationManager.Manager.GetInstances<IIntegerVectorOperator>().OfType<IOperator>());
    246       Operators.AddRange(ApplicationManager.Manager.GetInstances<ISymbolicDataAnalysisExpressionCrossover<T>>());
     247      // Operators.AddRange(ApplicationManager.Manager.GetInstances<ISymbolicDataAnalysisExpressionCrossover<T>>());
    247248      Operators.Add(new SymbolicExpressionSymbolFrequencyAnalyzer());
    248249      Operators.Add(new SymbolicDataAnalysisVariableFrequencyAnalyzer());
     
    338339        op.RelativeNumberOfEvaluatedSamplesParameter.ActualName = RelativeNumberOfEvaluatedSamplesParameter.Name;
    339340        op.ApplyLinearScalingParameter.ActualName = ApplyLinearScalingParameter.Name;
     341        op.IntegerVectorParameter.ActualName = SolutionCreator.IntegerVectorParameter.Name;
     342        op.GenotypeToPhenotypeMapperParameter.ActualName = GenotypeToPhenotypeMapperParameter.Name;
     343        op.SymbolicExpressionTreeGrammarParameter.ActualName = SymbolicExpressionTreeGrammarParameter.Name;
    340344      }
    341345      foreach (var op in operators.OfType<IIntegerVectorCrossover>()) {
    342         op.ParentsParameter.ActualName = Evaluator.SymbolicExpressionTreeParameter.ActualName;
    343         op.ChildParameter.ActualName = Evaluator.SymbolicExpressionTreeParameter.ActualName;
     346        op.ParentsParameter.ActualName = SolutionCreator.IntegerVectorParameter.ActualName;
     347        op.ChildParameter.ActualName = SolutionCreator.IntegerVectorParameter.ActualName;
    344348      }
    345349      foreach (var op in operators.OfType<IIntegerVectorManipulator>()) {
     
    369373        op.SymbolicDataAnalysisTreeInterpreterParameter.ActualName = SymbolicExpressionTreeInterpreterParameter.Name;
    370374      }
     375      /*
    371376      foreach (var op in operators.OfType<ISymbolicDataAnalysisExpressionCrossover<T>>()) {
    372377        op.EvaluationPartitionParameter.ActualName = FitnessCalculationPartitionParameter.Name;
     
    376381        op.EvaluatorParameter.ActualName = EvaluatorParameter.Name;
    377382      }
     383      */
    378384    }
    379385
Note: See TracChangeset for help on using the changeset viewer.