Riccardo Poli, School of Computer Science, The University of Birmingham
In this informal seminar/tutorial I will describe the new features I have recently introduced in my genetic programming system in Pop11. These include:
The seminar/tutorial has the following aims:
If you don't know my GP system you might find the seminar too technical, particularly as I will probably NOT be able to show examples on a computer (LR7 is unavailable), unless we move into a lab after a while.
Xin Yao, University of New South Wales
This talk first introduces an evolutionary system for designing artificial neural networks (ANNs) automatically. ANN architectures (connectivities) and weights are evolved simultaneously. Behavioural rather than genetic evolution is emphasised. Then it is argued that learning is different from optimisation in practice. Population information can be exploited effectively to improve ANN's generalisation. Experimental results show that a combined population of ANNs performs better than the single best ANN. In order to improve a combined population (i.e., an ensemble) of ANNs further, a new learning algorithm is proposed to design individual ANNs cooperatively and simultaneously.
Wolfgang Banzhaf, Dortmund
Genetic Programming has been originally suggested in a tree-based program representation. In this talk I discuss our approach to GP using elements from imparative languages. Specifically, I will talk about the machine language approach to GP. As it turns out there are advantages to linear GP with respect to the problem of code-growth and bloat that has been uncovered over the years. The talk concludes with the discussion of some recent applications of GP in our lab.
GP-Music: An Interactive Genetic Programming System for Music Generation with Automated Fitness Raters
Both automatic and computer assisted music composition have been a topic of research for many years. Typical approaches have been to analyze how humans compose music, and create computer programs which mimic these techniques. Randomization parameters has been used to try and make the pieces appear more creative. In this talk I will present a system for computer assisted music composition called the GP-Music System. It uses genetic programming to evolve short melodic note sequences. Using a simple function set, random musical sequences are created, and then evolved over a series of generations. The user of the program serves as the fitness function to determine which sequences are most likely to propagate from one generation to the next. The user interactive system was used to evolve several short sequences, each derived from slightly different function sets and genetic programming parameters.
The system also has a method for automatic rating of melodies. This is accomplished by automated fitness raters, or auto-raters, which are neural networks with shared weights. The auto-raters are trained using back propagation on a training set composed of sequences and their human assigned ratings generated during human interactive runs of the GP-Music System. Two types of auto-rater were created, one which assigns a ranking, and another which indicates which of two sequences is better. The 'ranking' auto-rater was able get within 7% of the human rating, while the 'comparative' auto rater at best achieved a 60% accuracy in predicting which of two melodies the user preferred. Using the 'ranking' auto-rater we were able to make runs of up to 50 generations with 500 individuals per generation. The best of run pieces generated were pleasant but were not, in general, as nice as those generated in user interactive runs.
Unnatural Selection: Fitness, Fertility and Fecundity in Evolutionary Algorithms
Evolutionary algorithms (EAs) are just one class of population based search search techniques. Their only link with biological evolution is by metaphor, and since the most well known form of biological evolution is Darwin's 'Natural Selection', EAs are often seen as being examples of 'natural selection' (e.g. Koza's "Programming Computers by Means of Natural Selection").
This talk challenges the use of natural selection as a metaphor for EAs. Biological evolution is broader than pure natural selection, and I will argue that by not understanding the distinction we may miss important properties of EAs. Genetic algorithms have more in common with biological artificial selection, and this may be a more fruitful metaphor to pursue.
This distinction is not a trivial change of terminology, however. I will show that biological studies separate the two 'modes' of evolution for a good reason. By doing the same we can see that the 'fitness' function at the heart of EAs may be unpacked into three distinct quantities; aptness, fertility and fecundity. These may help us understand more about the dynamics of this search, and other population search methods.
Riccardo Poli, School of Computer Science, The University of Birmingham
CPUs are often seen as sequential, however they have a high degree of internal parallelism, typically operating on 32 or 64 bits simultaneously. In this talk I will present the idea of exploiting this internal parallelism to extend the scope of genetic programming (GP) and improve its efficiency. We call the resulting form of GP sub-machine-code GP. The differences between sub-machine-code GP and the usual form of GP are purely semantic and largely language independent, i.e. any GP system can potentially be used to do sub-machine code GP. In the talk I will present this form of GP and some of its applications. The speed up obtained with this technique on Boolean classification problems is nearly 2 orders of magnitude. To illustrate this, in the talk I will run a simple GP system in C implementing this technique, and show how this solves the Even-10 parity problem in seconds. This makes it the fastest GP system in the world.
Evolvability and evolutionary measures
Understanding the characteristics of evolutionary systems that result in their evolution is central to the design of new and more efficient evolutionary algorithms. Such characteristics have often been grouped under the heading of evolvability. Evolvability has been studied both in the context of biology and of evolutionary computation. I review ideas of evolvability from the perspective of a biological view of evolution, but with application to evolutionary computation and Artificial Life. Studying natural and artificial evolution can tell us about evolvability, and also shows that we need to measure evolutionary phenomena in order to compare different evolutionary systems. I discuss possible measures of important evolutionary phenomena, and what these tell us about evolvability. I then go on to present results from the application of several evolutionary measures to evolutionary algorithms used for information retrieval.
A Threefold Decomposition of GA Problem Difficulty and Its Core
The design of competent genetic algorithms -- GAs that solve hard problems quickly, reliably, and accurately -- requires a working knowledge of those dimensions of problem difficulty that can thwart the operation of well designed GAs. Unfortunately, most discussions of GA problem difficulty center around a single dimension such as isolatedness, noise, or deception without going on to integrate the dimensions into a more complete theory. This talk outlines a more complete theory of GA problem difficulty by first generalizing the notion of a building block (BB) to include explicit reference to sequence, superiority, and context. Thereafter, the talk decomposes the problem difficulty question into three parts: intra-BB difficulty, inter-BB difficulty, and extra-BB difficulty. A difficulty core including deception, noise, and scaling difficulty is then outlined, and an argument is made that shows how the three types of inter-BB epistasis map back to the core. This argument suggests that any GA that can solve problems of bounded deception, scale, and noise, can solve problems that can be adequately modeled with the notion of a sequentially superior building block of a solution. The argument is then extended by relaxing to non-inferior BBs, and this leads to explicit consideration of the problem of degeneracy and a new archetypal problem the tobacco road function. These kinds of problems offer new, but not insurmountable, challenges for competent GA design, and the talk concludes by outlining approaches that might be adopted to overcome these difficulties.