コード例 #1
0
ファイル: Engine.java プロジェクト: christinapanto/project
  // Filters out invalid and to old individuals. Filtering is done in place.
  private FilterResult<G, C> filter(final Population<G, C> population, final long generation) {
    int killCount = 0;
    int invalidCount = 0;

    for (int i = 0, n = population.size(); i < n; ++i) {
      final Phenotype<G, C> individual = population.get(i);

      if (!_validator.test(individual)) {
        population.set(i, newPhenotype(generation));
        ++invalidCount;
      } else if (individual.getAge(generation) > _maximalPhenotypeAge) {
        population.set(i, newPhenotype(generation));
        ++killCount;
      }
    }

    return new FilterResult<>(population, killCount, invalidCount);
  }
コード例 #2
0
 void accept(final Phenotype<?, C> pt, final long generation) {
   _age.accept(pt.getAge(generation));
 }