evolutionary design - university of calgary
TRANSCRIPT
Evolutionary Design
By: Dianna Fox
and
Dan Morris
Review4 main types of Evolutionary
Algorithms
• Genetic Algorithm - John Holland
• Genetic Programming - John Koza
• Evolutionary Programming - LawerenceFogel
• Evolutionary Strategies - Ingo Rechenberg
Genetic Algorithms
• Most widely used
• Robust
• uses 2 separate spaces– search space - coded solution (genotype)
– solution space - actual solutions (phenotypes)
• Genotypes must be mapped to phenotypesbefore the quality or fitness of each solutioncan be evaluated
Genetic Programming
• Specialized form of GA
• Manipulates a very specific type ofsolution using modified genetic operators
• Original application was to designcomputer program
• Now applied in alternative areas eg.Analog Circuits
• Does not make distinction betweensearch and solution space.
• Solution represented in very specifichierarchical manner.
Evolutionary Strategies
• Like GP no distinction between search andsolution space
• Individuals are represented as real-valuedvectors.
• Simple ES– one parent and one child
– Child solution generated by randomly mutating theproblem parameters of the parent.
• Susceptible to stagnation at local optima
Evolutionary Strategies (cont’d)
• Slow to converge to optimal solution
• More advanced ES– have pools of parents and children
• Unlike GA and GP, ES– Separates parent individuals from child
individuals
– Selects its parent solutions deterministically
Evolutionary Programming
• Resembles ES, developed independently
• Early versions of EP applied to the evolution of transitiontable of finite state machines
• One population of solutions, reproduction is by mutationonly
• Like ES operates on the decision variable of the problemdirectly (ie Genotype = Phenotype)
• Tournament selection of parents– better fitness more likely a parent
– children generated until population doubled in size
– everyone evaluated and the half of population with lowest fitnessdeleted.
General Idea of Evolutionary Algorithms
Evolutionary Art
Computer Evolution of BuildableObjects
Evolutionary Art
Stephen Todd and William Latham
built artistic system called “Mutator”
• Computer program based on mutation andnatural selection to help an artist explore theworld of three dimensional art forms.
• Produces horns, pumpkins, shells,mathematical shapes and many other shapes
Computer Evolution ofBuildable Objects
• Project of Pablo Funes and Jordan Pollack
Taken from http://www.cs.brandeis.edu/~pollack/Taken from http://www.cs.brandeis.edu/~pablo/indexe.html
Project Details
• Used computers to generate 2-D and 3-Dobjects in simulation that would performcorrectly in the real world.
• Used miniature plasticbricks (commonlyknown as Lego) tobuild and test thedesigns
Why use Lego?
• Can easily build cheap and handy structures
• Have a property which simplifies theexperiment and eases design consideration
• What property? “The resistance of Legoblocks far surpasses the force necessary toeither join two of them together or breaktheir unions.”
Simplification of Model
• To simplify the model, only the ‘fulcrum’effect acting on a pair of Lego blocks wasconsidered.
• It was assumed that radial forces (such asvertical pulls) would not occur.
Minimal Torque Capacities
Joint Size(knobs)
Approximate Torque Capacity(N-m * 10-6)
1234567
10.450.289.6
157.3281.6339.2364.5
Operating Heuristic
“As long as there is a way to distribute theweights among the network of bricks suchthat no joint is stressed beyond itsmaximum capacity the structure will notbreak.”
• No complete algorithm has been found
Greedy Algorithm
• Does not guarantee that all solutions will befound
• Each joint j can support a certain fraction aof a force on the network. This fraction isgiven by:
Where Kj is the maximum capacity of the joint, d(j,F) is thedistance between the line generated by the force vector andthe joint, and f is the magnitude of the force.
Greedy Algorithm (cont.)
• Once a solution for the distribution of thefirst mass has been found, it is fixed and theremaining capacity for each joint iscomputed.
• This will give a reduced network that mustsupport the next force.
Evolutionary Algorithm?
• A steady-state, genetic algorithm was usedto solve the problem
• Initialized with a population of a singlebrick
• Through mutation and crossover, apopulation of 1000 individuals wasgenerated
Encoding for 2-D structure
• This join was encoded as:
(10 nil (2 (6 nil nil nil)) nil nil)
Encoding Explained
• Uses pseudo-Lisp notation
• Individual brick:• (10 nil nil nil nil)
• Joined by two knobs:• (10 nil (2 ()) nil nil)
• With a 6 knob brick:• (10 nil (2 (6 nil nil nil)) nil nil)
Mutation and Crossover
• Mutation operates by either randommodification of a brick’s parameters (size,position, orientation) or addition of arandom brick.
• Crossover involves two parent trees out ofwhich random subtrees are selected. Theoffspring generated has the first subtreeremoved and replaced by the second.
Fitness Function
• Doesn’t presuppose any knowledge aboutgood design or common engineeringpractices that would bias the results
• Provides measures of feasibility andfunctionality
Algorithm
While maximum fitness < Target fitness
Do Randomly select mutation or crossover
Select 1 (for mutation) or 2 (for crossover) random individual(s)
with fitness proportional probability
Apply mutation or crossover operator
Generate physical model and test for gravitational load.
If the new model will support its own weight
Then replace a random individual with it
(chosen with inverse fitness proportional probability)
Practical Examples
• Reaching a target point:• Bridges and Scaffolds
• External Loads:• Horizontal Crane Arm
• Constraining the space:• Diagonal Crane Arm
Reaching a Target Point
• Fitness Function:• Normalized distance to the target:
Where S is the structure, T is the targetpoint and d is the Euclidean distance
Bridge
• An example successful run
• The target fitness was reached after133,000 generations
Example Run
Scaffold
• Evolved in 40,000generations
External Loads
• Uses a two-step fitness function
• Weight is added in small increments to seehow much the structure can hold
Constraining the Space
• Bricks could only be placedabove the diagonal
• Fitness Function:
fraction of weight supported *
length of the arm along the x axis
Optimization
• Usually don’t reward or punish for thenumber of bricks used
• Leads to unused bricks
• Can add a little reward for lightness
Fitness: 24.002913
Fitness: 24.004095
Limitations
• Noise
• Safety concerns
• No complete algorithm has been found
results in a conservative model