NIC Flashcards
Base principle of evolution
Beneficial mutations in children will be carried forward and become widespread in future generations
What are the steps to making a Genetic EA?
Generate Population Calculate fitness of pop Select two parents Apply variation Possibly recombine Reintroduce/replace population
What is a fitness function?
Evaluates how well a candidate solution solves the problem at hand
What is an approximate algorithm?
Delivers solutions in a reasonable time
Finds near-optimal solutions
Cannot guarantee an optimal solution
What is Hillclimbing?
The process of keeping/rejecting mutated candidate solutions depending on if they are better or worse than their previous solution - when graphed this looks like a hill
The issue can be finding local maxima instead of the main hill
What is a neighborhood?
A set of all mutants of a candidate solution
The neighbourhood can be searched using a local search to try to find an improved version of the solution
What are the different types of fitness landscapes?
Unimodal
Plateau
Multimodal
Deceptive
What is a population-based search?
Create a population of possible solutions, rather than just a single solution (as with local search)
Requires a selection method (maybe monte carlo)
What are the features of Genetic Algorithms?
- Generational (new populations generated)
- Steady state (genetic operators are applied n times)
What is the problem with random candidate selection?
Result in little to no evolutionary progress
What is the problem with high pressure candidate selectoin?
You’ll probably get stuck on a local maximum
What is roulette wheel selection?
Probability of getting picked is proportional to the fitness of the solution
What is rank based selection?
Population’s fitnesses are ranked from n to 1, selection probabilities are proportional to the rank
Sometimes a function is applied to rank such as rank^0.5 or rank^2
What is tournament selection?
Select a random subset of pop. Rank the subset. Return the best candidate
Easy and cheap to implement
Avoids superfit and superpoor solutions
What is K-ary encoding?
K is a parameter - when k = 2 its binary encoding, when 3, its ternary etc.
A candidate solution is a list L of numbers ranging from 0 to k-1
How does mutation work in k-ary encoding?
Single gene mutation (choose at random - change to random new value) M-gene mutation (single mutation M times) Swap mutation (choose two genes at random and swap)
What is the 1-point crossover in k-ary recombination?
Pick an index in the list L, take the head of L up to the index of parent 1 and the tail of L from the index of parent 2
Swap these two parts making two children
What is the 2-point crossover in k-ary recombination?
Pick two indexes, swap parts of parents 1 and 2 which are inside and outside of those indices
What is uniform crossover in k-ary recombination?
Make a binary mask of length L filled with randomised 1s and 0s
Apply to parents
Create two children where any 1s in the binary mask swap P1 to P2 and where any 0s in the mask swap P2 to P1
What is direct encoding?
A feature is directly described by one gene
Straightforward genotype to phenotype encoding
Easy to estimate the effects of mutation
Fast interpretation
What is indirect encoding?
Easier to exploit domain knowledge
Possible to encode away undesirable features
Can seriously cut down the size of the search space
Slow interpretation
neighborhoods are highly rugged
What is the best representation for generating random computer programs in chromosomes?
Trees are the best way of achieving this in tandem with fixed rules regarding syntax and which functions can be used with which functions
To mutate a random program, select a random subtree and replace with a random subtree
How do you compute the fitness of a random genetic program?
Counting the number of errors - i.e. how close is its result to the desired result.
What is semantic mutation?
When a child is semantically similar to its parents
What is semantic crossover?
When a child is semantically intermediate to its parents
What is swarm intelligence?
When a collection of animals collectively complete a task together which they’d be unable to complete alone
The ability to perform the task is an emergent property of the swarm
Every element is the same there is no central controller
What are the two main types of Swarm Algorithm?
Ant Colony Optimisation (ACO)
Particle Swarm Optimisation (PSO)
What is stigmergy?
Indirect communication via interaction with the environment
e.g. ants don’t communicate with each other directly they leave pheromone to change the environment