This page contains downloads and errata relating to my PhD thesis, completed in 2012.
Any questions or feedback can be sent to my email address shown here.
Disambiguating Evolutionary Algorithms: Composition and Communication with ESDL
Full PDF (4.1MB, 345 pages)
Evolutionary Computation (EC) has been developing as a field for many years. Encompassing a range of intelligent and adaptive search, optimisation and decision-making algorithms, there is a wealth of potential for EC to be applied to problems in many domains. People who are new to the field may want to learn, understand or apply EC, while those who are more experienced are looking to extend, develop and teach. Unfortunately, it is not clear how best to approach these tasks. Ideally, students should have guidance through the field, including how EC works and approaches to algorithm design; researchers should have canonical structures, implementations, presentation formats and comparison frameworks; developers should have easy access to interested users, as well as the potential to differentiate their work in terms of performance, flexibility and aesthetics.
This thesis provides a model of the structure of Evolutionary Algorithms (EAs) based on operator composition. A small number of discrete element types and their interactions are defined, forming an algorithm architecture that supports existing concepts and provides direction for those looking to understand, use and improve EAs. A simple description language based on these elements is created to support communication between authors, readers, designers and software. Implementation concerns, ideas and potential are discussed to assist those with an interest in developing the simulation tools and frameworks used within the field. The model and description language are shown to concisely and unambiguously describe EAs in a directly publishable form.
- AMO_2012_04_07.zip (39KB)
esecconfiguration and results for the Angry Mob Optimisation algorithm from Chapter 5
- Comparison_Code_2012_04_07.zip (50KB) Code files from Chapter 6/Appendix F
- ECJ_2012_04_07.zip (10KB) Parameter and source files for ECJ from Chapter 6/Appendix F
- FakeEALib_2012_04_07.zip (29KB) Visual Studio 2010 project for FakeEALib from Chapter 6
- esec, the ESDL-based framework shown in Chapter 6 and Appendix E.
- esdlc, the ESDL compiler used in
esecand shown in appendices C and D.
- esecui, the graphical front-end for
esecmentioned in Appendix E.
- Python, the programming language used by
esecand examples throughout.
- Visual Studio 11, required for the C++ AMP support described in Appendix D
- ECJ, reviewed in Chapter 5 and used in Chapter 6.
- HeuristicLab, reviewed in Chapter 5.