Archive for the ‘natural selection’ Tag

RCSU Science Challenge 2009

The Royal College of Science Challenge is an annual competition open to all students of Imperial College London, and something I’ve decided to enter this year. At the present time, the midnight deadline has just passed and I’ve just taken a huge sigh of relief… As is my habit with most things (writings or otherwise), I ended up not even starting work on the submission until the past Friday, which has indeed turned out to be a very unwise decision. Anyway, the good news for me is that I did finally manage to get the essay completed and uploaded at a panicky 11:53 pm. (At this point I half-expected MS Word/Firefox/Vista to crash spectacularly, but my fortune in fact held out for a crucial 15 minutes!)

Now to the contest itself. I should note that everyone, irrespective of year and department, was able to pick any one of the four proposed questions and then proceed to write a 800 word essay on the subject. A disheartening thought if considered for too, but something told me it was worth a shot anyway. My choice was the following (third) question:

Will Homo Sapiens continue to evolve? If so, how?

For those who don’t know, I am currently studying for a Physics here, and haven’t taken biology for several years now – so it may initially seem rather silly for me to ignore the others and tackle the least physics-based topic of them all. (In actual fact, it figured that I had far too much to say and the awfully low word limit was the source of much exasperation for me!) An interesting short article in the January issue of this year’s Scientific American had gotten my pondering the issue lightly before I even new of the contest, which is probably half the reason. Although I’m sure I could have done a decent job of one or two of the others (certainly the one on the LHC, I would think), I guess the open-ended scope of the evolution one caught my fancy at the moment. Enough said – I do at least feel pretty satisfied with the end result. In getting there, I must also mention the kind assistance of my friend David in repeatedly proof-reading it and making some quite insightful suggestions.

Without further ado, here is my entry.

Each year, the infamous Darwin awards are given out in order to “salute the improvement of the human genome by honoring those who accidentally remove themselves from it (1). This “award” is of course proclaiming to recognise those people who supposedly perform supreme acts of stupidity and thus assist the process of natural selection in the human race, first described by Charles Darwin in the 19th century. Behind this purely ironic prize is however a much deeper question: have we, as members of humanity, changed significantly over the recent past, and will we perhaps evolve into something quite different in the near or distant future?

It is commonly believed that our bodies have remained static from at least the time of the birth of civilization around 7,000 years ago. The greatest period of “recent” alteration occurred as the species branched off from those of other primates hundreds of thousands to millions of years ago. A recent study by American two universities[1], however, threatens to entirely reshape this perception of our evolution. It contends that a minimum of 7% of the human genome has changed over the past 5,000 years or so. These scientists even go as far as asserting that “humans have evolved as much as 100 times faster than any other time” (2).

One thing is agreed upon pretty much for sure: human evolution, however significant, will follow a radically path in our future than it has for most of our past. Firstly, it is generally believed that our brain size is not likely to increase anything like it has done in our early history. This is not to say that human behaviour will not be transformed – rather, it is considered one of the most probable of man’s characteristics to do so, thanks to the rapidly changing nature of society and growth of technology. Conceivably the most extraordinary course for our evolution to take is some form of symbiosis with machines. Even presently, human dependence on machines is immense. Economies, societies, and even many individuals require them merely to survive. Perhaps the merging of mind and machine is but the next step in a natural progression? Symbiosis, if chosen by most people, would likely add selection pressure towards purely functional behaviour. The thought of abandoning many of the pleasures of human life may be enough to prevent us from following this route, though it does not remove the prospect that one day our species might seriously consider it. The ultimate human stimulus for evolution may in fact be space travel: such a scattering of the species would be liable to produce great diversification and force adaptation.

Perhaps the most astounding change in the manner of our evolution will come as a result of human intelligence. We are now beginning to understand properly the process of evolution on both macroscopic and microscopic levels. The very fact that we are aware of such a process working upon ourselves is exceedingly likely to alter the “natural” course of evolution, maybe even unintentionally. Our efforts to perform artificial selection have already begun and are currently highly controversial issues (often in such guises of genetic engineering or “designer babies”). These ideas and associated fears are certainly not new; science fiction has long speculated on possible paths that we might take in our search for a “better world”. Aldous Huxley’s classic novel Brave New World, written in 1931, describes a future dystopian society where people are engineered to fulfil certain roles within society, reproduction being an entirely artificial, state-controlled operation. Somewhat differently, Frank Herbert’s Dune series explores a universe in which a powerful organization of women operates a long-term secretive breeding program that aims to produce a man with supreme mental capabilities. The common theme in these works is an important one; namely, that there must exist some relatively small group of individuals who possess the authority to direct the course of evolution and the workings of society. Indeed, we all know to where eugenics can lead. Now let us ask ourselves whether, as inherently fallible human beings, we can be trusted with this sort of power?

