Changeset 3442 for trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/Creators/ProbabilisticTreeCreator.cs
- Timestamp:
- 04/20/10 15:49:22 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/Creators/ProbabilisticTreeCreator.cs
r3376 r3442 56 56 SymbolicExpressionTree tree = new SymbolicExpressionTree(); 57 57 var rootNode = grammar.StartSymbol.CreateTreeNode(); 58 if (rootNode.HasLocalParameters) rootNode.ResetLocalParameters(random); 58 59 rootNode.Grammar = grammar; 59 60 tree.Root = PTC2(random, rootNode, maxTreeSize, maxTreeHeight, maxFunctionDefinitions, maxFunctionArguments); … … 111 112 var dummy = new SymbolicExpressionTreeNode(); 112 113 root.AddSubTree(dummy); 113 // dummy.Grammar = (ISymbolicExpressionGrammar)dummy.Grammar.Clone();114 114 extensionPoints.Add(new TreeExtensionPoint { Parent = root, ChildIndex = i, ExtensionPointDepth = 2 }); 115 115 } … … 132 132 Symbol selectedSymbol = SelectRandomSymbol(random, allowedSymbols); 133 133 SymbolicExpressionTreeNode newTree = selectedSymbol.CreateTreeNode(); 134 if (newTree.HasLocalParameters) newTree.ResetLocalParameters(random); 134 135 parent.RemoveSubTree(argumentIndex); 135 136 parent.InsertSubTree(argumentIndex, newTree); … … 145 146 var dummy = new SymbolicExpressionTreeNode(); 146 147 newTree.AddSubTree(dummy); 147 //if (IsTopLevelBranch(root, dummy))148 // dummy.Grammar = (ISymbolicExpressionGrammar)dummy.Grammar.Clone();149 148 extensionPoints.Add(new TreeExtensionPoint { Parent = newTree, ChildIndex = i, ExtensionPointDepth = extensionDepth + 1 }); 150 149 } … … 172 171 var selectedSymbol = SelectRandomSymbol(random, possibleSymbols); 173 172 var tree = selectedSymbol.CreateTreeNode(); 173 if (tree.HasLocalParameters) tree.ResetLocalParameters(random); 174 174 parent.RemoveSubTree(argumentIndex); 175 175 parent.InsertSubTree(argumentIndex, tree); … … 179 179 var dummy = new SymbolicExpressionTreeNode(); 180 180 tree.AddSubTree(dummy); 181 // dummy.Grammar = (ISymbolicExpressionGrammar)dummy.Grammar.Clone();182 181 // replace the just inserted dummy by recursive application 183 182 ReplaceWithMinimalTree(random, root, tree, i, maxFunctionDefinitions, maxFunctionArguments); … … 229 228 230 229 private static bool IsTopLevelBranch(SymbolicExpressionTreeNode root, SymbolicExpressionTreeNode branch) { 231 //return root.SubTrees.IndexOf(branch) > -1;232 230 return branch is SymbolicExpressionTreeTopLevelNode; 233 231 }
Note: See TracChangeset
for help on using the changeset viewer.