Thursday 11 November 2010

My research

Now I'm back in the zone of academia* at least few people have asked me what my research is about, and my usual response leaves them looking confused to the extent that "something to do with computers" is the back up of choice. Part of this is because of the beauty of researching, it's always changing and based on what you learn one day you might end up going in a different direction the next. So it's quite often the case that I'm not even that sure what I'm doing! Anyhow, I'll try giving a brief summary of what I'm interested in and hopefully it won't go too far over your head. 

In short, I develop computer programs that learn and solve real-world problems. Now for the slightly longer version...

I talk a fair bit about algorithms. I always thought these should be environmental in some way what with their similar naming to a man who was elected (well, kind of) US President a decade or so ago. In simple terms these are just templates for computer programs - the sets of instructions that tell a computer what to do.

The broad field I work in is computational intelligence - this includes algorithms which use randomness and learning techniques which are often derived from nature. A couple of the more well-known are artificial neural networks (based on how brains work) and fuzzy systems.

My specific area is evolutionary computation including genetic algorithms; algorithms which develop solutions to problems in much the same way as Darwin proposed that living beings evolve to suit their environment. (there's a good debate on how that fits in with my faith which I might elaborate on at some point) The idea is that you start by generating a "population" of random solutions to some problem. You then pick the good ones (natural selection/survival of the fittest) and mix them up in some way (breeding, with occasional random mutations). You then repeat and gradually the members of the population get closer to the best solution for the problem.

The great thing is that the technique is applicable to lots of different real-world problems. The first problem I looked at was cancer chemotherapy scheduling - finding a set of drug levels and treatment times that kills the cancer without harming the patient. Since then I've looked at a lot of different problems, from dry stuff like generating timetables to when best to treat mushrooms for insect attacks! I've also spent a lot of my time looking at how you can improve the operation of these algorithms, in particular using probabilities, but that more or less constitutes my PhD thesis so there's not room for that here.

The project I'm working on right now uses evolution to generate sets of building designs which balance the tradeoffs between energy use, costs, and comfort for the people in them. That's how I can be a computer scientist in a Civil & Building Engineering department.

All in all there are probably only a few thousand people around the world doing research in this area, and by the time you get very specific about the things I'm interested in it comes down to hundreds if not tens of others. So it's pretty exciting to think I'm doing work nobody has ever done before, contributing to the worldwide body of knowledge

I hope that explains well enough what I do, if you'd like to know more I'm happy to answer questions though it might be hard to stop me talking once I've started - I also have some pretty pictures to look at if you'd prefer them :)

* Zone of Academia: this is somewhere between the District of Non-Determinism and the Zone of Transquility, down the road from the Precinct of Procrastination.

1 comment:

  1. Timetables could be extremely useful for shift workers. Just ask anyone who's made the rota up how dry the discussions are.

    Keep up the good work Dr Brownlee.