예제 #1
0
 private double selectBirth(RandomGenerator e, C conf, M modif, double[] in) {
   int beg = conf.size(clazz) - modif.getDeath().size() + 1;
   int end = beg + this.n;
   int denom = 1;
   int current = 0;
   for (int size = beg; size < end; ++size) {
     double[] v = new double[this.dimension];
     for (int i = 0; i < this.dimension; i++) {
       v[i] = in[i + current];
     }
     modif.insertBirth(this.builder.build(v));
     current += this.dimension;
     denom *= size;
   }
   return 1. / (double) denom;
 }