« first  « prev 

Jump to:

Conclusions and Downloads

In conclusion, this section reiterates the key points from the article. A set of downloads can be found at the bottom of the page.

Evolutionary Algorithms are a problem solving method based on natural selection. A population of individuals is subjected to environmental pressures which guide it towards a solution.

EAs are a Guided Random Process, their random nature gives them the ability to fully explore the search space and the guiding influence of the fitness function and breeding process ensures that they head towards a good solution.

EAs are a probabilistic technique (i.e. they are guided by probability) thus, we can ensure that given infinite time an EA will find the best solution to a problem (provided we've implemented the mutation and crossover schemes correctly!). In practice this time is far less than infinite and generally much less than can be achieved by more conventional methods, such as hill climbing and the like.

This article has detailed a simple component based framework for developing EAs to solve problems. Components were designed with the aim of separating functionality from data structures, thus allowing the EA to be applied to any problem which can be appropriately represented. Heavy use was made of the Strategy design pattern - which is described fully in the famous Design Patterns book by the so called Gang of Four (Gamma, Helm, Johnson and Vlissides).


Source code is made available below. You are free to use and modify this as you wish, but I do request that any enhancements, bug-fixes, alterations and suchlike be reported to me by email. I would also be very interested to hear about the application of the code - in it's current or a modified form - to your own problems, be they commercial or just for fun!

Eafiles.zip: Complete source for the component package and two example programs (including the TSP). You will need to install the package before doing anything with the programs themselves.

ProjectGA1.exe: The Traveling Salesman application.

ProjectGA2.exe: The (rather noddy) Thief's Knapsack problem solver - another simple example of EAs at work.

Please note that you download and use these files at your own risk. Neither my employers nor myself take any responsibility for damage caused by the use of materials presented here.

2. Contacts

I would appreciate feedback, suggestions, comments and the like via email on dan@logicalgenetics.com or via the LG Forums (logicalgenetics.com/forums/).

« first  « prev 

Jump to: