Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/15/12 19:09:09 (12 years ago)
Author:
gkronber
Message:

#1847 added operator for replacing branches with semantically similar branches

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GP-MoveOperators/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Moves/ChangeNodeTypeMoveGenerator.cs

    r7802 r7832  
    3030
    3131namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding {
    32   [Item("ChangeNodeTypeMoveGenerator", "Operator that generates moves for changing the symbol of a single symbolic expression tree node.")]
     32  [Item("ChangeNodeTypeExhaustiveMoveGenerator", "Operator that generates moves for changing the symbol of a single symbolic expression tree node.")]
    3333  [StorableClass]
    34   public class ChangeNodeTypeMoveGenerator : SingleSuccessorOperator, ISymbolicExpressionTreeMoveOperator, IMoveGenerator, IStochasticOperator {
     34  public class ChangeNodeTypeMoveGenerator : SingleSuccessorOperator, ISymbolicExpressionTreeMoveOperator, IExhaustiveMoveGenerator, IStochasticOperator {
    3535    public override bool CanChangeName {
    3636      get { return false; }
     
    3939      get { return (ILookupParameter<IRandom>)Parameters["Random"]; }
    4040    }
    41     public ILookupParameter<SymbolicExpressionTree> SymbolicExpressionTreeParameter {
    42       get { return (ILookupParameter<SymbolicExpressionTree>)Parameters["SymbolicExpressionTree"]; }
     41    public ILookupParameter<ISymbolicExpressionTree> SymbolicExpressionTreeParameter {
     42      get { return (ILookupParameter<ISymbolicExpressionTree>)Parameters["SymbolicExpressionTree"]; }
    4343    }
    4444    public ILookupParameter<ChangeNodeTypeMove> ChangeNodeTypeMoveParameter {
     
    5555      : base() {
    5656      Parameters.Add(new LookupParameter<IRandom>("Random", "The random number generator."));
    57       Parameters.Add(new LookupParameter<SymbolicExpressionTree>("SymbolicExpressionTree", "The symbolic expression tree for which moves should be generated."));
     57      Parameters.Add(new LookupParameter<ISymbolicExpressionTree>("SymbolicExpressionTree", "The symbolic expression tree for which moves should be generated."));
    5858      Parameters.Add(new LookupParameter<ChangeNodeTypeMove>("ChangeNodeTypeMove", "The moves that should be generated in subscopes."));
    5959      Parameters.Add(new ScopeParameter("CurrentScope", "The current scope where the moves should be added as subscopes."));
     
    6666
    6767    public override IOperation Apply() {
    68       SymbolicExpressionTree tree = SymbolicExpressionTreeParameter.ActualValue;
     68      var tree = SymbolicExpressionTreeParameter.ActualValue;
    6969      var moves = GenerateMoves(tree);
    7070      string moveParameterName = ChangeNodeTypeMoveParameter.ActualName;
     
    8282    }
    8383
    84     public static IEnumerable<ChangeNodeTypeMove> GenerateMoves(SymbolicExpressionTree tree) {
     84    public static IEnumerable<ChangeNodeTypeMove> GenerateMoves(ISymbolicExpressionTree tree) {
    8585      var g = tree.Root.Grammar;
    8686      return (from parent in tree.Root.GetSubtree(0).IterateNodesPrefix()
Note: See TracChangeset for help on using the changeset viewer.