jenesライブラリ (チュートリアル 5: ObjectChromosome </a>)で提供されている Java の例を実装しました。集団内の個人はすべて同じであることがわかりました (つまり、無作為化は行われていません)。
ga.evolve();
OCProblem クラスの後に次のコードを追加して、母集団の各個人を出力しました。
ga.evolve();
Population pop= ga.getCurrentPopulation();
ArrayList population_test= pop.getIndividuals();
for(int n=0; n < population_test.size(); n++){
Individual<ObjectChromosome> individual=(Individual<ObjectChromosome>) population_test.get(n);
ObjectChromosome chrom = individual.getChromosome();
int i1 = (Integer)chrom.getValue(0);
int i2 = (Integer)chrom.getValue(1);
double i3= (double)chrom.getValue(2);
boolean i4= (boolean)chrom.getValue(3);
Color i5= (Color)chrom.getValue(4);
System.out.println("[ "+ i1+" , "+ i2+" , "+ i3+" , "+ i4+" , "+ i5+" ] ");
}
出力は、個人が重複している衝撃的でした! これは前のコードからの出力です
チュートリアル 5: ターゲットに最も近い色のシーケンスを見つけます。[6、20、0.5623470035526044、false、(赤)] [6、20、0.5623470035526044、false、(red)] [6、20、0.562347003526044、false、(red)] [6、20、0.5623470035526044、10、0、0.5623470035526044 )] [6、20、0.5623470035526044、false、(red)] [6、20、0.5623470035526044、false、(red)] [6、20、0.56235526044、false、(red)] (赤) ] [ 6 ,20 , 0.5623470035526044 , false , (赤) ] [ 6 , 20 ,0.5623470035526044 , false , (赤) ]