Пример #1
0
main()
{
  const unsigned POP_SIZE = 8, CHROM_SIZE = 4;
  unsigned i;

  eoBinRandom<Chrom> random;
  eoPop<Chrom> pop; 

  // Create the population
  for (i = 0; i < POP_SIZE; ++i) {
    Chrom chrom(CHROM_SIZE);
    random(chrom);
    BinaryValue()(chrom);
    pop.push_back(chrom);
  }
  
  // print population
  std::cout << "population:" << std::endl;
  for (i = 0; i < pop.size(); ++i)
    std::cout << pop[i] << " " << pop[i].fitness() << std::endl;

  // Declare 1-selectors
  eoUniformSelect<Chrom> uSelect;

  Chrom aChrom;
  aChrom = uSelect( pop );
  std::cout << "Uniform Select " << aChrom << " " << aChrom.fitness() << std::endl;

  eoStochTournament<Chrom> sSelect(0.7);
  aChrom = sSelect( pop );
  std::cout << "Stochastic Tournament " << aChrom << " " << aChrom.fitness() << std::endl;

  eoDetTournament<Chrom> dSelect(3);
  aChrom = dSelect( pop );
  std::cout << "Deterministic Tournament " << aChrom << " " << aChrom.fitness() << std::endl;

  return 0;
}