Lecture 15 - Population Based Algorithms Flashcards
What are Population Based Methods?
The goal is to handle complex, high-dimensional, black-box optimisation problems where traditional methods (e.g., brute-force, grid search, hill climbing) fail.
What challanges make it hard to handle complex methods?
The challenges that are making this hard are:
- Expensive evaluations (e.g., simulating a weather model)
- Multiple local optima (modal spaces)
- No clear analytical form of the function
What is the Key Question?
Can a collection of points tell us more together than each one alone?
- Core idea of population-based methods: Maintain and evolve a set of solutions rather than a single one to better explore and exploit the search space.
○ Want to make every evaluation count
§ Every evaluation gives you information about the search space (black/grey box)
§ Want to utilise / learn from that information as much as possible.
□ What does the space look like?
□ What heuristics are appropriate?
□ Where should we look for the best solutions?
How is the Key Question answered?
- To do this inspiration is taken from the environment
○ Source: Evolutionary processes in nature.
○ Features:
* Adaptation to environment
* Many trials (organisms)
* Sharing of information (genetically or socially)
How can Evolution also be used?
Evolution can also be used:
○ Works in vastly different environments
○ Maintains lots of candidate solutions
○ Seeks to optimise performance
○ Iteratively improves solutions * Collectively “learns” about environment
* “meta-learning”?
* capabilities stored in genome
○ Information/capability sharing
* within generations (social beings)
* between generations
What are some types of Evolution?
○ Darwinian: Natural selection
○ Lamarckian: Acquired traits passed on (debunked but revived via epigenetics—some traits can bypass full reprogramming)
What is Epigenetic Inheritance?
Signals from the outside world can work through the epigenome to change a cell’s gene expression.
Epigenetic tags act as a kind of cellular memory. A cell’s epigenetic profile — a collection of tags that tell genes whether to be on or off — is the sum of the signals it has received during its lifetime.
What is Evolutionary Computation?7
- Algorithms inspired by biological evolution.
○ Typically: nature-inspired computing or evolutionary algorithms - Includes:
○ Evolutionary Strategies (ES)
○ Genetic Algorithms
○ Genetic Programming
○ Evolutionary Programming
Common Definitions
REFER TO SLIDES
What are the Common Steps in Population-Based Algorithms?
- Create (random) initial population
- Assess/evaluate fitness (quality)
- “Breed” new population of offspring
- “Join” from parents and children to form next generation
Evolutionary Algorithm and How it Works?
REFER TO SLIDES
What are the Key functions of Evolutionary Algorithm?
BuildInitialPopulation()
AssessFitness(P)
Breed(P)
Join(P, Breed(P))
What is BuildInitialPopulation()?
- What it does: Creates the initial population of candidate solutions.
- Heuristics:
○ Can be random (uniform, Gaussian, etc.)
○ Can be biased (if prior knowledge is available to guide the initial search)
○ Risk of bias: might miss important regions of the space.
What is AssessFitness(P)?
- What it does: Evaluates how good each candidate solution is.
- Heuristics:
○ Defines the objective function being optimized.
○ Can be simple (e.g., error rate) or complex (e.g., simulation outcomes).
○ May include penalties for invalid solutions (constraint handling).
What is Breed(P)?
- What it does: Generates offspring from the current population.
- Heuristics:
○ Selection: Choose which individuals become parents (e.g., tournament, roulette, rank-based).
○ Variation:
§ Mutation: Small random changes (e.g., Gaussian noise).
§ Crossover: Combine parts of two parents.
○ Mutation Rate: Often adaptively tuned (e.g., Rechenberg’s 1/5th rule).
What is Join(P, Breed(P))?
- What it does: Forms the next generation.
- Strategies:
○ (μ, λ): Keep only offspring — more exploratory.
○ (μ + λ): Combine parents and offspring — more exploitative.
○ May use elitism (keep best solutions always).
What are the Advantages of Evolutionary Algorithm?
- Explores broadly: Maintains a population, reducing the chance of getting stuck in local optima.
- General-purpose: Works on black-box, noisy, or non-differentiable problems.
- Parallel-friendly: Fitness evaluations can be run in parallel.
- Robust: Handles noise and uncertainty well.
- Flexible: Can incorporate domain knowledge or be hybridised with other methods.
What are the Disadvantages of Evolutionary Algorithm?
- Computationally costly: Evaluating many individuals every generation is expensive.
- Requires tuning: Parameters like population size and mutation rates need careful adjustment.
- Can converge prematurely: Risk of losing diversity and getting stuck in local optima.
- Slower precision: May take longer to refine to an optimal solution.
- Stochastic: Results may vary between runs due to randomness.
What are Evolutionary Strategies?
They are intuitive, biologically-inspired algorithms for optimisation, particularly useful in continuous, high-dimensional, and black-box problems.
What are the Key Concepts in Evolutionary Strategies (ES)?
Truncation Selection
What is Truncation Selection in ES
- After evaluating all individuals in the population, we select the top-performing (fittest) ones — specifically, the best μ individuals out of λ.
- This is called truncation because we “cut off” the rest — only the top survive.
What is Mutation as Tweak IN ES
- Instead of complex recombination (like crossover in genetic algorithms), ES often uses mutation as the main way to generate new solutions.
- Mutation means slightly altering a parent to create variation in the offspring.
What is the Simplest Form: (μ, λ) Strategy
This is the core ES loop:
Step-by-Step:
1. Start with λ randomly generated individuals
→ These are your initial candidates.
2. Evaluate them using the fitness function
→ Apply AssessFitness() to each individual.
3. Select the top μ individuals
→ These become the parents (via truncation selection).
4. Mutate each parent to create λ offspring
→ Each parent produces λ⁄μ children (even distribution)
→ This is your Breed() step.
5. Replace the parents with the new children
→ All μ parents are discarded. Only children move forward.
→ This is the Join() step.
6. Repeat the process over generations
→ With the hope that each new generation gets closer to an optimal solution.
(μ, λ) Strategy Algorithm
REFER TO SLIDES