Please
read these notes carefully: they contain important information regarding
this course, including assignment and assessment details, and what you
need to achieve in order to pass the subject.
|
This module introduces the field of evolutionary computing (EC) and looks at how evolutionary processes can be used in simulation and synthesis from the perspectives of machine learning, artificial life, and scientific modelling. Topics covered include: the main 'dialects' of EC: genetic algorithms, evolutionary strategies and genetic programming; discrete artificial life models of evolutionary dynamics; learning classifier systems; simulation of adaptive behaviour in artificial systems; simple ecosystem models; developmental models and artificial embryology. Algorithms discussed in this unit can be applied to a wide range of problem areas suited to 'natural computing' methods, in addition to simulation and synthesis applications.
This is an honours level Computer Science unit, therefore you are expected to be familiar with basic topics in Computer Science, e.g. fundamental algorithms and data structures, machine representation and formal analysis. Some basic mathematical knowledge is also required: calculus, discrete mathematics, probability and statistics.
The practical aspects of this module require basic programming skills including the ability to write structured programs and the use of build management and debugging tools, preferably in a UNIX-like environment.
No previous knowledge of evolutionary theory or biology is necessary.
Recommended Texts:
Eiben, A.E. and J.E. Smith, Introduction to Evolutionary Computing, Springer, Berlin 2003.
Luke, Sean, Essentials of Metaheuristics, Lulu, 2009. (download here)
Other general texts of interest:
Maynard-Smith, J. & E. Szathmáry, The Major Transitions in Evolution, W.H. Freeman, New York, 1995.
Mitchell, M., An Introduction to Genetic Algorithms, MIT Press, Boston, Mass. 2002.
Engelbrecht, A.P., Computational Intelligence: an introduction, John Wiley & Sons, Chichester, England 2002.
A number of books and papers will be provided related to specific topics. See the individual lecture notes for these.
All assignments to be completed on Linux or UNIX variants (Mac OS X acceptable), using any modern programming language (C++, Java, Python).
Lectures | Topic | Eiben & Smith Reference |
1–2 | Course Overview. Introduction to evolutionary theory and the evolutionary
computing metaphor. Basic overview of Darwinian evolution and Genetics. Why
use EC? |
Chapter 1 |
3-4 | Introduction to Evolutionary Algorithms and their major components: representation,
fitness evaluation functions, populations, parent selection, variation
operators, replacement mechanisms. |
Chapter 2 |
5 | Genetic Algorithms: examples, representation issues, mutation and recombination
operators, population models, parent selection, survivor selection |
Chapter 3 |
7-8 | Interactive evolution: fitness criteria for creative problems. Ecosystem
simulations. |
Chapter 13 |
9-10 | Learning Classifier Systems (LCS). LCS Algorithm, ZCS ("Zeroth-Level")
and XCS algorithms. Anticipatory LCS as a hybrid model of XCS and Q-learning |
Chapter 7 |
11 | Spatial distribution, Island Models, diffusion models. Co-evolutionary models. | |
12 | Developmental Models, Artificial Embryology. Open Problems in EC. |
Two assignments, 100% in total (no exam), worth 50% of your final mark for this unit:
See the assessment page for the assignment sheets.
It is important that your solutions to the assignment questions be your
own work. It is perfectly acceptable to seek help and advice when completing
the assignments, but this must not be taken to the point where what is
submitted
is in part someone else's work.
Please note that, since the assignments are used in assessing your final
grade in this unit, the Faculty policy on Cheating applies. In addition,
the following
School policy applies.
" The assignments set in this unit are designed primarily as learning exercises, but they also contribute to your final grade. Copying of other student's assignment solutions is unacceptable.
All students have a responsibility to ensure that their assignment solutions are their own work. You must ensure that others do not obtain access to your solutions for the purpose of copying a part of them. Where such plagiarism is detected, both of the assignments involved will receive no marks.
In
significant cases of plagiarism, action may be taken against the offenders
under the University's disciplinary regulations."
In addition, plagiarism includes copying of information found on the internet (including source code).
The lecturer for this unit is A/Prof.
Jon McCormack, CA(Bldg. H), Room 7.35
email: Jon . McCormack AT monash . edu
Phone: x32187 (9903.2187 outside Monash)
There are no set consultation hours, please email for a mutually convenient time if you require consultation for this unit.