Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/06/10 10:28:34 (14 years ago)
Author:
mkommend
Message:

Added branched projects for new GP symbols (ticket #1256).

Location:
branches/GP.Symbols (TimeLag, Diff, Integral)
Files:
2 edited
1 copied

Legend:

Unmodified
Added
Removed
  • branches/GP.Symbols (TimeLag, Diff, Integral)

    • Property svn:ignore set to
      GP.Symbols.suo
  • branches/GP.Symbols (TimeLag, Diff, Integral)/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/SymbolicRegressionSolution.cs

    r4797 r5026  
    2626using HeuristicLab.Common;
    2727using HeuristicLab.Core;
     28using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
    2829using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2930using HeuristicLab.Problems.DataAnalysis.Symbolic.Symbols;
     
    7677
    7778    protected override void RecalculateEstimatedValues() {
    78       int minLag = 0;
    79       var laggedTreeNodes = Model.SymbolicExpressionTree.IterateNodesPrefix().OfType<LaggedVariableTreeNode>();
    80       if (laggedTreeNodes.Any())
    81         minLag = laggedTreeNodes.Min(node => node.Lag);
     79      int minLag = GetMinimumLagFromTree(Model.SymbolicExpressionTree.Root);
    8280      IEnumerable<double> calculatedValues =
    8381          from x in Model.GetEstimatedValues(ProblemData, 0 - minLag, ProblemData.Dataset.Rows)
     
    9391        yield return estimatedValues[row];
    9492    }
     93
     94    protected int GetMinimumLagFromTree(SymbolicExpressionTreeNode node) {
     95      if (node == null) return 0;
     96      int lag = 0;
     97
     98      var laggedTreeNode = node as ILaggedTreeNode;
     99      if (laggedTreeNode != null) lag += laggedTreeNode.Lag;
     100
     101      int subtreeLag = 0;
     102      foreach (var subtree in node.SubTrees) {
     103        subtreeLag = Math.Min(subtreeLag, GetMinimumLagFromTree(subtree));
     104      }
     105      return lag + subtreeLag;
     106    }
    95107  }
    96108}
Note: See TracChangeset for help on using the changeset viewer.