main menu
browse the gallery of student projects (select TAG or YEAR) or the archive of animations
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
files
The NCCA is delighted to announce the launch of a brand new course for the 2018/19 academic year. ...
Posted By: Chris Williams Date: 17/08/17 Read More...
The annual Tech Nation survey quantifies the value and growth of the UK digital economy, in particular identifying sectors...
Posted By: Richard Southern Date: 22/03/17 Read More...
Hot on the heels of their win at AniFest 2016, Naughty Princess has won the best student animation award...
Posted By: Richard Southern Date: 06/03/17 Read More...