Lecture 05 - Genetic Algorithms Flashcards
Genetic Algorithms
Who were the main 3 communities developing genetic algorithms?
Biologists, computer scientists/engineers, artificial-life researchers
Genetic Algorithms
Why is there terminology overlap within evolutionary computing?
Competing communities of research hasn’t properly converged on terminology.
Genetic Algorithms
What is an individual in GA?
One data point with an attached fitness, which can evolve into new offspring.
Genetic Algorithms
What is a population in GA?
A collection of individuals to be evaluated.
Genetic Algorithms
How are individuals represented internally?
Pretty much anything that can be evaluated with a fitness function.
Genetic Algorithms
What is direct coding?
Some specific representation, like a final image. Genotype == phenotype in this case.
Genetic Algorithms
What is indirect coding?
Some abstract, recipe-y way of making the individuals.
Genetic Algorithms
What is a genotype?
Genotypes are the instruction for creating an individual.
Genetic Algorithms
What is a phenotype?
A phenotype is a manifested version of a genotype. Humans are phenotypes; genes are genotypes.
Genetic Algorithms
Why do we use the genotype/phenotype distinction in GAs? (3)
- To resemble nature
- To ease manipulation
- To allow reuse, hence enabling actual usage of EC
Genetic Algorithms
What is the concept of “limited resources” in GA?
The population size is capped; not all individuals can survive.
Genetic Algorithms
What’s the difference between an overlapping and non-overlapping generational model?
- Overlapping model: Both parents and offspring can survive.
- Non-overlapping model: Only offspring survive.
Genetic Algorithms
What are some problems with the overlapping model?
Parents can survive, so what is a “new generation?”
Genetic Algorithms
When using an overlapping model, how do you measure time flowing?
Track the number of births. A new generation happens at “#m births”.
Genetic Algorithms
Name the most common fitness selection methods. (FRUTT)
- Fitness-proportional selection
- Rank-proportional selection
- Uniform (neutral) selection
- Truncation selection
- Tournament selection
Genetic Algorithms
Describe Fitness-proportional selection.
1) Given the numerical fitness of each individual
2) Randomly pick one individual with probability proportional to the fitness (the better, the larger probability)
Genetic Algorithms
Describe Rank-proportional selection.
1) Given the rank of each individual in a fitness-based ranking
2) Randomly pick one individual with probability proportional to the rank (the better, the larger probability)
Genetic Algorithms
Describe uniform selection.
Pick randomly an individual (with uniform probability)
Genetic Algorithms
Describe Truncation selection
Pick the best individual(s?) (elitism)
Genetic Algorithms
Describe Tournament selection
Given a parameter n_size (size of the tournament):
1) Randomly (with uniform probability) pick n_size individuals
2) From them, choose the one with the best fitness
Genetic Algorithms
How do you determine if criterion A better than criterion B?
Hypothesis testing
Genetic Algorithms
Does uniform selection prefer fit or unfit individuals?
No preferences for either.
Genetic Algorithms
Does truncation selection prefer fit or unfit individuals?
Strong preference for fit individuals
Genetic Algorithms
Does tournament selection prefer fit or unfit individuals?
Depends on n_size.
If 1: No preference.
As n_size grows -> stronger preference for fit individuals.
Genetic Algorithms
What does a strong preference for fit individuals lead to?
- Converges to fit individuals.
- Evolutions concentrates on improving promising solutions (exploitation).
- Risk of falling into local minima.
Genetic Algorithms
What does a weak preference for fit individuals lead to?
- Population includes unfit individuals.
- Many different, possibly not promising solutions, are explored (exploration).
- Risk of not finding good solutions.
Genetic Algorithms
What are the two most common genetic operators
Crossover and mutation.
Genetic Algorithms
What is n-point crossover?
See the image. Select n points and flip which parent the genes come from.
Genetic Algorithms
What is variable-length crossover?
Offspring can have variable length output which are concatenations of various parts of the parents.
Genetic Algorithms
How does mutation work on trees?
Replace a random subtree with another randomly generated subtree.
Genetic Algorithms
How does crossover work for trees?
Select two parents, then swap a random subtree.
Genetic Algorithms
How are genetic operators constrained for trees?
Usually by depth.
Genetic Algorithms
What is gaussian mutation?
Add parameterized gaussian noise.
Genetic Algorithms
What is geometric crossover/crossover for real-valued vectors?
c = p1 + C*(p1 - p2), for C ~ U(0, 1)
Genetic Algorithms
What’s the drawback of geometric crossover?
It lacks the ability to explore outside of the hyperrectangle enclosing the population
Genetic Algorithms
What’s the hypothesized role of mutation and crossover?
- Mutation = exploitation
- Crossover = exploration
(Debated)
Genetic Algorithms
What techniques can you use to solve multiobjective problems?
- Linearization
- Lexicographical order
- Pareto dominance
Genetic Algorithms
What is linearization for multiobjective problems?
Weight and sum each objective value.
Genetic Algorithms
What is lexicographical order for multiobjective problems?
Check each pair of objectives in turn.
1) Check f1(i1) > f1(i2). Select winner or advance to (2).
2) Check f2(i1) > f2(i2). Select winner or advance to (3).
…
Genetic Algorithms
What is the drawback of too little diversity?
Too much exploitation → local minimum
Genetic Algorithms
What is the drawback of too much diversity?
No exploitation, just coarse exploration (random walk)
Genetic Algorithms
What is Expressiveness?
Whether good solutions can be expressed as phenotypes, e.g. the number of dimensions.
Genetic Algorithms
What’s the problem with Low expressiveness?
Good/optimal solution might not be representable, or might not be reachable
Genetic Algorithms
What’s the problem with Large expressiveness?
Large search space → very long or infiniti convergence time
Genetic Algorithms
What is Grammatical Evolution?
Evolutions of strings given a grammar. See the image for an example.
Genetic Algorithms
What does the Φ operator do?
Maps a genotype to a phenotype.
Genetic Algorithms
What is ⊥?
An invalid solution.
Genetic Algorithms
What is an invalid solution?
An illegal phenotype.
Genetic Algorithms
What is f(i_j)?
The fitness function applied to the j-th individual.
Genetic Algorithms
What is ≺?
A partial ordering of fitness values, i.e. fitness values can be compared and sorted.
Genetic Algorithms
What is the distance dG?
A distance measure between two genotypes. (See image)
Genetic Algorithms
What is the distance dP?
The distance measure between two phenotypes. (See image)
Genetic Algorithms
What is invalidity?
The proportion of genotypes that are mapped to invalid phenotypes.
Genetic Algorithms
What is Degeneracy?
The ratio of genotypes that are mapped to the same phenotype.
Genetic Algorithms
What’s a synonym for degeneracy?
Redundancy
Genetic Algorithms
What is Uniformity of degeneracy?
The degree to which the sizes of different sets of genotypes mapping to the same phenotype differ:
Genetic Algorithms
What is Redundancy?
Parts of the genotype might not “agree” when being mapped to phenotypes, e.g. redundant genes might map to the same phenotype.
Genetic Algorithms
What is locality?
The degree to which close genotypes are mapped to close phenotype
Genetic Algorithms
What is evolvability?
The likelihood of obtaining a better individual after the application of a genetic operator
Genetic Algorithms
Describe pareto dominance
1) Start with a graph with points.
2) While the graph has unselected points, repeat 3-6.
3) Select one of the outermost points on the graph that doesn’t belong to a pareto frontier.
4) Sweep a (hyper)plane around that point.
5) If you hit a point, select that as the next point.
6) If you hit an axis, assign a new pareto frontier to the selected points and move to step 2.