Matthew Egbert
m.egbert@auckland.ac.nz
https://en.wikipedia.org/wiki/Oregonator
http://www.scholarpedia.org/article/Oregonator
Many systems of interest are extremely complex, involving many components, involved in complex forms of feedback, etc.
And this leads to some serious challenges!
Lots of work to be done here, and progress continues to be made.
Hypothesis: "Effective motion is not purely the performance of a computer-like brain, but is enabled by the physical properties of the body and how it interacts with the world."
How much can a brainless body do?
Compared to humans, very simple and easy to study.
I will now present a few examples of "classic" A-Life investigations that centre on computational models.
Part of my goal is to communicate that developing and studying artificial systems
http://gencept.com/the-coordinated-beauty-of-thousands-of-birds-moving-in-sync
Images taken from Craig Reynold's website. http://www.red3d.com/cwr/boids/
Boids change their behaviour in response to the position and velocity of other, nearby boids.
The neighborhood is parameterized by:
Images taken from Craig Reynold's website. http://www.red3d.com/cwr/boids/
Steer to avoid being too close to flock-mates -- collision avoidance.
Accelerate away from each flock-mate at rate inversely proportional to proximity. i.e. the closer you are to a flock-mate, the more you accelerate away from that flock-mate.
Images taken from Craig Reynold's website. http://www.red3d.com/cwr/boids/
Steer toward the average heading of local flock-mates.
Calculate the mean velocity of all flock-mates. Update velocity to be a little bit more similar to that value.
Images taken from Craig Reynold's website. http://www.red3d.com/cwr/boids/
Move toward the average position of local flock-mates.
Calculate the mean position of flock-mates and accelerate toward that position.
DEMO:
Images taken from Craig Reynold's website. http://www.red3d.com/cwr/boids/
Prediction
We cannot use the model to precisely predict the real-world system.
(Although there may be some qualitative predictions that could be made.) But ...
Sufficiency Proof
The three simple rules are sufficient for this kind of system to display
the complex kind of swarming that we witness in Nature. "Life-like" complex (but not random) behaviour.
This is an example of ...
Emergence
Complex, yet organized global behavior can arise from the interaction of simple local rules.
How do you design a simple set of rules to produce a desired collective behaviour?
Biology
Insight into group and social dynamics (e.g. ants and termites).
Engineering
How can you get a swarm of robots to perform a particular collective behaviour?
Termites rush to a damaged area of the nest.
U.S. Department of Agriculture
(taken by Scott Bauer)
Damage to a nest of Formosan subterranean termites brings hoards of workers
and soldiers with dark, oval shaped heads scrambling to repair the hole.
CC BY 2.0
Entertainment
Computer animation and games
Whenever you have ...
Over many generations, the population will evolve, to contain individuals that are increasingly capable of consistently producing offspring in that environment.
Slides heavily influenced by lectures given by Inman Harvey at University of Sussex http://users.sussex.ac.uk/~inmanh
http://ngm.nationalgeographic.com/ngm/photo-contest/2012/entries/195801/view/
Breeding is one example of an artificial kind of evolution, where people impose artificial selection pressures.
Part of the idea is to harness the "creative power" of evolution.
You select for what you want (e.g. by allowing certain cattle to breed) and hopefully(!) the evolution finds a solution.
Evolving a paper airplane:
In biology fitness is (roughly speaking) the likelihood of an individual to procreate before it dies.
In artificial evolution, the fitness of an individual is how good it is at what you want it to do.
An individual that has high fitness is one that is good at the task you are trying to evolve a solution for.
In Nature ...
Genotype: the genetic material, passed down from one generation to the next, undergoes mutation and recombination
Phenotype: what undergoes selection “what the genotype codes for”
We often have a similar divide in artificial evolution.
Genotype: A set of instructions for creating the phenotype. Passed down from one generation to the next, undergoes mutation and recombination.
Phenotype: What is evaluated for fitness.
We usually need both of these, because the thing that is easy to copy, mutate and recombine is not the thing that is evaluated for fitness.
for n times round generation loop,
## evaluate the current generation
## "fitness" = how well the individual performs the desired behaviour
evaluate the fitness for every individual in the population (of size 30);
## create the next generation
for 30 times,
pick 2 from parental pool (selecting preferentially the fitter ones);
recombine to make 1 offspring;
mutate the offspring;
end;
throw away parental generation and replace it with offspring;
end generation loop
for n times round generation loop,
## evaluate the current generation
## "fitness" = how well the individual performs the desired behaviour
evaluate the fitness for every individual in the population (of size 30);
How?
## create the next generation
for 30 times,
pick 2 from parental pool (selecting preferentially the fitter ones);
How?
recombine to make 1 offspring; How?
mutate the offspring; How?
end;
throw away parental generation and replace it with offspring; How?
end generation loop
By studying artificial evolution, we develop a better understanding of some of the processes underlying natural evolution.
Machine Learning
Getting the computer to do something it wasn't explicitly programmed to do. Pattern recognition, behaviour design.
"Create a black box that does X for me."
Engineering
Used to engineer complex non-linear systems that are hard to approach with conventional methods.
The 2006 NASA ST5 spacecraft antenna. This complicated shape was found by an evolutionary computer design program to create the best radiation pattern. https://en.wikipedia.org/wiki/Evolved_antenna
Lots of demos online ...
David Goldberg 1989, Genetic Algorithms in Search, Optimization and Machine Learning, Addison Wesley
Melanie Mitchell and Stephanie Forrest 1994, Genetic Algorithms and Artificial Life. Artificial Life, volume 1; 3 pp 267-289.
Melanie Mitchell 1998, An Intro to GAs, MIT Press
Z Michalewicz 1996, GAs + Data Structures = Evolution Programs, Springer Verlag
Karl Simms (1994) Evolved Virtual Creatures -- 4:09