Changeset 16026 for branches/2886_SymRegGrammarEnumeration/Test
- Timestamp:
- 07/27/18 19:28:18 (6 years ago)
- Location:
- branches/2886_SymRegGrammarEnumeration/Test
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2886_SymRegGrammarEnumeration/Test/GrammarEnumerationTest.cs
r15915 r16026 44 44 } 45 45 46 47 46 private void EvaluateGrammarEnumeration() { 48 47 // Evaluate results … … 55 54 Assert.AreEqual(1.0, ((IRegressionSolution)alg.Results["Best solution (Training)"].Value).TestRSquared, eps, "Test quality too low!"); 56 55 } 57 58 56 59 57 [TestMethod] … … 72 70 TerminalSymbol addSymbol = alg.Grammar.Addition; 73 71 74 Symbol String targetSolution = new SymbolString(new[] {72 SymbolList targetSolution = new SymbolList(new[] { 75 73 constSymbol, varSymbol, varSymbol, varSymbol, mulSymbol, mulSymbol, mulSymbol, 76 74 constSymbol, varSymbol, varSymbol, mulSymbol, mulSymbol, addSymbol, … … 132 130 133 131 // c * sin(c x + c) + c * sin(c * x * x + c * x) + c 134 Symbol String targetSolution = new SymbolString(new[] {132 SymbolList targetSolution = new SymbolList(new[] { 135 133 varSymbol, constSymbol, mulSymbol, constSymbol, addSymbol, sinSymbol, constSymbol, mulSymbol, 136 134 varSymbol, varSymbol, mulSymbol, constSymbol, mulSymbol, varSymbol, constSymbol, mulSymbol, addSymbol, constSymbol, addSymbol, sinSymbol, constSymbol, mulSymbol, addSymbol, … … 165 163 166 164 // c*sin(c*x + c) + c*sin(c*y*y + c) + c 167 Symbol String targetSolution = new SymbolString(new[] {165 SymbolList targetSolution = new SymbolList(new[] { 168 166 xSymbol, constSymbol, mulSymbol, constSymbol, addSymbol, sinSymbol, constSymbol, mulSymbol, 169 167 ySymbol, ySymbol, mulSymbol, constSymbol, mulSymbol, constSymbol, addSymbol, sinSymbol, constSymbol, mulSymbol, addSymbol, … … 222 220 TerminalSymbol logSymbol = alg.Grammar.Log; 223 221 224 Symbol String targetSolution = new SymbolString(new[] {222 SymbolList targetSolution = new SymbolList(new[] { 225 223 varSymbol, constSymbol, mulSymbol, constSymbol, addSymbol, logSymbol, constSymbol, mulSymbol, 226 224 varSymbol, varSymbol, mulSymbol, constSymbol, mulSymbol, constSymbol, addSymbol, logSymbol, constSymbol, mulSymbol, addSymbol, … … 266 264 TerminalSymbol addSymbol = alg.Grammar.Addition; 267 265 268 Symbol String targetSolution = new SymbolString(new[] {266 SymbolList targetSolution = new SymbolList(new[] { 269 267 constSymbol, varSymbol, mulSymbol, constSymbol, addSymbol, alg.Grammar.Sin, 270 268 varSymbol, mulSymbol, … … 303 301 // 30 * x * z * 1/(x*y*y - 10*y*y) 304 302 // --> x z * c * x y * y * c * y y * c * + c + inv c + 305 Symbol String targetSolution = new SymbolString(new[] {303 SymbolList targetSolution = new SymbolList(new[] { 306 304 xSymbol, zSymbol, mulSymbol, constSymbol, mulSymbol, 307 305 xSymbol, ySymbol, mulSymbol, ySymbol, mulSymbol, constSymbol, mulSymbol, … … 337 335 TerminalSymbol addSymbol = alg.Grammar.Addition; 338 336 339 Symbol String targetSolution = new SymbolString(new[] {337 SymbolList targetSolution = new SymbolList(new[] { 340 338 xSymbol, xSymbol, mulSymbol, xSymbol, mulSymbol, xSymbol, mulSymbol, constSymbol, mulSymbol, 341 339 xSymbol, xSymbol, mulSymbol, xSymbol, mulSymbol, constSymbol, mulSymbol, addSymbol, … … 376 374 377 375 // x x mul c mul y y mul c mul add const add inv const mul const add 378 Symbol String targetSolution = new SymbolString(new[] {376 SymbolList targetSolution = new SymbolList(new[] { 379 377 xSymbol, xSymbol, mulSymbol, constSymbol, mulSymbol, 380 378 ySymbol, ySymbol, mulSymbol, constSymbol, mulSymbol, addSymbol, … … 412 410 413 411 // x x * x * const * y y * y * const * + y const * + x const * const + 414 Symbol String targetSolution = new SymbolString(new[] {412 SymbolList targetSolution = new SymbolList(new[] { 415 413 xSymbol, xSymbol, mulSymbol, xSymbol, mulSymbol, constSymbol, mulSymbol, 416 414 ySymbol, ySymbol, mulSymbol, ySymbol, mulSymbol, constSymbol, mulSymbol, addSymbol, -
branches/2886_SymRegGrammarEnumeration/Test/TreeHashingTest.cs
r15849 r16026 27 27 [TestCategory("TreeHashing")] 28 28 public void SimpleEqualityAddition() { 29 Symbol String s1 = new SymbolString(new[] { varA, varB, grammar.Addition, varC, grammar.Addition });30 Symbol String s2 = new SymbolString(new[] { varA, varB, grammar.Addition, varC, grammar.Addition });29 SymbolList s1 = new SymbolList(new[] { varA, varB, grammar.Addition, varC, grammar.Addition }); 30 SymbolList s2 = new SymbolList(new[] { varA, varB, grammar.Addition, varC, grammar.Addition }); 31 31 32 32 int hash1 = grammar.Hasher.CalcHashCode(s1); … … 39 39 [TestCategory("TreeHashing")] 40 40 public void SimpleInequalityAddition() { 41 Symbol String s1 = new SymbolString(new[] { varA, varB, grammar.Addition, varC, grammar.Addition });42 Symbol String s2 = new SymbolString(new[] { varB, varB, grammar.Addition, varB, grammar.Addition });41 SymbolList s1 = new SymbolList(new[] { varA, varB, grammar.Addition, varC, grammar.Addition }); 42 SymbolList s2 = new SymbolList(new[] { varB, varB, grammar.Addition, varB, grammar.Addition }); 43 43 44 44 int hash1 = grammar.Hasher.CalcHashCode(s1); … … 51 51 [TestCategory("TreeHashing")] 52 52 public void CommutativityAddition() { 53 Symbol String s1 = new SymbolString(new[] { varA, varB, grammar.Addition });54 Symbol String s2 = new SymbolString(new[] { varB, varA, grammar.Addition });53 SymbolList s1 = new SymbolList(new[] { varA, varB, grammar.Addition }); 54 SymbolList s2 = new SymbolList(new[] { varB, varA, grammar.Addition }); 55 55 56 56 int hash1 = grammar.Hasher.CalcHashCode(s1); … … 63 63 [TestCategory("TreeHashing")] 64 64 public void AssociativityAddition() { 65 Symbol String s1 = new SymbolString(new[] { varA, varB, grammar.Addition, varA, grammar.Addition });66 Symbol String s2 = new SymbolString(new[] { varA, varB, varA, grammar.Addition, grammar.Addition });65 SymbolList s1 = new SymbolList(new[] { varA, varB, grammar.Addition, varA, grammar.Addition }); 66 SymbolList s2 = new SymbolList(new[] { varA, varB, varA, grammar.Addition, grammar.Addition }); 67 67 68 68 int hash1 = grammar.Hasher.CalcHashCode(s1); … … 75 75 [TestCategory("TreeHashing")] 76 76 public void RepeatedAddition() { 77 Symbol String s1 = new SymbolString(new[] { varA, varA, grammar.Addition, varA, grammar.Addition });78 Symbol String s2 = new SymbolString(new[] { varA });77 SymbolList s1 = new SymbolList(new[] { varA, varA, grammar.Addition, varA, grammar.Addition }); 78 SymbolList s2 = new SymbolList(new[] { varA }); 79 79 80 80 int hash1 = grammar.Hasher.CalcHashCode(s1); … … 87 87 [TestCategory("TreeHashing")] 88 88 public void ComplexInequality() { 89 Symbol String s1 = new SymbolString(new[] { varA, varA, varA, grammar.Multiplication, grammar.Multiplication });90 Symbol String s2 = new SymbolString(new[] { varA, varA, varA, grammar.Multiplication, grammar.Addition });89 SymbolList s1 = new SymbolList(new[] { varA, varA, varA, grammar.Multiplication, grammar.Multiplication }); 90 SymbolList s2 = new SymbolList(new[] { varA, varA, varA, grammar.Multiplication, grammar.Addition }); 91 91 92 92 int hash1 = grammar.Hasher.CalcHashCode(s1); … … 99 99 [TestCategory("TreeHashing")] 100 100 public void NonterminalHashing() { 101 Symbol String s1 = new SymbolString(new Symbol[] { varA, varA, grammar.Expr, grammar.Addition, grammar.Addition });102 Symbol String s2 = new SymbolString(new Symbol[] { varA, grammar.Expr, grammar.Addition });101 SymbolList s1 = new SymbolList(new Symbol[] { varA, varA, grammar.Expr, grammar.Addition, grammar.Addition }); 102 SymbolList s2 = new SymbolList(new Symbol[] { varA, grammar.Expr, grammar.Addition }); 103 103 104 104 int hash1 = grammar.Hasher.CalcHashCode(s1); … … 112 112 public void InverseFactorCancelationSimple() { 113 113 // 1/a * b * a * a 114 Symbol String s1 = new SymbolString(new Symbol[] { varA, grammar.Inv, varB, grammar.Multiplication, varA, grammar.Multiplication, varA, grammar.Multiplication });114 SymbolList s1 = new SymbolList(new Symbol[] { varA, grammar.Inv, varB, grammar.Multiplication, varA, grammar.Multiplication, varA, grammar.Multiplication }); 115 115 // a * b 116 Symbol String s2 = new SymbolString(new Symbol[] { varA, varB, grammar.Multiplication });116 SymbolList s2 = new SymbolList(new Symbol[] { varA, varB, grammar.Multiplication }); 117 117 118 118 int hash1 = grammar.Hasher.CalcHashCode(s1); … … 125 125 [TestCategory("TreeHashing")] 126 126 public void InverseFactorCancelationComplex() { 127 Symbol String s1 = new SymbolString(new Symbol[] { varA, grammar.Sin, varA, varA, grammar.Multiplication, varA, grammar.Addition, grammar.Sin, grammar.Addition });128 Symbol String s2 = new SymbolString(new Symbol[] { varA, varA, varA, grammar.Multiplication, grammar.Addition, grammar.Sin, varA, grammar.Inv, varA, grammar.Sin, varA, grammar.Multiplication, grammar.Multiplication, grammar.Addition });127 SymbolList s1 = new SymbolList(new Symbol[] { varA, grammar.Sin, varA, varA, grammar.Multiplication, varA, grammar.Addition, grammar.Sin, grammar.Addition }); 128 SymbolList s2 = new SymbolList(new Symbol[] { varA, varA, varA, grammar.Multiplication, grammar.Addition, grammar.Sin, varA, grammar.Inv, varA, grammar.Sin, varA, grammar.Multiplication, grammar.Multiplication, grammar.Addition }); 129 129 130 130 int hash1 = grammar.Hasher.CalcHashCode(s1); … … 138 138 [TestCategory("TreeHashing")] 139 139 public void SimpleConst() { 140 Symbol String s1 = new SymbolString(new Symbol[] { c, varA, grammar.Multiplication, c, grammar.Addition});141 Symbol String s2 = new SymbolString(new Symbol[] { c, varA, grammar.Multiplication, c, varA, grammar.Multiplication, grammar.Addition, c, grammar.Addition });140 SymbolList s1 = new SymbolList(new Symbol[] { c, varA, grammar.Multiplication, c, grammar.Addition}); 141 SymbolList s2 = new SymbolList(new Symbol[] { c, varA, grammar.Multiplication, c, varA, grammar.Multiplication, grammar.Addition, c, grammar.Addition }); 142 142 143 143 int hash1 = grammar.Hasher.CalcHashCode(s1); … … 151 151 [TestCategory("TreeHashing")] 152 152 public void CompoundInverseCancellationToSingleInverse() { 153 Symbol String s1 = new SymbolString(new Symbol[] { varA, varB, grammar.Addition, grammar.Inv, grammar.Inv, grammar.Inv });154 Symbol String s2 = new SymbolString(new Symbol[] { varA, varB, grammar.Addition, grammar.Inv });153 SymbolList s1 = new SymbolList(new Symbol[] { varA, varB, grammar.Addition, grammar.Inv, grammar.Inv, grammar.Inv }); 154 SymbolList s2 = new SymbolList(new Symbol[] { varA, varB, grammar.Addition, grammar.Inv }); 155 155 156 156 int hash1 = grammar.CalcHashCode(s1); … … 163 163 [TestCategory("TreeHashing")] 164 164 public void CompoundInverseCancellationToDivisor() { 165 Symbol String s1 = new SymbolString(new Symbol[] { varA, varB, grammar.Addition, grammar.Inv, grammar.Inv });166 Symbol String s2 = new SymbolString(new Symbol[] { varA, varB, grammar.Addition });165 SymbolList s1 = new SymbolList(new Symbol[] { varA, varB, grammar.Addition, grammar.Inv, grammar.Inv }); 166 SymbolList s2 = new SymbolList(new Symbol[] { varA, varB, grammar.Addition }); 167 167 168 168 int hash1 = grammar.CalcHashCode(s1); … … 176 176 public void UncancelableCompoundInverse() { 177 177 // 1 / ( 1/b + sin(a*c) ) 178 Symbol String s1 = new SymbolString(new Symbol[] { varB, grammar.Inv, varA, varC, grammar.Multiplication, grammar.Sin, grammar.Addition, grammar.Inv });178 SymbolList s1 = new SymbolList(new Symbol[] { varB, grammar.Inv, varA, varC, grammar.Multiplication, grammar.Sin, grammar.Addition, grammar.Inv }); 179 179 // b + sin(a*c) 180 Symbol String s2 = new SymbolString(new Symbol[] { varB, varA, varC, grammar.Multiplication, grammar.Sin, grammar.Addition });180 SymbolList s2 = new SymbolList(new Symbol[] { varB, varA, varC, grammar.Multiplication, grammar.Sin, grammar.Addition }); 181 181 182 182 int hash1 = grammar.CalcHashCode(s1);
Note: See TracChangeset
for help on using the changeset viewer.