Genetic Algorithms By: Anna Scheuler and Aaron Smittle
●appeared in the 1950s and 1960s ●used to find approximations in search problems ●use principles of natural selection to find an optimized solution ●part of evolutionary algorithms What is it?
subset of evolutionary computation generic, population based optimization algorithms uses aspects of biology Evolutionary Algorithms
Gene = smallest unit of data o represented in binary Genome = string of genes Genome pool = set of genomes o represents the population Mutation Crossover Inheritance Biology → Genetic Algorithms
Loops through every gene of every member Two main classes: o no change o mutable The Fitness Function
1.Randomly generate an initial population 2.Run fitness function 3.Define parameters for “strong” members 4.Create new generation 5.Introduce mutation 6.Repeat A simple algorithm runs in O(g*n*m) The Algorithm
Opponent adaptation Towers of Reus GAs and Gaming
Created in 2010 for Zerg user inputs goal and the app generates the build order Star Craft’s Evolution Chamber
●There are 10 cards numbered ●There must be two piles ○ The sum of the first pile must be as close as possible to 36 ○ The product of the second pile must be as close as possible to 360 Card Problem Example
●Genome is the way the cards are divided ●Algorithm begins by picking two genomes at random ●They are compared with Fitness test ●Copy winner into loser and mutate with random probability at each gene Card Problem cont.
Card Problem Fitness Function
●This problem used a Microbial GA ○ This type of genetic algorithm features ‘free’ elitism ○ Relatively simple core code Card Problem
An example
The fitness function must be carefully written Members can get lost Population can converge with similar traits Issues
Questions?