View Javadoc
1   package net.bmahe.genetics4j.samples.clustering;
2   
3   import java.util.Objects;
4   
5   import org.apache.commons.lang3.Validate;
6   
7   import net.bmahe.genetics4j.core.Genotype;
8   import net.bmahe.genetics4j.core.chromosomes.DoubleChromosome;
9   
10  public class PhenotypeUtils {
11  
12  	// tag::to_phenotype[]
13  	public static double[][] toPhenotype(final Genotype genotype) {
14  		Objects.requireNonNull(genotype);
15  		Validate.isTrue(genotype.getSize() > 0);
16  
17  		final var doubleChromosome = genotype.getChromosome(0, DoubleChromosome.class);
18  
19  		final int numClusters = doubleChromosome.getSize() / 2;
20  		final double[][] clusters = new double[numClusters][2];
21  
22  		for (int i = 0; i < numClusters; i++) {
23  			clusters[i][0] = doubleChromosome.getAllele(i * 2);
24  			clusters[i][1] = doubleChromosome.getAllele(i * 2 + 1);
25  		}
26  
27  		return clusters;
28  	}
29  	// end::to_phenotype[]
30  }