public void evolve(int nGens, int cursor) { int i = 0; while (i < nGens) { // System.out.println("GENERATION : " + i); evaluate(); stat.addStat(this.pop, i); Arrays.sort(this.pop); if (i < nGens - 1) { breed(i); updatePop(); } else { // for (int j = 0; j < this.pop.length; j++) { // System.out.println(this.pop[j].fitness); // } } i++; } // stat.logStatisticalSummary(nGens - 1); validate(cursor); }
/** * Verifies that a StatisticalSummary and a StatisticalSummaryValues are equal up to delta, with * NaNs, infinities returned in the same spots. For max, min, n, values have to agree exactly, * delta is used only for sum, mean, variance, std dev. */ protected static void assertEquals( StatisticalSummary expected, StatisticalSummary observed, double delta) { TestUtils.assertEquals(expected.getMax(), observed.getMax(), 0); TestUtils.assertEquals(expected.getMin(), observed.getMin(), 0); Assert.assertEquals(expected.getN(), observed.getN()); TestUtils.assertEquals(expected.getSum(), observed.getSum(), delta); TestUtils.assertEquals(expected.getMean(), observed.getMean(), delta); TestUtils.assertEquals(expected.getStandardDeviation(), observed.getStandardDeviation(), delta); TestUtils.assertEquals(expected.getVariance(), observed.getVariance(), delta); }