LinkedList<Long> vert = new LinkedList<Long>();
for (RobEA robNah : nahe) {
vert.add(Math.max(robNah.getFitSum(), 0));
}
RobEA sieger = (RobEA) MiscMath.randVerteilung(nahe, vert, this.rand);
// <ALT: For every neighborhood, for every genome level choose fitness-proportionately.>
// <Sollte dann die ganze Kette von Translatoren in dieser Methode neu übersetzt werden oder nur bei Mutation?>
// Darüber nochmal nachdenken - doch alle Translatoren von einem Roboter kopieren?
// => Ergebnis: Ja, so sollte man das tun, und so wird das auch getan.
for (int i = 0; i < this.genomes.get(0).size(); i++) {
for (RobEA robNah : nahe) {
this.setGenom(robNah.id(), this.getGenom(sieger.id(), i), i);
}
}
}
this.translationKomplett(params);