Natural Computation
Genetic algorithms, used to quickly find approximate solutions in search and optimization problems, are probably the most well known form of natural computation. Inspired by genetics, the idea behind them is relatively simple: you represent solutions by strings of parameters (genomes), which are ranked according to fitness (where fitness measures how good the solution is). Selected genomes - a set biased towards but not exclusively made up of those genomes with the highest fitness - then "breed" to produce a new generation of solutions. Breeding involves recombining the parents to produce child solutions whose genome contains a mix of both parents genetic material. Each generation a small amount of mutation will also take place, with parameters randomly changed in some children. In theory, the overall fitness of each generation gradually improves until you end up with a set of good solutions to your problem. GAs are commonly used to solve timetabling problems, amongst other things.
Artificial immune systems are based loosely on the human immune system, which has all sorts of properties that software engineers like:
The immune system is highly distributed, highly adaptive, self-organizing in nature, maintains a memory of past encounters and has the ability to continually learn about new encounters.AIS research has been applied mostly to feature selection and change or anomaly detection for the last fifteen years - probably because it's an easy metaphor to understand if you're, say, interested in detecting viruses on a computer network. Jason Brownlee at the Swinburne University of Technology has some papers on the subject and a Weka implementation, if you're interested in learning more.
Finally, swarm intelligence leverages the sort of swarm behavior you see in nature - ant colonies, flocks of birds, herds of wildebeest and so on - where complex global behavior emerges from the interactions of many simple agents interacting locally with one another and with the environment. Ant Colony Optimization is one popular swarm intelligence algorithm, capable of quickly finding good paths through complex graphs (like the Traveling Salesman problem). ACO works by simulating "ants" walking randomly through the graph. Ants start off at the colony - the start point - and wander around until they find food - the desired end point. They then return to the colony while laying down a pheromone trail, which evaporates over time. If other wandering ants come across a pheromone trail they are likely to follow it to the end point instead of taking a random path through the graph, depending on how strong the pheromone density is. Shorter paths are more likely to have dense pheromone trails and positive feedback eventually leads to all of the ants following the same short path.
Apparently swarm intelligence is relatively popular in the bioinformatics machine learning community (though I can't think of any papers which refer to it: possibly because AI researchers don't publish in genetics journals)...
Anonymous
Anonymous
Anonymous
Anonymous
. This post has trackbacks.
