A generic genetic algorithm toolkit for Ada 95
This is my senior honours project completed for 28th of April 1997. Little has been changed for this online with the exception of a dynamic Java demonstration applet to provide a demonstration of genetic algorithms. Printable version of the project are available, both complete and separately for report and appendices.
Many thanks to Bill Findlay for suggesting the topic in the first place and providing guidance throughout the project. Thanks to Cordelia Hall from whom I borrowed the violin music notation example and who provided me with test data. And finally to my father for accidentally getting me interested in the whole concept of artificial life and genetic algorithms.
There are many computationally hard problems to which no algorithm exist that can find an optimal solution in a reasonable time. Genetic algorithms offer a shortcut, able to produce good but not perfect results much faster. They are based on the principles of natural evolution and use selective breeding on a population of potential solutions to gradually derive more successful solutions. Designing the best algorithm for the job is difficult because of the wide variety of possible variations. This paper presents a genetic algorithm toolkit which provides a library of components which can be connected together to form many basic algorithms and then customised for any particular problem.
Here is some material which was not presented with the project: