Background - kribo852/DukeDarwin GitHub Wiki
The background for this project is that I experimented with genetic algorithms and discovered that I had to write a lot of code repetitiously. Genetic algorithms solves arbitrary problems by evolving an existing solution in small steps so that the result in each step is a solution that is as least as good as the solution in the previous step.
In order to use a genetic algorithm on a problem one needs a way to represent a solution, a way to test the fitness of the solution and a way to derive a new solution from an old one.
I at least felt that the representation of the solution and the evaluation of it was pretty much one time implementations per problem to solve. On the other hand, deriving new testable solutions from an old one can be done in a standardized manner given that the solutions can be ranked and mutated.