L2 - Evolutionary Algorithms 1 Flashcards
Give a high level explanation of Evolutionary Algorithms…
EA’s are based on the natural process of evolution, in which we see the survival of the fittest. In computational context, this is an iterable process to generate optimal solutions.
What are the 3 iteratable steps in the Evolutionary Process?
Selection : Select solutions to apply variations too.
Variation : Apply a small variation.
Population Update : Update the solution population with the most optimal solutions.
Should we implement a small or large variation at the variations state?
Small, because it’s harder to identify the cause-effect relationship when larger variations have been made.
Give an overview of the steps in involves in EA’s…
- Generate a set of random solutions ( parents ).
- Selection : Select solutions that the variation will be applied to.
- Variation → Apply the variation to the solutions ( children ).
- Population Update → Create a set of the most optimal solutions. This will be the parent set for the next iteration.
- Back to step 2.
What scenarios are EA’s ideal for?
When we need an optimal solution, but not necessarily an exact solution. This is usually when we are dealing with huge search spaces where it’s infeasible to identify all solutions.
Give 3 real life examples where EA’s could be leveraged?
- Most well distributed water distribution system.
- Most efficient orbit.
- Most efficient telephone wire mapping.
Define Search and Optimisation…
Searching for the best solution within a certain amount of time.
What complexities do Search Spaces usually fall in to?
Polynomial or exponential.
Define what a fitness function is, and give an example…
A function that analyses a solution to determine it’s fitness score.
Fitness Score is how effectively the solution solves the problem.
If the search space is small, what search method should we use to find the optimal solution?
Exhaustive Search ( Enumeration ), where we find all possible solutions, and choose the most efficient one.
Define what the ‘too-big’ problem category is…
A Too Big problem is a problem that has a search space to large for Exhaustive Search. These can either be easy or hard.
Easy : Polynomial
Hard: Exponential
Which Search Space category do most import problems fall in to?
Hard
What does it mean if we have an exact problem?
An exact problem is a problem where we know we can find the most optimised solution.
What does problem complexity mean? What are the 2 key types?
Problem Complexity refers to the size of the problem in terms of the search space. These are either Easy or Hard.
Easy : Polynomial Time
Hard : Exponential Time.
Define Tractable problems…
An Easy problem:
- Polynomial Time.
- Algorithms are known that can generate optimal solutions within time.