Room: 113
I am happy to supervise any projects in the general area of natural computation (neural networks, evolutionary computation, particle swarm optimization, and such like). Generally, projects in this area can be quite mathematical, and are usually only feasible if you have already taken, or are planning to take, a relevant course/module.
Students with specific or vague project ideas of their own in these areas are welcome to talk to me about them, or I can offer suggestions to students who only have a general interest in a particular area. Some specific project areas, in which I have particular interests, are outlined below.
I do all my own programming in C and C++, but am willing to supervise students who prefer to work in other languages (e.g., Java, MATLAB). It is important to realise, however, that many potential neural network and evolutionary computation projects will require considerable compute time, and this may be problematic if languages significantly less efficient than C are used.
These potential projects are real research projects, but contain a large programming component. There will be opportunities for good students to end up with work worthy of publication in a conference proceedings.
Neural Network Applications
Neural Networks can be applied to a wide range of classification and regression problems. If you have a particular application area in mind, it will make an interesting project to determine an appropriate neural network approach (e.g. Multi-Layer Perceptron, Radial Basis Function Network, Kohonen Network) and build a working system based on it. Alternatively, you could attempt to build models of particular human psychological/cognitive abilities.
Evolution of Complex Structures
Evolutionary computation has been used to design many types of structure, ranging from sculptures of artistic merit, high performance turbine blades, to efficient electronic circuit layouts. Projects in many application areas are possible. A particularly interesting challenge is to evolve systems that grow, and can repair themselves when damaged, in the manner of biological systems.
Evolving Neural Networks
A big advantage that human brains have over artificial neural networks is that they have emerged as a result of evolution by natural selection to be particularly good at what they do. Modern computers are now powerful enough to implement an evolutionary process for artificial neural networks to produce systems that are far superior to those formulated by human researchers. There is much scope for using this approach to optimize all types of artificial neural network systems, and to better understand the evolution of biological neural networks.
Ensembles / Committee Machines
Often, ensembles or committees of models (such as neural networks) can work better than individual models on certain types of problem. There is scope for building systems to explore when, why and how this works. This could involve developing new algorithms for old problems, or testing old algorithms on new problems, or both.
Artificial Life
The field of Artificial Life covers all aspects of creating computer systems that mimic biological lifeforms, from the evolution of intelligent agents, through to the simulation of social interactions. Surprisingly complex behaviours can emerge from very simple systems. A range of projects are possible in this area.
Particle Swarm Optimization
This is a form of search algorithm based on a population of 'particles' swarming through parameter space in the manner of a flock of birds. There are a number of general aspects of this approach that could usefully be explored by explicit computer simulation, or it could be applied to particular application areas.
Time Series Prediction / Computer Aided Gambling
Can machine learning techniques like neural networks and evolutionary computation be used to predict share prices, currency exchange rates, and so on? Can they predict odds better than bookmakers for horse races, football matches, snooker tournaments, and so on? Could they produce efficient strategies for playing online poker? Id be surprised if a student could develop a system that was able to consistently make money in this way, but I would be willing to supervise students with sensible ideas in this area. There is also plenty of scope for more general explorations in time series prediction which will not require you to have studied a particular application area, and for applications that do not constitute gambling.