Changeset 6387 for branches/GP.Grammar.Editor/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Crossovers/SubtreeCrossover.cs
- Timestamp:
- 06/08/11 10:42:57 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GP.Grammar.Editor/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Crossovers/SubtreeCrossover.cs
r6284 r6387 133 133 if (newChild == null) { 134 134 // make sure that one subtree can be removed and that only the last subtree is removed 135 return parent.Grammar.GetMinimumSubtreeCount(parent.Symbol) < parent.Subtree sCount &&136 cutPoint.ChildIndex == parent.Subtree sCount - 1;135 return parent.Grammar.GetMinimumSubtreeCount(parent.Symbol) < parent.SubtreeCount && 136 cutPoint.ChildIndex == parent.SubtreeCount - 1; 137 137 } else { 138 138 // check syntax constraints of direct parent - child relation … … 146 146 result && 147 147 parent.Grammar.ContainsSymbol(n.Symbol) && 148 n.Subtree sCount >= parent.Grammar.GetMinimumSubtreeCount(n.Symbol) &&149 n.Subtree sCount <= parent.Grammar.GetMaximumSubtreeCount(n.Symbol);148 n.SubtreeCount >= parent.Grammar.GetMinimumSubtreeCount(n.Symbol) && 149 n.SubtreeCount <= parent.Grammar.GetMaximumSubtreeCount(n.Symbol); 150 150 }); 151 151 return result; … … 169 169 } 170 170 // add one additional extension point if the number of sub trees for the symbol is not full 171 if (n.Subtree sCount < n.Grammar.GetMaximumSubtreeCount(n.Symbol)) {171 if (n.SubtreeCount < n.Grammar.GetMaximumSubtreeCount(n.Symbol)) { 172 172 // empty extension point 173 internalCrossoverPoints.Add(new CutPoint(n, n.Subtree sCount));173 internalCrossoverPoints.Add(new CutPoint(n, n.SubtreeCount)); 174 174 } 175 175 }
Note: See TracChangeset
for help on using the changeset viewer.