Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/09/10 17:28:32 (14 years ago)
Author:
gkronber
Message:

Added first version of architecture altering operators for ADFs. #290 (Implement ADFs)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/SymbolicRegressionProblem.cs

    r3269 r3294  
    7171      get { return (ValueParameter<DoubleValue>)Parameters["NumberOfEvaluatedNodes"]; }
    7272    }
     73    public ValueParameter<IntValue> MaxFunctionDefiningBranchesParameter {
     74      get { return (ValueParameter<IntValue>)Parameters["MaxFunctionDefiningBranches"]; }
     75    }
     76    public ValueParameter<IntValue> MaxFunctionArgumentsParameter {
     77      get { return (ValueParameter<IntValue>)Parameters["MaxFunctionArguments"]; }
     78    }
    7379    public OptionalValueParameter<ISingleObjectiveSolutionsVisualizer> VisualizerParameter {
    7480      get { return (OptionalValueParameter<ISingleObjectiveSolutionsVisualizer>)Parameters["Visualizer"]; }
     
    142148      Parameters.Add(new ValueParameter<IntValue>("MaxExpressionLength", "Maximal length of the symbolic expression.", new IntValue(100)));
    143149      Parameters.Add(new ValueParameter<IntValue>("MaxExpressionDepth", "Maximal depth of the symbolic expression.", new IntValue(10)));
     150      Parameters.Add(new ValueParameter<IntValue>("MaxFunctionDefiningBranches", "Maximal number of automatically defined functions.", new IntValue(3)));
     151      Parameters.Add(new ValueParameter<IntValue>("MaxFunctionArguments", "Maximal number of arguments of automatically defined functions.", new IntValue(3)));
    144152      Parameters.Add(new ValueParameter<DoubleValue>("NumberOfEvaluatedNodes", "The total number of evaluated function tree nodes (for performance measurements.)", new DoubleValue()));
    145153      Parameters.Add(new ValueParameter<ISingleObjectiveSolutionsVisualizer>("Visualizer", "The operator which should be used to visualize artificial ant solutions.", null));
     
    147155      creator.SymbolicExpressionTreeParameter.ActualName = "SymbolicRegressionModel";
    148156      evaluator.QualityParameter.ActualName = "TrainingMeanSquaredError";
    149       InputVariablesParameter.ValueChanged += new EventHandler(InputVariablesParameter_ValueChanged);
     157      RegressionProblemDataParameter.ValueChanged += new EventHandler(RegressionProblemDataParameter_ValueChanged);
     158      RegressionProblemData.InputVariablesChanged += new EventHandler(RegressionProblemData_InputVariablesChanged);
    150159      ParameterizeSolutionCreator();
    151160      ParameterizeEvaluator();
     
    155164    }
    156165
    157     void InputVariablesParameter_ValueChanged(object sender, EventArgs e) {
    158       FunctionTreeGrammar.VariableNames = InputVariablesParameter.Value.Select(x => x.Value);
     166    void RegressionProblemDataParameter_ValueChanged(object sender, EventArgs e) {
     167      RegressionProblemData.InputVariablesChanged += new EventHandler(RegressionProblemData_InputVariablesChanged);
     168    }
     169
     170    void RegressionProblemData_InputVariablesChanged(object sender, EventArgs e) {
     171      FunctionTreeGrammar.VariableNames = RegressionProblemData.InputVariables.Select(x => x.Value);
    159172    }
    160173
     
    250263    private void ParameterizeEvaluator() {
    251264      Evaluator.FunctionTreeParameter.ActualName = SolutionCreator.SymbolicExpressionTreeParameter.ActualName;
    252       Evaluator.SamplesStartParameter.ActualName = TrainingSamplesStartParameter.Name;
    253       Evaluator.SamplesEndParameter.ActualName = TrainingSamplesEndParameter.Name;
     265      Evaluator.RegressionProblemDataParameter.ActualName = RegressionProblemDataParameter.Name;
    254266    }
    255267    private void ParameterizeVisualizer() {
     
    277289      foreach (ISymbolicRegressionEvaluator op in Operators.OfType<ISymbolicRegressionEvaluator>()) {
    278290        op.FunctionTreeParameter.ActualName = SolutionCreator.SymbolicExpressionTreeParameter.ActualName;
    279         op.DatasetParameter.ActualName = DatasetParameter.Name;
     291        op.RegressionProblemDataParameter.ActualName = RegressionProblemDataParameter.Name;
    280292        op.NumberOfEvaluatedNodesParameter.ActualName = NumberOfEvaluatedNodesParameter.Name;
    281         op.TargetVariableParameter.ActualName = TargetVariableParameter.Name;
    282         op.SamplesStartParameter.ActualName = TrainingSamplesStartParameter.Name;
    283         op.SamplesEndParameter.ActualName = TrainingSamplesEndParameter.Name;
    284293      }
    285294      foreach (SymbolicExpressionTreeCrossover op in Operators.OfType<SymbolicExpressionTreeCrossover>()) {
     
    287296        op.ChildParameter.ActualName = SolutionCreator.SymbolicExpressionTreeParameter.ActualName;
    288297      }
     298      foreach (SymbolicExpressionTreeManipulator op in Operators.OfType<SymbolicExpressionTreeManipulator>()) {
     299        op.SymbolicExpressionTreeParameter.ActualName = SolutionCreator.SymbolicExpressionTreeParameter.ActualName;
     300      }
     301      foreach (SymbolicExpressionTreeArchitectureAlteringOperator op in Operators.OfType<SymbolicExpressionTreeArchitectureAlteringOperator>()) {
     302      }
    289303    }
    290304    #endregion
Note: See TracChangeset for help on using the changeset viewer.