Research Projects
Research Projects
School of Computer Science and Software Engineering
Nature has proven to be a remarkable problem solver. From multiresistant superbugs to ever more inventive humans, the mechanisms of construction, adaptation, learning and co-operative behaviour found in nature have solved a vast array of problems in challenging environments.
Natural Computation, also known as Nature-inspired Computation or Computational Intelligence, is the field of computing that draws from the successes of natural systems to develop new ways of solving computational problems in the real world.
The sources of inspiration for natural computation systems come from a number of closely related areas. Four of the main areas are outlined below. Projects are available in these areas at Phd, Masters and Honours level. Examples of previous projects have been included to indicate the range of topics and applications to which the techniques have been applied.
Students undertaking these projects will join the Adaptive Systems Research Group.

Genes and chromosomes contain the blueprint for nature's designs. Evolution - through adaptation and natural selection - provides a mechanism for reusing good designs and improving performance.
Evolutionary techniques, in guises such as genetic algorithms, evolutionary algorithms, evolutionary computation and differential evolution, have been used to solve a wide range of problems in design and optimisation.
Projects we have conducted locally using evolution include:
-Developing fractal landscapes for benchmarking evolutionary (and allied) algorithms.
-Developing a statistical methodology for examining the impact of parameters in genetic algorithms.
-Evolving neural networks (neuro-evolution).
-Evolving tactics for artificial soccer players.
-Designing torpedo tracks for the submarine industry.
-Evolutionary approaches to adaptive planning.
-Genetic algorithms for sequencing DNA from sequencing by hybridisation experimental data.
-Finding test sequences for identifying logical errors in Java programs.
-Using evolutionary search techniques for finding features in visual images.
-Developing genetic algorithms for solving the travelling salesman problem (TSP).
-Learning to compose music in the style of Bartok.
Development - "wiring up the components"
While genes encode the building blocks for an organism, the way that the organism develops depends upon both its internal and external environment. The human brain, for example, continues to develop its "hardware" until at least the 20s, and there is evidence to suggest it retains its plasticity for much longer.
The way that an organism develops from its genetic blueprint and the factors that control it are still not well understood, and of our four examples this has had the least transfer to practical systems.
Projects we have conducted locally include:
-Investigating models of topographic map formation between the retina and optic tectum.
Learning - "training the software"
While an organism is born and develops with many raw capabilities, it is through many interactions with the environment that it learns to use these capabilities. We have all seen this in our own experience, from the small child learning not to touch a hot stove, through to the many hours of training that lead to the expertise of a tennis professional or Chess grandmaster.
In the early days of computing it was often stated that computers could never exhibit "intelligence" because they could only carry out tasks that their programmers had anticipated and pre-programmed solutions for. The field of machine learning has shown that programs are able to develop competencies far greater than those of their programmers, and is one the most exciting areas for the future potential of computing.
Projects we have conducted locally include:
-Learning to identify intention in natural language dialogue.
-Investigating state representation and transition limitations for using recurrent neural networks (RNNs) as memory elements.
-Statistically guided neural network construction for spatio-temporal prediction.
-Learning to tag parts of speech using case-based reasoning.
-Applying computational learning theory (CLT) to planner induction.
-Reinforcement learning in high-dimensional state spaces.
-Applying machine learning to the game of Go.
-Learning to compose music in the style of Bartok.
-Reinforcement learning in small mobile robots.
Social Co-operation - "the whole is greater than the sum of the parts"
The success of many organisms relies not just on each individual's capabilities, but rather on the co-operative behaviour or complex social interactions of the group. This allows problems to be solved that could not be solved by any single individual. Well-known examples include ants, bees, fish and, of course, humans.
The ideas behind social co-operation have led to algorithms such as particle swarm optimisation (PSO) and ant colony optimisation (ACO) .
Projects we have conducted locally include:
-Investigating the convergence properties of PSO algorithms.
-Using PSO to search for weights in Recurrent Neural Networks.
Previous years honours project suggestions can be found at here.
Natural Computation
Copyright © 2007 Cara MacNish
School of Computer Science & Software Engineering
The University of Western Australia