Evolutionary Algorithms Elior Frig Roi Shaubi Group – 22 Parallel Computing 2014
Feb 24, 2016
Evolutionary Algorithms
Elior FrigRoi Shaubi
Group – 22
Parallel Computing2014
OUTLINE
• Search Problems• Evolutionary Algorithms• Idea in a nutshell• Concepts• Algorithm• Computational Problem
Search Problems
• Search is a very common problem and basically includes almost all types of problems.
• Usually domain space is very big, and therefore it is almost impossible to brute-force for the answer (try all possible solutions).
• It is as difficult for computers as forhumans .
5 6 2 7 1 3 4
5 4 1 7 6 3 2
6 5 3 2 7 1 4
7 3 2 6 1 4 5
7 6 5 4 3 2 1
Evolutionary Algorithms
• A type of guided random search.• Used for optimization problems.• Based on the idea of biological evolution.• Simulates the evolution of individual via
processes of selection andreproduction.
• Depends on the performance(fitness) of the individual(Natural Selection).
Idea in a nutshell
• Start with set of random individuals(first generation).• Compute the fitness of each individual.• Repeat until you reach satisfied result:– Choose the strongest individuals to create
the next generation.– From each pair of strong parents
create two offspring.– Compute the fitness of the offspring.
Concepts
• Population – Set of individuals (solutions).• Fitness – The performance(score) of every individual.• Selection – The mechanism for selecting
the parents.• Reproduction – The creation of
offspring from two parents (usingcrossover and mutation).
6 5 7 2 4 3 1 2 4 7 1 6 3 5
2 4 3 17 6 5 2 4 3 1 7 2 4 1 6 3 5
Crossover
Mutation7 6 5 2 4 3 17 6 5 3 4 2 1
CrossoverMutation
CrossoverMutation
CrossoverMutation
CrossoverMutation
0.116
0.321
0.213
0.326
0.113
0.436
0.174
0.224
Generation 0
0.536
0.221
0.436
0.326
0.261
0.422
0.674
0.131
Generation 1
CrossoverMutation
CrossoverMutation
CrossoverMutation
CrossoverMutation
0.836
0.981
0.536
0.674
0.682
0.792
0.116
0.754
Generation 2
Algorithm• Generation = 0;• Initialize population with random candidate solutions;• Evaluate each candidate;• While not terminate
– Generation++;– Select parents;– Recombine pairs of parents;– Mutate the resulting offspring;– Evaluate new candidates;– Select individuals for the next generation;
Applications
• Evolutionary Algorithms are used in many aspects in real life.
Antenna which is used by NASA in real missions [1]
FreeCell solver
Achiya Elyasaf’s FreeCell Solver which was developed using EA [2].
Computational Problem
• A lot of independent computations:– Individual fitness evaluation.– Parents selection.– Offspring recombination.– Offspring mutation.
It shouts “Parallelize Me!”
Bottle Neck
Each generation is based on the previous one, and therefore we will have to gather all the results in each generation before preceding to
create the next generation.
Sequential vs. Parallel
𝑛 ∙ 𝑙𝑜𝑔 (𝑛 )↔𝑛 ∙ log (𝑛 )−𝑛∙ log (𝑚)𝑛2↔𝑛2
𝑚
[3]
References• [1] An evolved antenna for deployment on NASA’s space
technology 5 mission – J.D. Lohn, 2004• [2] Evolutionary Design of FreeCell Solvers – A. Elyasaf,
A. Hauptman, M. Sipper• [3] Parallel Evolutionary Algorithms – D. Sudholt