* {@inheritDoc}
*/
@Override
public void performOperation(Random rnd, Genome[] parents, int parentIndex,
Genome[] offspring, int offspringIndex) {
DoubleArrayGenome parent = (DoubleArrayGenome)parents[parentIndex];
offspring[offspringIndex] = parent.getPopulation().getGenomeFactory().factor();
DoubleArrayGenome child = (DoubleArrayGenome)offspring[offspringIndex];
for(int i=0;i<parent.size();i++) {
double value = parent.getData()[i];
value += value * (perturbAmount - (rnd.nextDouble() * perturbAmount * 2));
child.getData()[i] = value;
}
}