Genetic Algorithms An Example Genetic Algorithm Procedure GA

  • Slides: 15
Download presentation
Genetic Algorithms • An Example Genetic Algorithm Procedure GA{ t = 0; Initialize P(t);

Genetic Algorithms • An Example Genetic Algorithm Procedure GA{ t = 0; Initialize P(t); Evaluate P(t); While (Not Done) { Parents(t) = Select_Parents(P(t)); Offspring(t) = Procreate(Parents(t)); Evaluate(Offspring(t)); P(t+1)= Select_Survivors(P(t), Offspring(t)); t = t + 1; }

Genetic Algorithms: Binary Coded Representations

Genetic Algorithms: Binary Coded Representations

Genetic Algorithms: Real-Coded Representations • Real-Coded GAs can be regarded as GAs that operate

Genetic Algorithms: Real-Coded Representations • Real-Coded GAs can be regarded as GAs that operate on the actual CS (phenotype). • For Real-Coded GAs, no genotype-to-phenotype mapping is needed.

Genetic Algorithms: Parent Selection Methods • An Example Genetic Algorithm Procedure GA{ t =

Genetic Algorithms: Parent Selection Methods • An Example Genetic Algorithm Procedure GA{ t = 0; Initialize P(t); Evaluate P(t); While (Not Done) { Parents(t) = Select_Parents(P(t)); Offspring(t) = Procreate(Parents(t)); Evaluate(Offspring(t)); P(t+1)= Select_Survivors(P(t), Offspring(t)); t = t + 1; }

Genetic Algorithms: Proportionate Selection • In Proportionate Selection, individuals are assigned a probability of

Genetic Algorithms: Proportionate Selection • In Proportionate Selection, individuals are assigned a probability of being selected based on their fitness: – – pi = fi / fj Where pi is the probability that individual i will be selected, fi is the fitness of individual i, and fj represents the sum of all the fitnesses of the individuals with the population. • This type of selection is similar to using a roulette wheel where the fitness of an individual is represented as proportionate slice of wheel. The wheel is then spun and the slice underneath the wheel when it stops determine which individual becomes a parent.

Genetic Algorithms: Proportionate Selection • There a number of disadvantages associated with using proportionate

Genetic Algorithms: Proportionate Selection • There a number of disadvantages associated with using proportionate selection: – Cannot be used on minimization problems, – Loss of selection pressure (search direction) as population converges, – Susceptible to Super Individuals

Genetic Algorithms: Linear Rank Selection • In Linear Rank selection, individuals are assigned subjective

Genetic Algorithms: Linear Rank Selection • In Linear Rank selection, individuals are assigned subjective fitness based on the rank within the population: – – – sfi = (P-ri)(max-min)/(P-1) + min Where ri is the rank of indvidual i, P is the population size, Max represents the fitness to assign to the best individual, Min represents the fitness to assign to the worst individual. • pi = sfi / sfj Roulette Wheel Selection can be performed using the subjective fitnesses. • One disadvantage associated with linear rank selection is that the population must be sorted on each cycle.

Genetic Algorithms: Genetic Procreation Operators • Genetic Algorithms typically use two types of operators:

Genetic Algorithms: Genetic Procreation Operators • Genetic Algorithms typically use two types of operators: – Crossover (Sexual Recombination), and – Mutation (Asexual) • Crossover is usually the primary operator with mutation serving only as a mechanism to introduce diversity in the population. • However, when designing a GA to solve a problem it is not uncommon that one will have to develop unique crossover and mutation operators that take advantage of the structure of the CSs comprising the search space.

Genetic Algorithms: Genetic Procreation Operators • However, there a number of crossover operators that

Genetic Algorithms: Genetic Procreation Operators • However, there a number of crossover operators that have been used on binary and real-coded GAs: – Single-point Crossover, – Two-point Crossover, – Uniform Crossover

Genetic Algorithms: Single-Point Crossover • Given two parents, single-point crossover will generate a cut-point

Genetic Algorithms: Single-Point Crossover • Given two parents, single-point crossover will generate a cut-point and recombines the first part of first parent with the second part of the second parent to create one offspring. • Single-point crossover then recombines the second part of the first parent with the first part of the second parent to create a second offspring.

Genetic Algorithms: Single-Point Crossover • Example: – Parent 1: – Parent 2: – Offspring

Genetic Algorithms: Single-Point Crossover • Example: – Parent 1: – Parent 2: – Offspring 1: – Offspring 2: XX|XXXXX YY|YYYYY XXYYYYY YYXXXXX

Genetic Algorithms: Two-Point Crossover • Two-Point crossover is very similar to single-point crossover except

Genetic Algorithms: Two-Point Crossover • Two-Point crossover is very similar to single-point crossover except that two cut-points are generated instead of one.

Genetic Algorithms: Two-Point Crossover • Example: – Parent 1: – Parent 2: – Offspring

Genetic Algorithms: Two-Point Crossover • Example: – Parent 1: – Parent 2: – Offspring 1: – Offspring 2: XX|XX YY|YY XXYYYXXXYY

Genetic Algorithms: The Emoticon Process • Population of nine individuals • Selecting one or

Genetic Algorithms: The Emoticon Process • Population of nine individuals • Selecting one or two parents One Parent – If a chicken was on a deserted island, how could it reproduce? Two Parents – What type of reproduction can we have? • Allowing the parents chromosomes to become blueprint for the next generation • Based upon the operator you choose • Add the Interactive Touch of you making the evaluation of what you think matches the desired response • Replacing the parents with the offspring • Repeated until a stopping criterion has been reached. – In the interactive case this is when the user is satisfied with the result

Emoticon Populations • Interactively Evolving Emoticons – Happy – Angry – Worried

Emoticon Populations • Interactively Evolving Emoticons – Happy – Angry – Worried