GENOME_LENGTH, ELITE_RATE, MUTATION_RATE, CROSSOVER_RATE); evaluation(); cout << endl <<"GENERATION " << 0 << endl; m_ga->display_ave_max_min_fitness(); m_ga->display_all_genomes(); for(unsigned int generation = 1 ; generation < MAX_GENERATION ; generation++){ evaluation(); // ### 適正評価 ### m_ga->elite_preserve(); m_ga->roullett_selection(); // ### 選択 ### m_ga->onepoint_crossover(); // ### 進化 ### m_ga->all_mutation(); // 突然変異 m_ga->elite_placeback(); evaluation(); // ### 適正評価 ### if(generation %DISPLAY_FRAME == 0){ // 表示 cout << endl <<"GENERATION " << generation << endl; m_ga->display_ave_max_min_fitness(); m_ga->display_all_genomes(); } } }