Index: trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/Analyzers/ValidationBestScaledSymbolicRegressionSolutionAnalyzer.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/Analyzers/ValidationBestScaledSymbolicRegressionSolutionAnalyzer.cs	(revision 3681)
+++ trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/Analyzers/ValidationBestScaledSymbolicRegressionSolutionAnalyzer.cs	(revision 3683)
@@ -95,4 +95,8 @@
     [Storable]
     private BestSymbolicRegressionSolutionAnalyzer bestSolutionAnalyzer;
+    [Storable]
+    private SymbolicRegressionSolutionLinearScaler linearScaler;
+    [Storable]
+    private SymbolicRegressionMeanSquaredErrorCalculator validationMseCalculator;
 
     public ValidationBestScaledSymbolicRegressionSolutionAnalyzer()
@@ -110,7 +114,6 @@
 
       #region operator initialization
-      UniformSubScopesProcessor subScopesProc = new UniformSubScopesProcessor();
-      SymbolicRegressionSolutionLinearScaler linearScaler = new SymbolicRegressionSolutionLinearScaler();
-      SymbolicRegressionMeanSquaredErrorEvaluator validationMseEvaluator = new SymbolicRegressionMeanSquaredErrorEvaluator();
+      linearScaler = new SymbolicRegressionSolutionLinearScaler();
+      validationMseCalculator = new SymbolicRegressionMeanSquaredErrorCalculator();
       bestSolutionAnalyzer = new BestSymbolicRegressionSolutionAnalyzer();
       validationQualityMemorizer = new BestQualityMemorizer();
@@ -122,16 +125,21 @@
       #region parameter wiring
       linearScaler.AlphaParameter.ActualName = AlphaParameterName;
+      linearScaler.AlphaParameter.Depth = SymbolicExpressionTreeParameter.Depth;
       linearScaler.BetaParameter.ActualName = BetaParameterName;
+      linearScaler.BetaParameter.Depth = SymbolicExpressionTreeParameter.Depth;
       linearScaler.SymbolicExpressionTreeParameter.ActualName = SymbolicExpressionTreeParameter.Name;
+      linearScaler.SymbolicExpressionTreeParameter.Depth = SymbolicExpressionTreeParameter.Depth;
       linearScaler.ScaledSymbolicExpressionTreeParameter.ActualName = ScaledSymbolicExpressionTreeParameterName;
-
-      validationMseEvaluator.LowerEstimationLimitParameter.ActualName = LowerEstimationLimitParameter.Name;
-      validationMseEvaluator.UpperEstimationLimitParameter.ActualName = UpperEstimationLimitParameter.Name;
-      validationMseEvaluator.SymbolicExpressionTreeParameter.ActualName = ScaledSymbolicExpressionTreeParameterName;
-      validationMseEvaluator.SymbolicExpressionTreeInterpreterParameter.ActualName = SymbolicExpressionTreeInterpreterParameter.Name;
-      validationMseEvaluator.QualityParameter.ActualName = QualityParameterName;
-      validationMseEvaluator.RegressionProblemDataParameter.ActualName = ProblemDataParameter.Name;
-      validationMseEvaluator.SamplesStartParameter.ActualName = SamplesStartParameter.Name;
-      validationMseEvaluator.SamplesEndParameter.ActualName = SamplesEndParameter.Name;
+      linearScaler.ScaledSymbolicExpressionTreeParameter.Depth = SymbolicExpressionTreeParameter.Depth;
+
+      validationMseCalculator.LowerEstimationLimitParameter.ActualName = LowerEstimationLimitParameter.Name;
+      validationMseCalculator.UpperEstimationLimitParameter.ActualName = UpperEstimationLimitParameter.Name;
+      validationMseCalculator.SymbolicExpressionTreeParameter.ActualName = ScaledSymbolicExpressionTreeParameterName;
+      validationMseCalculator.SymbolicExpressionTreeParameter.Depth = SymbolicExpressionTreeParameter.Depth;
+      validationMseCalculator.SymbolicExpressionTreeInterpreterParameter.ActualName = SymbolicExpressionTreeInterpreterParameter.Name;
+      validationMseCalculator.QualityParameter.ActualName = QualityParameterName;
+      validationMseCalculator.ProblemDataParameter.ActualName = ProblemDataParameter.Name;
+      validationMseCalculator.SamplesStartParameter.ActualName = SamplesStartParameter.Name;
+      validationMseCalculator.SamplesEndParameter.ActualName = SamplesEndParameter.Name;
 
       bestSolutionAnalyzer.BestSolutionParameter.ActualName = BestSolutionParameter.Name;
@@ -167,9 +175,7 @@
 
       #region operator graph
-      OperatorGraph.InitialOperator = subScopesProc;
-      subScopesProc.Operator = linearScaler;
-      linearScaler.Successor = validationMseEvaluator;
-      validationMseEvaluator.Successor = null;
-      subScopesProc.Successor = bestSolutionAnalyzer;
+      OperatorGraph.InitialOperator = linearScaler;
+      linearScaler.Successor = validationMseCalculator;
+      validationMseCalculator.Successor = bestSolutionAnalyzer;
       bestSolutionAnalyzer.Successor = bestAvgWorstValidationQualityCalculator;
       bestAvgWorstValidationQualityCalculator.Successor = validationQualityMemorizer;
@@ -197,6 +203,12 @@
 
     private void SymbolicExpressionTreeParameter_DepthChanged(object sender, EventArgs e) {
+      validationMseCalculator.SymbolicExpressionTreeParameter.Depth = SymbolicExpressionTreeParameter.Depth;
       validationQualityMemorizer.QualityParameter.Depth = SymbolicExpressionTreeParameter.Depth;
       bestSolutionAnalyzer.SymbolicExpressionTreeParameter.Depth = SymbolicExpressionTreeParameter.Depth;
+      bestSolutionAnalyzer.QualityParameter.Depth = SymbolicExpressionTreeParameter.Depth;
+      linearScaler.AlphaParameter.Depth = SymbolicExpressionTreeParameter.Depth;
+      linearScaler.BetaParameter.Depth = SymbolicExpressionTreeParameter.Depth;
+      linearScaler.SymbolicExpressionTreeParameter.Depth = SymbolicExpressionTreeParameter.Depth;
+      linearScaler.ScaledSymbolicExpressionTreeParameter.Depth = SymbolicExpressionTreeParameter.Depth;
     }
   }
