browse the gallery of student projects (select TAG or YEAR) or the archive of animations

View By Tag

...
Back to gallery

A Report on Machine Learning and Genetic Programming Techniques, and their Potential in Evolving Behavioural Animation Systems

View all projects

By Graham Brooks

abstract

My research for this unit is on the subject of Machine Learning, a topic which greatly interests me. Last year, my house-mate mentioned to me that on his course, they had been touching upon the idea that computer programs could, perhaps, write themselves (!). Computer programs that write other programs? Surely not, I hear you ask. Well, that’s what I said to myself too, but for this year’s Innovations project I decided that I would like to know what can be done, and maybe find out if computers really could do something extraordinary, like write their own programs. My initial research led me to various interesting theses, dissertations, publications and documents, detailing a wide and wonderful collection of things that computers have already been found to be capable of. However, one area eventually seemed to appeal to me, given a background in Computer Graphics, and also a limited background in computer programming; Behavioural Animation Systems.
A project that I undertook last year involved the creation of a behavioural system which simulated the flocking/schooling characteristics of fish. I based the behaviours exhibited in the program on the Boids Algorithm (Reynolds, C. W., 1987), which describes a programming solution to the problem of entities in a flock detecting, and reacting to other members of the same flock around them. My implementation of this algorithm resulted in a convincing, if flawed, simulation of fish schooling. I wanted, as part of this unit, to discover ways of improving the fish schooling program that I had made using an innovative technique of some sort, which would optimize the behaviour of the fish.

 

It was about at this stage of my research that I came across the idea of Machine Learning. This is a rather broad term which covers many different techniques, although the basic principal is the same: a computer program can learn, better ways of carrying out a task. This in turn makes the assumption that the computer program knows what the task is, and more importantly, what better is. If a program is provided with a task, a method by which it can judge its performance at that task, and a method for testing itself, it may, in fact, learn to optimise its performance at that task. When I learnt of this, I was excited by the possibility that, perhaps, a behavioural system could teach itself to behave more realistically. Literally evolve into a better, more realistic flock! This is the subject of my research as detailed in this essay; the implementation of a learning algorithm to optimise the performance of a behavioural animation system. The essay is also a survey of current techniques, documenting the course of my research into machine learning and genetic algorithms. Ultimately, I am aiming to answer the question of whether it is possible to apply Genetic Algorithmic learning to a behavioural system in order to improve the aesthetic behaviour of a flock or school.

files

InnovationsEssay.pdf

files

InnovationsEssay1.pdf

Year

The NCCA is delighted to announce the launch of a brand new course for the 2018/19 academic year.  ...

The annual Tech Nation survey quantifies the value and growth of the UK digital economy, in particular identifying sectors...

Hot on the heels of their win at AniFest 2016, Naughty Princess has won the best student animation award...