# Q1: What are Evolutionary Algorithms (EAs)?

```     Evolutionary algorithm is an umbrella term used to describe computer-
based problem solving  systems  which  use  computational  models  of
evolutionary   processes   as   key  elements  in  their  design  and
implementation.  A  variety  of  evolutionary  algorithms  have  been
proposed.   The  major  ones  are:  GENETIC  ALGORITHMs  (see  Q1.1),
EVOLUTIONARY PROGRAMMING (see Q1.2), EVOLUTION STRATEGIEs (see Q1.3),
CLASSIFIER  SYSTEMs  (see  Q1.4), and GENETIC PROGRAMMING (see Q1.5).
They all share a common conceptual base of simulating  the  EVOLUTION
of  INDIVIDUAL  structures  via processes of SELECTION, MUTATION, and
REPRODUCTION.  The processes depend on the perceived  PERFORMANCE  of
the individual structures as defined by an ENVIRONMENT.

More  precisely, EAs maintain a POPULATION of structures, that evolve
according to  rules  of  SELECTION  and  other  operators,  that  are
referred  to  as  "search operators", (or GENETIC OPERATORs), such as
RECOMBINATION  and  MUTATION.   Each  INDIVIDUAL  in  the  population
receives  a measure of it's FITNESS in the ENVIRONMENT.  REPRODUCTION
focuses attention on high fitness individuals, thus  exploiting  (cf.
EXPLOITATION)  the  available fitness information.  Recombination and
mutation perturb those individuals, providing general heuristics  for
EXPLORATION.  Although simplistic from a biologist's viewpoint, these
algorithms are sufficiently complex to provide  robust  and  powerful

--- "An Overview of Evolutionary Computation" [ECML93], 442-459.

PSEUDO CODE
Algorithm EA is

t := 0;

// initialize a usually random population of individuals
initpopulation P (t);

// evaluate fitness of all initial individuals in population
evaluate P (t);

// test for termination criterion (time, fitness, etc.)
while not done do

// increase the time counter
t := t + 1;

// select sub-population for offspring production
P' := selectparents P (t);

// recombine the "genes" of selected parents
recombine P' (t);

// perturb the mated population stochastically
mutate P' (t);

// evaluate it's new fitness
evaluate P' (t);

// select the survivors from actual fitness
P := survive P,P' (t);
od
end EA.
```
Go Back Up