Marc Galitskii

AI (1) - Evolutionary Computing

Evolutionary Computing Scheme

What is Evolutionary Computing

Evolutionary Computing is a fascinating method for solving problems. It is inspired by biological evolution, which operates under the principle of ‘survival-of-the-fittest’: in an environment with limited resources, populations of individuals compete and mate to produce the fittest offspring. This process repeats over multiple generations.

While biological evolution is complicated through bio-chemical processes, EC can be broken down into several, simple steps.

General Scheme

In the beginning, there was nothing. Then, we introduce 0s and 1s. We start by deciding how to represent the solutions to the problem. This will depend on the problem-type. Next, we find a way to evaluate these solutions - this again depends on the problem-type. Then we initialize a certain number of solutions to evaluate their fitness, mate them, and select the cream of the crop for the next generation. We repeate this until we find a satisfactory solution or reach the termination criterion.

Let’s begin with the beginning.

Representation

How we represent our solution depends on the problem type.

  1. Bit
  2. Permutation
  3. Real-Values
  4. Trees

Evaluation

Initialization - Population

Parent Selection

Recombination & Mutation

Next Generation - Population

Termination