Changeset 6911 for trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4/ProbabilisticTreeCreaterTest.cs
- Timestamp:
- 10/12/11 17:06:14 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Tests/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4/ProbabilisticTreeCreaterTest.cs
r6866 r6911 72 72 Util.GetTerminalDistributionString(randomTrees) + Environment.NewLine 73 73 ); 74 Assert.IsTrue(Math.Round(1000.0 / (msPerRandomTreeCreation)) > 300); // must achieve more than 500 random trees / s 74 Assert.IsTrue(Math.Round(1000.0 / (msPerRandomTreeCreation)) > 250); // must achieve more than 250 random trees / s 75 } 76 77 [TestMethod] 78 public void ProbabilisticTreeCreatorSpecificTreeSizesTest() { 79 var trees = new List<ISymbolicExpressionTree>(); 80 var grammar = Grammars.CreateSimpleArithmeticGrammar(); 81 var random = new MersenneTwister(31415); 82 var treeGrammarType = SymbolicExpressionTreeGrammar_Accessor.ShadowedType.ReferencedType; 83 84 85 for (int targetTreeSize = 1; targetTreeSize <= 100; targetTreeSize++) { 86 var tree = new SymbolicExpressionTree(); 87 var rootNode = (SymbolicExpressionTreeTopLevelNode)grammar.ProgramRootSymbol.CreateTreeNode(); 88 rootNode.SetGrammar((ISymbolicExpressionTreeGrammar)Activator.CreateInstance(treeGrammarType, grammar)); 89 if (rootNode.HasLocalParameters) rootNode.ResetLocalParameters(random); 90 var startNode = (SymbolicExpressionTreeTopLevelNode)grammar.StartSymbol.CreateTreeNode(); 91 startNode.SetGrammar((ISymbolicExpressionTreeGrammar)Activator.CreateInstance(treeGrammarType, grammar)); 92 if (startNode.HasLocalParameters) startNode.ResetLocalParameters(random); 93 rootNode.AddSubtree(startNode); 94 95 ProbabilisticTreeCreator_Accessor.TryCreateFullTreeFromSeed(random, startNode, targetTreeSize, ((int)Math.Log(targetTreeSize, 2)) + 1); 96 tree.Root = rootNode; 97 Assert.AreEqual(targetTreeSize + 2, tree.Length); //the root and start node must be additionally added 98 } 75 99 } 76 100 }
Note: See TracChangeset
for help on using the changeset viewer.