/** * Set the RBF components to random values. * * @param min Minimum random value. * @param max Max random value. * @param t The type of RBF to use. */ public void randomizeRBFCentersAndWidths(final double min, final double max, final RBFEnum t) { final int dimensions = getInputCount(); final double[] centers = new double[dimensions]; for (int i = 0; i < dimensions; i++) { centers[i] = RangeRandomizer.randomize(min, max); } for (int i = 0; i < this.flat.getRBF().length; i++) { setRBFFunction(i, t, centers, RangeRandomizer.randomize(min, max)); } }
public static double[] generate(int size, double low, double high) { double[] result = new double[size]; for (int i = 0; i < result.length; i++) { result[i] = RangeRandomizer.randomize(low, high); } return result; }
public static double[] distort(double[] d, double distort) { double[] result = new double[d.length]; for (int i = 0; i < d.length; i++) { double pct = RangeRandomizer.randomize(0, distort) - (distort / 2); pct += 1.0; result[i] = d[i] * pct; } return result; }
@Override public void randomize() { int countPer = (sourceUniverse.getCellFactory().size() * 3) + 1; double[] d = new double[countPer * this.ruleCount * 2]; for (int i = 0; i < this.physics.length; i++) { d[i] = RangeRandomizer.randomize(-1, 1); } setPhysics(d); }