Changeset 7832 for branches/GP-MoveOperators/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Moves/ChangeNodeTypeMoveGenerator.cs
- Timestamp:
- 05/15/12 19:09:09 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GP-MoveOperators/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Moves/ChangeNodeTypeMoveGenerator.cs
r7802 r7832 30 30 31 31 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding { 32 [Item("ChangeNodeType MoveGenerator", "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.")] 33 33 [StorableClass] 34 public class ChangeNodeTypeMoveGenerator : SingleSuccessorOperator, ISymbolicExpressionTreeMoveOperator, I MoveGenerator, IStochasticOperator {34 public class ChangeNodeTypeMoveGenerator : SingleSuccessorOperator, ISymbolicExpressionTreeMoveOperator, IExhaustiveMoveGenerator, IStochasticOperator { 35 35 public override bool CanChangeName { 36 36 get { return false; } … … 39 39 get { return (ILookupParameter<IRandom>)Parameters["Random"]; } 40 40 } 41 public ILookupParameter< SymbolicExpressionTree> SymbolicExpressionTreeParameter {42 get { return (ILookupParameter< SymbolicExpressionTree>)Parameters["SymbolicExpressionTree"]; }41 public ILookupParameter<ISymbolicExpressionTree> SymbolicExpressionTreeParameter { 42 get { return (ILookupParameter<ISymbolicExpressionTree>)Parameters["SymbolicExpressionTree"]; } 43 43 } 44 44 public ILookupParameter<ChangeNodeTypeMove> ChangeNodeTypeMoveParameter { … … 55 55 : base() { 56 56 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.")); 58 58 Parameters.Add(new LookupParameter<ChangeNodeTypeMove>("ChangeNodeTypeMove", "The moves that should be generated in subscopes.")); 59 59 Parameters.Add(new ScopeParameter("CurrentScope", "The current scope where the moves should be added as subscopes.")); … … 66 66 67 67 public override IOperation Apply() { 68 SymbolicExpressionTreetree = SymbolicExpressionTreeParameter.ActualValue;68 var tree = SymbolicExpressionTreeParameter.ActualValue; 69 69 var moves = GenerateMoves(tree); 70 70 string moveParameterName = ChangeNodeTypeMoveParameter.ActualName; … … 82 82 } 83 83 84 public static IEnumerable<ChangeNodeTypeMove> GenerateMoves( SymbolicExpressionTree tree) {84 public static IEnumerable<ChangeNodeTypeMove> GenerateMoves(ISymbolicExpressionTree tree) { 85 85 var g = tree.Root.Grammar; 86 86 return (from parent in tree.Root.GetSubtree(0).IterateNodesPrefix()
Note: See TracChangeset
for help on using the changeset viewer.