public abstract class Breeder extends Object implements Singleton
Breeders typically do their work by applying a Species' BreedingPipelines on subpopulations of that species to produce new individuals for those subpopulations.
Breeders may be multithreaded. The number of threads they may spawn (excepting a parent "gathering" thread) is governed by the EvolutionState's breedthreads value.
Be careful about spawning threads -- this system has no few synchronized methods for efficiency's sake, so you must either divvy up breeding in a thread-safe fashion and assume that all individuals in the current population are read-only (which you may assume for a generational breeder which needs to return a whole new population each generation), or otherwise you must obtain the appropriate locks on individuals in the population and other objects as necessary.
| Constructor and Description |
|---|
Breeder() |
| Modifier and Type | Method and Description |
|---|---|
abstract Population |
breedPopulation(EvolutionState state)
Breeds state.population, returning a new population.
|
public abstract Population breedPopulation(EvolutionState state)
Copyright © 2014 Evolutionary Computation Laboratory at George Mason University. All rights reserved.