top bar graphic
fscked.co.uk logo

Artificial Life

  

For the third year of my degree (commencing October 2000), I will be doing a dissertation on Artificial Life.

The details of the project aren't set yet, but it will involve building an artificial life system, probably using C++. I'll then use the system to investigate either the relative benefits of Darwinian versus Lamarckian evolution, or co-evolution of predator-pray pairings.

The basic structure of the system will be a two-dimensional world populated by basic creatures. The creatures will be modelled by a simple genetics structure; one idea I am toying with is to give each creature several statistics (vision range, food consumption rate, strength, speed) based on their genetic code. The evolutionary process can then lead to tradeoffs between the characteristics.

Update, Christmas 2000

I have now completed an interim report on all this stuff, detailing what I'm trying to do and how I'm proposing to do it. You can download it here if you are really that bored. Note the fonts are a bit off on Windows machines; I'll fix that one day. I have also finished a fairly complete Perl prototype of my system; you can find here over by here.


Update (27/04/01)

The project has now been completed. You can see the Computer Science report, which covers the code overview, or the Physics report, which covers experiments made with the system.

The source code is kinda tricky. The main program can be seen as a PDF. However, I then went mad and made lots of modifications. I would like to clean all this up at some point, but in the meantime, in case anyone wants it, you can email me.



Darwinian evolution

In brief, Darwinian evolution consists of the theory that all beings have certain traits and that these traits are passed on to their young. However, in the process of passing those traits on some of them can be changed - mutated - at random. If the traits are of a net benefit to the offspring then the offspring thrives and the new mutations are passed on to the next generation. This second part of the overall process is called natural selection.

Overall, the organism gradually adapts further and further to it's environment.

Lamarckian evolution

Lamarckian evolution was a theory invented by (unsurprisingly) Lamarck. It consists of the idea that new offspring can inherit acquired traits from their parents. For example, an adult giraffe stretches it's neck to reach the top branches; over time, it's neck is stretched further and further. Under Lamarckian evolution, this long neck is passed on to the offspring, even though it was acquired by the parent and not inherited from the grandparents.

This runs counter to Darwinian evolution, where the children can only have longer necks through random mutations; it is also disproved as a biological theory. However, it does have applications in social evolution, where acquiesition of acquired characteristics does take place.

More info can be found here.