Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/03/12 16:46:35 (12 years ago)
Author:
gkronber
Message:

#1847: merged r8084:8205 from trunk into GP move operators branch

Location:
branches/GP-MoveOperators
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • branches/GP-MoveOperators

  • branches/GP-MoveOperators/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/ReplaceBranchMoveMaker.cs

    r8083 r8206  
    2323using HeuristicLab.Core;
    2424using HeuristicLab.Data;
     25using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
    2526using HeuristicLab.Operators;
    2627using HeuristicLab.Optimization;
     
    2829using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2930
    30 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
     31namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Regression {
    3132  [Item("ReplaceBranchMoveMaker", "")]
    3233  [StorableClass]
     
    6566    public override IOperation Apply() {
    6667      var move = ReplaceBranchMoveParameter.ActualValue;
    67       var tree = SymbolicExpressionTreeParameter.ActualValue;
    6868      DoubleValue moveQuality = MoveQualityParameter.ActualValue;
    6969      DoubleValue quality = QualityParameter.ActualValue;
     
    7171      var newNode = (ISymbolicExpressionTreeNode)move.NewBranch.Clone();
    7272      move.Parent.RemoveSubtree(move.SubtreeIndex);
    73       move.Parent.InsertSubtree(move.SubtreeIndex, newNode);
     73      move.Parent.InsertSubtree(move.SubtreeIndex, Scale(newNode, move.Alpha, move.Beta));
    7474
    7575      quality.Value = moveQuality.Value;
     
    7777      return base.Apply();
    7878    }
     79
     80
     81    private Addition add = new Addition();
     82    private Multiplication mul = new Multiplication();
     83    private Constant constant = new Constant();
     84
     85    private ISymbolicExpressionTreeNode Scale(ISymbolicExpressionTreeNode node, double alpha, double beta) {
     86      var constAlpha = (ConstantTreeNode)constant.CreateTreeNode();
     87      var constBeta = (ConstantTreeNode)constant.CreateTreeNode();
     88      constAlpha.Value = alpha;
     89      constBeta.Value = beta;
     90      var sum = add.CreateTreeNode();
     91      var prod = mul.CreateTreeNode();
     92      prod.AddSubtree(node); prod.AddSubtree(constBeta);
     93      sum.AddSubtree(prod); sum.AddSubtree(constAlpha);
     94      return sum;
     95    }
    7996  }
    8097}
Note: See TracChangeset for help on using the changeset viewer.