Changeset 6506
- Timestamp:
- 07/04/11 22:17:22 (13 years ago)
- Location:
- trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/Manipulators/PolynomialAllPositionManipulator.cs
r5445 r6506 87 87 if (u < 0.5) { 88 88 delta = Math.Pow(2 * u, 1.0 / (contiguity.Value + 1)) - 1.0; 89 } else if (u > 0.5) {90 delta = 1.0 - Math.Pow(2.0 - 2.0 * u, 1.0 / contiguity.Value + 1);91 } else if (u == 0.5) delta = 0;89 } else if (u >= 0.5) { 90 delta = 1.0 - Math.Pow(2.0 - 2.0 * u, 1.0 / (contiguity.Value + 1)); 91 } 92 92 93 93 vector[index] += delta * maxManipulation.Value; -
trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/Manipulators/PolynomialOnePositionManipulator.cs
r5445 r6506 89 89 if (u < 0.5) { 90 90 delta = Math.Pow(2 * u, 1.0 / (contiguity + 1)) - 1.0; 91 } else if (u > 0.5) {92 delta = 1.0 - Math.Pow(2.0 - 2.0 * u, 1.0 / contiguity + 1);93 } else delta = 0;91 } else if (u >= 0.5) { 92 delta = 1.0 - Math.Pow(2.0 - 2.0 * u, 1.0 / (contiguity + 1)); 93 } 94 94 95 95 return delta; -
trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/Tests/PolynomialAllPositionManipulatorTest.cs
r5445 r6506 92 92 random.DoubleNumbers = new double[] { 0.2, 0.7, 0.8, 0.01, 0.1 }; 93 93 parent = new RealVector(new double[] { 0.2, 0.2, 0.3, 0.5, 0.1 }); 94 expected = new RealVector(new double[] { 0.120213215256006, 0. 336631954950876, 0.474551336679454, 0.322759240811056, -0.0182075293954083 });94 expected = new RealVector(new double[] { 0.120213215256006, 0.249415354697564, 0.379786784743994, 0.322759240811056, -0.0182075293954083 }); 95 95 contiguity = new DoubleValue(0.8); 96 96 maxManipulation = new DoubleValue(0.2); … … 106 106 try { 107 107 PolynomialAllPositionManipulator.Apply(random, parent, contiguity, maxManipulation); 108 } 109 catch (System.ArgumentException) { 108 } catch (System.ArgumentException) { 110 109 exceptionFired = true; 111 110 }
Note: See TracChangeset
for help on using the changeset viewer.