160 likes | 423 Views
Evolutionary Algorithms. Elior Frig Roi Shaubi Group – 22 Parallel Computing 2014. OUTLINE. Search Problems Evolutionary Algorithms Idea in a nutshell Concepts Algorithm Computational Problem. Search Problems.
E N D
Evolutionary Algorithms Elior Frig RoiShaubi Group – 22 Parallel Computing 2014
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 .
Evolutionary Algorithms • A type of guided random search. • Used for optimization problems. • Based on the idea of biological evolution. • Simulates the evolution of individual viaprocesses 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 createthe next generation. • From each pair of strong parentscreatetwo offspring. • Compute the fitness of the offspring.
Concepts • Population – Set of individuals (solutions). • Fitness – The performance(score) of every individual. • Selection – The mechanism for selectingthe parents. • Reproduction – The creation ofoffspring from two parents (usingcrossover and mutation).
Crossover Mutation
Generation 2 Generation 1 Generation 0 0.836 0.116 0.536 Crossover Mutation Crossover Mutation Crossover Mutation Crossover Mutation Crossover Mutation Crossover Mutation Crossover Mutation Crossover Mutation 0.321 0.221 0.981 0.536 0.213 0.436 0.674 0.326 0.326 0.682 0.261 0.113 0.422 0.436 0.792 0.674 0.116 0.174 0.754 0.131 0.224
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 AchiyaElyasaf’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.
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