Genetic algorithm implementations, still need to sane some bugs.