5. Origin
Evolutionary computation is inspired by the natural process of evolution
However, although it uses jargon from biological evolution, it is important to not focus too much on living organisms
5.1. Inspiration from Biology
The power of biological evolution is evident by the diversity of the living things on Earth
Environments are filled with populations of individuals that strive for persistence
Survival
Reproduction
The fitness of an individual is a measure of its ability to persist
The fitness is determined by the individual’s interactions with the environment and other individuals
Other individuals are often thought of as part of the environment
With evolutionary computation, populations of candidate solutions are evolved
The fitness of the candidate solution is a measure of how good it is at addressing the problem at hand
The candidate solutions’ fitness dictates its probability of survival and reproduction
5.1.1. Diversity
Reproduction creates imperfect copies of individuals
Sexual reproduction incorporates genetic information from both parents
Mutations occur in both sexual and asexual reproductions
Sometimes these changes are harmful
Sometimes these changes are neutral
Sometimes these changes are beneficial
5.1.2. Competition
Given that
Environments have limited resources
Individuals often have an intrinsic interest in persisting
Competition and selection becomes inevitable
Natural selection favours individuals that compete more effectively
5.1.3. Individual vs. Population
The ideas of diversity and competition exist within the population
It is often helpful to think of the population evolving instead of the individuals themselves
Having a balance of competition and diversity is important for populations
Having too much competition often lowers diversity
Having too little diversity can limit a population’s ability to adapt to changes
Having too little competition can increase diversity
Having too much diversity may stagnate specialization
5.2. Systems
Populations of living things evolve
But a population of living things is just system
And a system exists within some environment, which is a system
And the population is made up individuals, which are themselves systems
Each individual is made up of many more systems
Each of those smaller systems are made up of more systems
…
Systems can evolve — not just biological systems
Don’t put life on a pedestal
It’s just another system within the universe
It really only needs mechanisms for persisting and changing
Systems evolve as a consequence of it’s relationship with it’s environment
Sometimes the environment has some intention behind it
Sometimes it’s aimless
5.2.1. Cellular Automata
An elementary cellular automata is a very simple system of rules
Given a one-dimensional (linear) sequence of binary values (cells)
Create the sequence’s next generation based on each cell’s current state and state of its neighbours
Since each cell’s value is determined by three cells’ previous state, there are a total of eight (8) patterns
Three since it’s based on the current cell and its tow neighbours
Each of the eight patterns can produce either a 0 or a 1, meaning there are a total of 256 possible rules
The above rule is named “Rule 30” since \(00011110\) is the pattern, which has a decimal value of 30
By repeatedly applying these very simple rules to each new sequence, interesting and complex patterns may emerge
Visit Wolfram Alpha and create the patterns for some rules
The above link is the result of running Rule 0
Take the time to generate the patterns for a few dozen rules and keep track of the most interesting ones found
What makes the patterns interesting?
5.2.2. Conway’s Game of Life
Conway’s Game of Life is another interesting simple system, but works in a two-dimensions grid of cells
The rules are
Any live cell with fewer than two live neighbours dies off
Any live cell with two or three live neighbours survives
Any live cell with more than three live neighbours dies off
Any dead cell with exactly three live neighbours becomes live
Visit this website and play with Conway’s Game of Life
This means it’s possible to simulate Conway’s Game of Life in Conway’s Game of Life
Which means it’s possible to also simulate Conway’s Game of Life in Conway’s Game of Life in Conway’s Game of Life
Which means …
5.2.3. Turing Completeness in Simple Systems
Both Conway’s Game of Life and Rule 110 are Turing complete
Both are remarkably simple systems that can produce remarkably complex and seemingly chaotic random behaviour
Both do not have any intelligence; they just follow their rules starting from initial conditions
But they’re Turing complete — they can perform any computation any other Turing complete system can
Like a typical desktop computer
5.3. The Invisible Hand
Beware of teleology
Explaining phenomena in terms of the purpose they serve rather than of the cause by which they arise
Virtually nothing within the universe exists for a purpose
The exceptions being things like human created things
Things only exist because they don’t not exist
Evolution has no intelligence guiding it
Yet, things seem to work
However, the things work because if they did not, they would not exist
5.3.1. Learning to Walk
Consider the problem of training a robot to walk
Deep learning is an absolutely terrible idea for finding the best way for a robot to walk
As artificial neural networks grow in size, the number of parameters within the network grows rapidly
As the number of parameters grows, the odds of finding the best configuration of parameters becomes astronomically low
However, with deep learning, something interesting happens
As the number of parameters grows, it seems that the number of good configurations increases
Finding the best way to walk is not the goal; finding a way to walk is the goal
What does the best way to walk even mean?
Does there even exist a best way to walk?
Thus, deep learning is an absolutely brilliant idea for finding a good way for a robot to walk
5.4. For Next Class
Spend some time thinking about how systems exist and try to explain their existence in terms of how instead of why