Download presentation
Presentation is loading. Please wait.
Published byHugo Stone Modified over 8 years ago
1
Machine Learning 1 Machine Learning 1 Genetic Algorithms
2
Who’s This?
3
Charles Darwin (1809-1882)
4
What’s This?
5
HMS Beagle The Voyage of the Beagle (1839) (1831-1836)
6
Darwin’s Finches
7
Charles Darwin from The Voyage of the Beagle “ The most curious fact is the perfect gradation in the size of the beaks in the different species of Geospiza…. Seeing this gradation and diversity of structure in one small, intimately related group of birds, one might really fancy that from an original paucity of birds in this archipelago, one species had been taken and modified for different ends”
8
Differential Reproduction The Tragic Tale of Green Beetles
9
The Genetic Algorithm Developed ◦John Holland, University of Michigan (~1975) Widely Applied ◦Daniel Goldberg (1989) Metaphor of natural selection applied to optimization problems
10
Truss Bridge
11
Truss Optimization: 64 Bars
12
Optimize? Minimize the Volume of the Truss ◦sum(X-Sectional Area of Member X Length) ◦NP-Complete* * Overbay, S., Ganzerli, S., De Palma, P, Brown, A., Stackle, P. (2006). Trusses, NP- Completeness, and Genetic Algorithms. Proceedings of the 17th Analysis and Computation Specialty Conference. St. Louis, MO.
13
A Simpler Problem: Word Guess User thinks of a word Passes the word to the GA Keeper GA guesses the word
14
Elements of GA Idea: Representation selects key items of object for computation Chromosome ◦Representation of a candidate solution ◦Specs for an individual truss ◦A word Gene ◦An element of a chromosome ◦Specs for a member ◦A letter Population ◦Set of chromosomes ◦Specs for a set of trusses ◦Set of letter strings representing candidate solutions
15
Initialize the Population Idea: Starting point for speciation Randomly generate a set of chromosomes Randomly generate specifications for trusses Randomly generate letter strings of the given size
16
How Large? Large Enough to Incorporate Genetic Diversity Divisible by 2 64 seems to work
17
Rank Fitness Idea: Members of the population have characteristics that better suit them for reproduction ◦Function over the population used to rank the population ◦Truss: The smaller the cross-sectional area, the higher the fitness ◦Word Guess: Proximity to correct word
18
Pair match.com for trusses or words (or whatever)
19
Zero Population Growth Idea: Food supply (and memory) cannot tolerate unlimited population growth Suppose current population is max: m Current population produces n offspring Reduce m + n candidate solutions to m Example: m = 64 ◦Select 32 population members to survive ◦Group them into 16 breeding pairs ◦Allow each to produce 2 children
20
Selecting Mating Population Idea: Differential Reproduction Random: Any PP (potential parent) could reproduce Truncation Selection ◦Top half: survive and reproduce ◦Bottom half: die Stochastic: ◦Spin a roulette wheel Each element has a slot Size of slot is proportional to 1) fitness 2) probability of being chosen to reproduce
21
Pairing Idea: Maximize the fitness of offspring Top-Down Tournament While ( < 16 mating pairs) { Do twice: Randomly select subset of the population Select 1 parent at random from subset Add parents to set of mating pairs } Many Others
22
Mate Idea: Children preserve parents’ genetic information Genetic Recombination Target: Chipolte Many Algorithms ◦Illustrated: single point crossover PA: CHIP OTLEPB: CHIX LOTL CA: CHIP LOTLCB: CHIX OTLE
23
Mutation (and genetic drift) Idea: Population can get stuck in a local minimum Simulates: ◦chemical mutagens ◦radiation ◦copying errors ◦random loss of population members Randomly perturb a fraction of the population
24
Convergence Idea: No further improvement is possible (within acceptable cost) Stop after a fixed number of iterations Stop when a known solution is found Stop when m% of the population is within n standard deviations of the mean fitness
25
Putting It Together: The GA Loop GA(population) { Initialize(population) //generate population ComputeCost(population) //compute fitness Sort(population) //rank while (population not converged on a good-enough solution) { SelectBreeders(population) //who reproduces? Pair(breeders) //love and marriage Mate(population) //genetic recombination Mutate(population) //jar from local minima Sort(population) //rank TestConvergence(population) //stop? }
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.