- Timestamp:
- 02/20/18 13:43:36 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2886_SymRegGrammarEnumeration/Test/GrammarEnumerationTest.cs
r15784 r15791 75 75 int actualSolutionHash = alg.Grammar.CalcHashCode(alg.BestTrainingSentence); 76 76 77 Assert.IsTrue(alg.DistinctSentences.ContainsKey( actualSolutionHash), "Actual solution was not generated!");77 Assert.IsTrue(alg.DistinctSentences.ContainsKey(targetSolutionHash), "Actual solution was not generated!"); 78 78 79 79 Assert.AreEqual(targetSolutionHash, actualSolutionHash, "Actual solution was not recognized as best one."); … … 112 112 public void NoConstants_Nguyen6() { 113 113 // sin(x) + sin(x + x²) 114 alg.MaxTreeSize = 1 3;114 alg.MaxTreeSize = 10; 115 115 alg.Problem.ProblemData = new NguyenFunctionSix(Seed).GenerateRegressionData(); 116 116 … … 130 130 int actualSolutionHash = alg.Grammar.CalcHashCode(alg.BestTrainingSentence); 131 131 132 Assert.IsTrue(alg.DistinctSentences.ContainsKey(actualSolutionHash), "Actual solution was not generated!"); 133 132 Assert.IsTrue(alg.DistinctSentences.ContainsKey(targetSolutionHash), "Actual solution was not generated!"); 134 133 Assert.AreEqual(targetSolutionHash, actualSolutionHash, "Actual solution was not recognized as best one."); 135 134 … … 141 140 public void NoConstants_Nguyen9() { 142 141 // sin(x) + sin(y²) 143 alg.MaxTreeSize = 1 0;142 alg.MaxTreeSize = 11; 144 143 alg.Problem.ProblemData = new NguyenFunctionNine(Seed).GenerateRegressionData(); 145 144 146 145 alg.Start(); 146 147 TerminalSymbol xSymbol = alg.Grammar.Var.VariableTerminalSymbols.First(v => v.StringRepresentation == "X"); 148 TerminalSymbol ySymbol = alg.Grammar.Var.VariableTerminalSymbols.First(v => v.StringRepresentation == "Y"); 149 TerminalSymbol mulSymbol = alg.Grammar.Multiplication; 150 TerminalSymbol addSymbol = alg.Grammar.Addition; 151 TerminalSymbol sinSymbol = alg.Grammar.Sin; 152 153 SymbolString targetSolution = new SymbolString(new[] { 154 xSymbol, sinSymbol, 155 ySymbol, ySymbol, mulSymbol, sinSymbol, addSymbol 156 }); 157 158 int targetSolutionHash = alg.Grammar.CalcHashCode(targetSolution); 159 int actualSolutionHash = alg.Grammar.CalcHashCode(alg.BestTrainingSentence); 160 161 Assert.IsTrue(alg.DistinctSentences.ContainsKey(targetSolutionHash), "Actual solution was not generated!"); 162 Assert.AreEqual(targetSolutionHash, actualSolutionHash, "Actual solution was not recognized as best one."); 163 147 164 EvaluateGrammarEnumeration(); 148 165 } … … 162 179 [TestProperty("Goal", "structure search")] 163 180 public void NoConstants_Inverse() { 164 // 1/ (log(x)*x + x)181 // sin(x) / (log(x)*x + x) 165 182 alg.MaxTreeSize = 12; 166 183 167 184 var x = Enumerable.Range(0, 100).Select(_ => rand.NextDouble() + 1.1).ToList(); 168 var y = x.Select(xi => 1/ (Math.Log(xi) * xi + xi)).ToList();185 var y = x.Select(xi => xi / (Math.Log(xi) * xi + xi)).ToList(); 169 186 alg.Problem.ProblemData = new RegressionProblemData(new Dataset(new List<string>() { "x", "y" }, new List<IList>() { x, y }), "x".ToEnumerable(), "y"); 170 187
Note: See TracChangeset
for help on using the changeset viewer.