- Timestamp:
- 07/03/12 16:46:35 (12 years ago)
- Location:
- branches/GP-MoveOperators
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GP-MoveOperators
- Property svn:mergeinfo changed
/trunk/sources merged: 8084,8088-8090,8092-8100,8102-8113,8115,8117-8132,8134-8146,8148-8156,8158-8160,8163-8170,8173-8176,8178-8190,8192-8205
- Property svn:mergeinfo changed
-
branches/GP-MoveOperators/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding merged: 8126,8148
- Property svn:mergeinfo changed
-
branches/GP-MoveOperators/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/ArchitectureManipulators/SubroutineCreater.cs
r7259 r8206 139 139 // the grammar in the newly defined function is a clone of the grammar of the originating branch 140 140 defunNode.SetGrammar((ISymbolicExpressionTreeGrammar)selectedBody.Grammar.Clone()); 141 142 var allowedChildSymbols = selectedBody.Grammar.GetAllowedChildSymbols(selectedBody.Symbol); 143 foreach (var allowedChildSymbol in allowedChildSymbols) 144 defunNode.Grammar.AddAllowedChildSymbol(defunNode.Symbol, allowedChildSymbol); 145 var maxSubtrees = selectedBody.Grammar.GetMaximumSubtreeCount(selectedBody.Symbol); 146 for (int i = 0; i < maxSubtrees; i++) { 147 foreach (var allowedChildSymbol in selectedBody.Grammar.GetAllowedChildSymbols(selectedBody.Symbol, i)) 148 defunNode.Grammar.AddAllowedChildSymbol(defunNode.Symbol, allowedChildSymbol); 149 } 150 141 151 // remove all argument symbols from grammar except that one contained in cutpoints 142 152 var oldArgumentSymbols = selectedBody.Grammar.Symbols.OfType<Argument>().ToList(); -
branches/GP-MoveOperators/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/ArchitectureManipulators/SubroutineDuplicater.cs
r7259 r8206 73 73 symbolicExpressionTree.Root.AddSubtree(duplicatedDefunBranch); 74 74 duplicatedDefunBranch.SetGrammar((ISymbolicExpressionTreeGrammar)selectedBranch.Grammar.Clone()); 75 76 var allowedChildSymbols = selectedBranch.Grammar.GetAllowedChildSymbols(selectedBranch.Symbol); 77 foreach (var allowedChildSymbol in allowedChildSymbols) 78 duplicatedDefunBranch.Grammar.AddAllowedChildSymbol(duplicatedDefunBranch.Symbol, allowedChildSymbol); 79 var maxSubtrees = selectedBranch.Grammar.GetMaximumSubtreeCount(selectedBranch.Symbol); 80 for (int i = 0; i < maxSubtrees; i++) { 81 foreach (var allowedChildSymbol in selectedBranch.Grammar.GetAllowedChildSymbols(selectedBranch.Symbol, i)) 82 duplicatedDefunBranch.Grammar.AddAllowedChildSymbol(duplicatedDefunBranch.Symbol, allowedChildSymbol); 83 } 84 75 85 // add an invoke symbol for each branch that is allowed to invoke the original function 76 86 foreach (var subtree in symbolicExpressionTree.Root.Subtrees.OfType<SymbolicExpressionTreeTopLevelNode>()) { -
branches/GP-MoveOperators/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.csproj
r7832 r8206 159 159 <Compile Include="Manipulators\OnePointShaker.cs" /> 160 160 <Compile Include="Manipulators\SymbolicExpressionTreeManipulator.cs" /> 161 <Compile Include="Moves\ChangeNodeTypeMoveGenerator.cs" /> 162 <Compile Include="Moves\ChangeNodeTypeMove.cs" /> 163 <Compile Include="Moves\ChangeNodeTypeMoveMaker.cs" /> 164 <Compile Include="Moves\ChangeNodeTypeMoveSoftTabuCriterion.cs"> 165 <SubType>Code</SubType> 166 </Compile> 167 <Compile Include="Moves\ChangeNodeTypeMultiMoveGenerator.cs" /> 168 <Compile Include="Moves\ReplaceBranchMoveTabuMaker.cs" /> 169 <Compile Include="Moves\ReplaceBranchMoveSoftTabuCriterion.cs" /> 170 <Compile Include="Moves\ReplaceBranchMoveMaker.cs" /> 171 <Compile Include="Moves\ReplaceBranchMove.cs" /> 161 <Compile Include="Moves\ChangeNodeTypeMoveAbsoluteAttribute.cs"> 162 <SubType>Code</SubType> 163 </Compile> 172 164 <Compile Include="Moves\SymbolicExpressionTreeMoveAttribute.cs" /> 173 <Compile Include="Moves\ShakeMultiMoveGenerator.cs" />174 <Compile Include="Moves\ShakeMoveGenerator.cs" />175 <Compile Include="Moves\ChangeNodeTypeMoveHardTabuCriterion.cs" />176 <Compile Include="Moves\ChangeNodeTypeMoveTabuMaker.cs" />177 <Compile Include="Moves\ChangeNodeTypeMoveAbsoluteAttribute.cs" />178 165 <Compile Include="Plugin.cs" /> 179 166 <Compile Include="SymbolicExpressionGrammarBase.cs" /> -
branches/GP-MoveOperators/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/SymbolicExpressionTree.cs
r7795 r8206 23 23 using System.Collections.Generic; 24 24 using System.Drawing; 25 using System.Linq; 25 26 using HeuristicLab.Common; 26 27 using HeuristicLab.Core; … … 77 78 public IEnumerable<ISymbolicExpressionTreeNode> IterateNodesBreadth() { 78 79 if (root == null) 79 return new SymbolicExpressionTreeNode[0];80 return Enumerable.Empty<SymbolicExpressionTreeNode>(); 80 81 return root.IterateNodesBreadth(); 81 82 } … … 83 84 public IEnumerable<ISymbolicExpressionTreeNode> IterateNodesPrefix() { 84 85 if (root == null) 85 return new SymbolicExpressionTreeNode[0];86 return Enumerable.Empty<SymbolicExpressionTreeNode>(); 86 87 return root.IterateNodesPrefix(); 87 88 } 88 89 public IEnumerable<ISymbolicExpressionTreeNode> IterateNodesPostfix() { 89 90 if (root == null) 90 return new SymbolicExpressionTreeNode[0];91 return Enumerable.Empty<SymbolicExpressionTreeNode>(); 91 92 return root.IterateNodesPostfix(); 92 93 }
Note: See TracChangeset
for help on using the changeset viewer.