Genetic algorithm implementation. Possibly variety of options.