- Timestamp:
- 04/25/08 12:13:34 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.StructureIdentification/TreeGardener.cs
r182 r189 141 141 142 142 // build the tree 143 IFunctionTree root = new FunctionTree(selectedFunction);143 IFunctionTree root = selectedFunction.GetTreeNode(); 144 144 if(balanceTrees) { 145 145 MakeBalancedTree(root, maxTreeSize - 1, maxTreeHeight - 1); … … 376 376 if(maxTreeHeight == 1 || maxTreeSize == 1) { 377 377 IFunction selectedTerminal = RandomSelect(terminals); 378 return new FunctionTree(selectedTerminal);378 return selectedTerminal.GetTreeNode(); 379 379 } else { 380 380 IFunction[] possibleFunctions = allFunctions.Where(f => GetMinimalTreeHeight(f) <= maxTreeHeight && 381 381 GetMinimalTreeSize(f) <= maxTreeSize).ToArray(); 382 382 IFunction selectedFunction = RandomSelect(possibleFunctions); 383 return new FunctionTree(selectedFunction);383 return selectedFunction.GetTreeNode(); 384 384 } 385 385 } … … 400 400 GetMinimalTreeSize(f) <= maxSubTreeSize).ToArray(); 401 401 IFunction selectedFunction = RandomSelect(possibleFunctions); 402 FunctionTree newSubTree = new FunctionTree(selectedFunction);402 IFunctionTree newSubTree = selectedFunction.GetTreeNode(); 403 403 MakeUnbalancedTree(newSubTree, maxSubTreeSize - 1, maxTreeHeight - 1); 404 404 parent.InsertSubTree(i, newSubTree); … … 424 424 IFunction[] possibleTerminals = GetAllowedSubFunctions(parent.Function, i).Where(f => IsTerminal(f)).ToArray(); 425 425 IFunction selectedTerminal = RandomSelect(possibleTerminals); 426 IFunctionTree newTree = new FunctionTree(selectedTerminal);426 IFunctionTree newTree = selectedTerminal.GetTreeNode(); 427 427 parent.InsertSubTree(i, newTree); 428 428 } else { … … 432 432 !IsTerminal(f)).ToArray(); 433 433 IFunction selectedFunction = RandomSelect(possibleFunctions); 434 FunctionTree newTree = new FunctionTree(selectedFunction);434 IFunctionTree newTree = selectedFunction.GetTreeNode(); 435 435 parent.InsertSubTree(i, newTree); 436 436 MakeBalancedTree(newTree, maxSubTreeSize - 1, maxTreeHeight - 1);
Note: See TracChangeset
for help on using the changeset viewer.