Lecture 6 - Evolutionary Algorithms II Flashcards
What are benchmark functions, and why are they used?
Benchmark functions serve as testbeds for performance comparison of meta/hyper heuristic optimisation algorithms.
What are some properties of benchmark functions?
Their global minimum is known
They can be easily computed
Each function is recognised to have certain characteristics potentially representing a different real-world problem e.g. separable vs non-separable
What are the classification factors for benchmark functions?
Continuity (differentiability) - discontinuous vs continuous
Dimensionality - scalability
Separability
Modality - unimodal, multimodal with few local minima, multimodal with exponential number of local minima
What is Gray encoding?
Gray encoding is like binary, but it ensures that each neighbour is only 1 Hamming distance away. For example, using Graqy encoding 1 is 001, but 2 is 011
Shown to be useful in GAs empowering the algorithm to mutate a solution in the correct direction
What is PMX and how does it work?
Partially Mapped Crossover
Builds offspring by choosing a subsequence of a tour from one parent to another - choose two random cut points to serve as swapping boundaries, and swap segments between cut points
Also can build offspring by preserving the order and position of as many cities as possible from other parent
Exploits important similarities in the value and ordering simultaneously
What is OX and how does it work?
Order Crossover
Builds offspring by:
Choosing a subsequence of a tour from one parent
Preserving relative order of cities from other parent
Exploits the property that ordering of cities is important, not the positions
Takes two cut points, copies those segments into offspring o1 and o2.
Then, for each parent, write their whole string starting from the 2nd cutting point, and looping around if you hit the end of the parent string. Then, take out all the values that are in the offspring you are looking at. Finally the sequence you are left with is then implanted inside the offspring, starting from the 2nd cut point.
What is CX and how does it work?
Cycle Crossover
Builds offspring by:
choosing each city and its position from one of the parents, and when a cycle is completed, the remaining cities filled in from the other parent
This preserves the absolute positions of the elements in the parent sequence
In summary:
Start at the first element for parent 1. Find the corresponding value at the same location in parent 2 i.e. if the first element of parent 1 is 1, and the first element of parent 2 was 8, you would then go, 1,8. Then using that 8, find the position that it is in in parent 1, and trace it down to parent 2 again. Keep repeating this until you finally create a loop i.e. you reach the first element again. Example:
8,4,7,3,6,2,5,1,9,0
0,1,2,3,4,5,6,7,8,9
Start at 8 - leads to 0 in 2nd parent
Select 0 in first parent - leads to 9 in 2nd parent
Select 9 in first parent - leads back to 8 in 2nd parent
Thus, cycle 1 is 8,9,0 (Take only the 1st parent elements as part of the cycle, in the order they appear)
When you have multiple cycles, the 1st cycle is copied over as is to the first child from the first parent, and the second child gains the 2nd parent’s version of the cycle, which is the elements that the 1st cycle points to. For the 2nd cycle, you alternate. You take the elements from the 2nd parent, and put them in the 1st child. Basically flip it on its head.
What does self-adaptation mean?
Deciding which operators and settings to use on the fly whenever needed receiving feedback during the evolutionary search process.
What are multimeme Memetic Algorithms?
A meme encodes how to apply an operator (which one to apply, maximum number of iterations, acceptance criteria), when to apply, where to apply, and how frequent to apply
Meme of each operator can be combined under a memeplex
What are the features of a Multimeme MA?
Memes represent instructions for self-improvement - specify set of rules, programs, heuristics, strategies, behaviours, etc…
Interaction between memes and genes are not direct - mediated by individual (genetic and memetic material)
Memes can evolve, change by means of non-traditional genetic transformations and metrics
How do memes mutate during evolution?
Using an innovation rate which is somewhere between 0-1. This is the probability of mutating the memes
Mutation randomly sets the meme option to one of the other options
What do the different values for IR mean?
IR = 0, no innovation if a meme option is not introduced in the initial generation, it will not be reintroduced again
IR = 1, all different strategies implied by the available M memes might be equally used
What is the difference between Memetic Algorithms and Multimeme Memetic Algorithms?
They are basically identical, except for the fact that MMAs contain multiple different meme options, which it can swap on the fly to try and cater its solution towards a more optimal outcome.
What are the steps in a multimeme algorithm?
Generate initial population, and evaluate all individuals.
Select mates (parents)
Crossover
Mutate, and evaluate all children
Hill climbing
Form the next generation
After all this, if the algorithm terminates, then it stops. Otherwise, it returns to selecting new parents.
What are some weaknesses of EAs?
Limited theoretical and mathematical analysis
Considered slow for online applications and for some large offline problems