Changeset 5510 for branches/DataAnalysis Refactoring/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Crossovers/SymbolicExpressionTreeCrossover.cs
- Timestamp:
- 02/17/11 13:51:04 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DataAnalysis Refactoring/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Crossovers/SymbolicExpressionTreeCrossover.cs
r5499 r5510 37 37 private const string ChildParameterName = "Child"; 38 38 #region Parameter Properties 39 public ILookupParameter<ItemArray< SymbolicExpressionTree>> ParentsParameter {40 get { return (ScopeTreeLookupParameter< SymbolicExpressionTree>)Parameters[ParentsParameterName]; }39 public ILookupParameter<ItemArray<ISymbolicExpressionTree>> ParentsParameter { 40 get { return (ScopeTreeLookupParameter<ISymbolicExpressionTree>)Parameters[ParentsParameterName]; } 41 41 } 42 public ILookupParameter< SymbolicExpressionTree> ChildParameter {43 get { return (ILookupParameter< SymbolicExpressionTree>)Parameters[ChildParameterName]; }42 public ILookupParameter<ISymbolicExpressionTree> ChildParameter { 43 get { return (ILookupParameter<ISymbolicExpressionTree>)Parameters[ChildParameterName]; } 44 44 } 45 45 #endregion 46 46 #region Properties 47 public ItemArray< SymbolicExpressionTree> Parents {47 public ItemArray<ISymbolicExpressionTree> Parents { 48 48 get { return ParentsParameter.ActualValue; } 49 49 } 50 public SymbolicExpressionTree Child {50 public ISymbolicExpressionTree Child { 51 51 get { return ChildParameter.ActualValue; } 52 52 set { ChildParameter.ActualValue = value; } … … 58 58 protected SymbolicExpressionTreeCrossover() 59 59 : base() { 60 Parameters.Add(new ScopeTreeLookupParameter< SymbolicExpressionTree>(ParentsParameterName, "The parent symbolic expression trees which should be crossed."));61 Parameters.Add(new LookupParameter< SymbolicExpressionTree>(ChildParameterName, "The child symbolic expression tree resulting from the crossover."));60 Parameters.Add(new ScopeTreeLookupParameter<ISymbolicExpressionTree>(ParentsParameterName, "The parent symbolic expression trees which should be crossed.")); 61 Parameters.Add(new LookupParameter<ISymbolicExpressionTree>(ChildParameterName, "The child symbolic expression tree resulting from the crossover.")); 62 62 } 63 63 … … 66 66 throw new ArgumentException("Number of parents must be exactly two for symbolic expression tree crossover operators."); 67 67 68 SymbolicExpressionTree result = Cross(Random, Parents[0], Parents[1]);68 ISymbolicExpressionTree result = Cross(Random, Parents[0], Parents[1]); 69 69 70 70 Child = result; … … 72 72 } 73 73 74 protected abstract SymbolicExpressionTree Cross(IRandom random,75 SymbolicExpressionTree parent0,SymbolicExpressionTree parent1);74 protected abstract ISymbolicExpressionTree Cross(IRandom random, 75 ISymbolicExpressionTree parent0, ISymbolicExpressionTree parent1); 76 76 } 77 77 }
Note: See TracChangeset
for help on using the changeset viewer.