source: trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SymbolicRegressionPruningAnalyzer.cs @ 10378

Last change on this file since 10378 was 10378, checked in by bburlacu, 6 years ago

#2143: Added storable constructors.

File size: 1.4 KB
Line 
1using System;
2using HeuristicLab.Common;
3using HeuristicLab.Core;
4using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
5using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
6
7namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Regression {
8  [Item("SymbolicRegressionPruningAnalyzer", "An analyzer that prunes introns from the population.")]
9  [StorableClass]
10  public sealed class SymbolicRegressionPruningAnalyzer : SymbolicDataAnalysisSingleObjectivePruningAnalyzer {
11    private SymbolicRegressionPruningAnalyzer(SymbolicRegressionPruningAnalyzer original, Cloner cloner)
12      : base(original, cloner) {
13    }
14    public override IDeepCloneable Clone(Cloner cloner) {
15      return new SymbolicRegressionPruningAnalyzer(this, cloner);
16    }
17
18    [StorableConstructor]
19    private SymbolicRegressionPruningAnalyzer(bool deserializing) : base(deserializing) { }
20
21    public SymbolicRegressionPruningAnalyzer() {
22      impactValuesCalculator = new SymbolicRegressionSolutionImpactValuesCalculator();
23    }
24
25    protected override ISymbolicDataAnalysisModel CreateModel(ISymbolicExpressionTree tree,
26      ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, double lowerEstimationLimit = Double.MinValue,
27      double upperEstimationLimit = Double.MaxValue) {
28      return new SymbolicRegressionModel(tree, interpreter, lowerEstimationLimit, upperEstimationLimit);
29    }
30  }
31}
Note: See TracBrowser for help on using the repository browser.