The future path of human evolution is an uncertain thing, to say the least. If modern research hints anything at what is to come, we should undoubtedly expect huge change. That we may soon have the opportunity, at least in part, to direct our own evolution, will make it especially unpredictable. Yet if we can make sensible decisions and learn to accept what it outside of our control, we may find ourselves transformed into something rather new and astonishing. After all, why should our species, one so devoted to expansion and improvement, suddenly remain static?

Bibliography

1. Darwin Awards. The Darwin Awards. [Online] [Cited: 28 2 2009.] http://www.darwinawards.com/darwin/.

2. What will become of Homo Sapiens? Ward, Peter. January 2009, Scientific American, Vol. 300, pp. 68-73.

3. Huxley, Aldous. Brave New World. London : Chatto and Windus, 1932. ISBN 0-06-080983-3.

4. Herbert, Frank. Dune. s.l. : Chilton Books, 1965.


[1] Teams headed by Henry C. Harpending at the University of Utah and John Hawks at the University of Wisconsin-Madison.

I now only await the news of the shortlist, with some little hope that few enough students of science would bothered to voluntarily enter an essay competition. (Yes, this is a purely unscientific hypothesis.) Regardless, it will soon be seen whether such expectation is in vain.

Evolutionary Algorithms

Genetic algorithms (or more generally evolutionary algorithms) is an aspect of programming that has interested me for quite a while now. The concept of using natural selection and simulating (in an abstract sense) the process of evolution of biological species with computational algorithms may not seem to useful upon first thought, but has in fact created a whole field of research in recent years. It turns out that genetic algorithms (GAs for short) are extremely useful and relatively efficient to throw at a problem about which you typically know quite little. (However. they are not terribly good at finding perfect solutions, which is why they are often used along with another late-stage optimisation algorithm.) They can be summarised as being essentially optimisation techniques that work in virtually any search space (though with varying degrees of success). Just to list a few examples of problems at which GAs tend to do well:

  • Travelling Salesman Problem
  • Model fitting and prediction (This is used with some degree of success to forecast stock markets.)
  • Evolving artificial neural networks (These two nature-inspired AI algorithms work together quite well indeed.)
  • Parameter/weight optimisation (in any system where there are large number of free parameters and complex inter-relationships)

I will point out the last one in particular, as it could potentially be used rather effectively with a game AI such as the Stratego one I am currently writing – more to come in a future post.

Unsurprisingly, many online articles have been written about evolutionary programming, ranging from basic introductions to scientific papers. If you’re curious about the topic and fancy learning a few things about it, I can recommend these articles, all written in plain understandable language:

  1. Genetic Algorithms Overview by Michael Skinner on Genetic Algorithms Warehouse/AI Depot
  2. Genetic Algorithms by Marek Obitko
  3. Genetic Algorithms in Plain English by Mat Buckland on AI-Junkie

Finally, to the main purpose of this post: I have recently finished coding the beta version of my Darwin.NET project and released it on Launchpad. It is a library for generic evolutionary algorithms, with direct support for genetic algorithms and also an extension for gene expression programming (GEP). The ideas presented for GEP are what initially inspired me to create this library. A comparatively recent idea (traditional GAs were first designed in the 1950s), it was originally proposed in a 2001 paper that can be found here, and is well worth the read. Despite being published for a scientific journal, it is surprisingly straightforward to comprehend and should offer anyone a good understanding of why GEP is so special (and a huge improvement over traditional GAs). The end part clearly details how it can be used to solve several complex problems – according to the author’s statistics, significantly (orders of magnitude) quicker than GAs.

Now, the library that I have just released provides reasonably complete implementations of both GAs and GEP, though I must point out that it has not been extensively tested. (There are currently only two samples included with the source code, though they ought to at least help you get started. Before I attempt to write crazy extensions like a GEP-based algorithm to evolve neural network structure, my priority is to write a few more samples as I gradually improve upon the library. Oh, and I’ll begin to write up some proper documentation too.) I would also be very glad to hear feedback of any sort about the library (here or on Launchpad), or even a simple note that you are using it for a project! Any overlooked bugs are the first things I would like to get resolved of course, but design and feature suggestions are equally welcome…