Evolutionary Computation

Evolutionary Computation
For design, analysis, and optimization
Hod Lipson, MAE/CIS
Goals
• Understand types of EAs
• Recognize problems suitable for EAs
• Gain experience coding EAs
Evolutionary Algorithms
• Inspired by biological evolution
– Darwinian processes (selection, replication, variation)
• Three views
– Engineering/CS: A problem-solving search strategy
– Biology: A simulation of biological evolution (Alife)
– Physics: Directed pattern formation (dynamical systems)
• Weak algorithm
– Trade CPU power for knowledge
– Open ended, find new things
– “The second best algorithm for almost anything”
Logistics
• Grading
– ~2 Homework assignments (coding)
– Term project
• Website
– CMS
• Pre-reqs
– Coding experience (e.g. CS2110)
1.0
0.8
Y Axis
0.6
0.4
0.2
0.0
0.0
0.2
0.4
0.6
X Axis
0.8
1.0
Traveling Salesman Problem
Path length = 25.19
Path Length 25.19
Path Length 6.21
Path leng
Topics
•
•
•
•
•
•
•
•
•
•
Basic evolutionary processes
Parametric optimization
Indirect representations
Selection processes
Variation mechanisms
Multi-objective competitions
Evolution and learning
Co-evolution
Artificial Life
Application
A simple evolutionary process
Genotype
Phenotype
01011010010
10010101010
11101011101
10101001000
00100101001
00010111101
11111001001
11010101001
Holland, 1975
Evolving a gradient-following brain
Bongard et al (2002)
Evolving Photonic Crystals
With Stefan Preble & Michal Lipson, 2004 (PRL)
The Design Space
Lipson & Pollack, Nature 406, 2000
Generations
Phylogenetic Trees
Camera
Camera
View
Adapting in simulation
Simulator
Evolve Controller
In Simulation
Download
Try it in reality!
Crossing The
Reality Gap
Adapting in reality
Evolve Controller
In Reality
Try it !
Too many
Physical Trials
Simulation & Reality
“Simulator”
Evolve Simulator
Evolve Simulators
Evolve Controller
Evolve Robots
Build
Collect Sensor Data
Try it in reality!
Tilt Sensors
Servo
Actuators
Emergent Self-Model
With Josh Bongard and Victor Zykov, Science 2006