# Basics of Genetic Algorithms

AI and Robotics

Oct 23, 2013 (4 years and 8 months ago)

114 views

13

Basics of Genetic Algorithms

and some possibilities

Peter Spijker

Technische Universiteit Eindhoven

Department of Biomedical Engineering

Division of Biomedical Imaging and Modeling

California Institute of Technology

Materials Process and Simulation Center

Biochemistry & Molecular Biophysics

November 25, 2003

12

13

Presentation Overview

Purpose of presentation

General introduction to Genetic Algorithms (GA’s)

Biological background

Origin of species

Natural selection

Genetic Algorithm

Search space

Basic algorithm

Coding

Methods

Examples

Possibilities

13

Purpose of presentation

Optimising parameters of force fields is a difficult

and time consuming task

Use of optimising methods might be of use

Methods:

-

steepest descent

-

simulated annealing (Monte Carlo)

-

genetic algorithms

Brief introduction to genetic algorithms in lecture style

13

General Introduction to GA’s

Genetic algorithms (GA’s) are a technique to solve

problems which need optimization

GA’s are a subclass of
Evolutionary Computing

GA’s are based on

Darwin’s theory of evolution

History of GA’s

Evolutionary computing evolved in the 1960’s.

GA’s were created by John Holland in the mid
-
70’s.

13

Biological Background (1)

The cell

Every animal cell is a complex of many small

“factories” working together

The center of this all is the
cell nucleus

The nucleus contains the genetic information

13

Biological Background (2)

Chromosomes

Genetic information is stored in the
chromosomes

Each chromosome is build of
DNA

Chromosomes in humans form pairs

There are 23 pairs

The chromosome is divided in parts:
genes

Genes code for properties

The posibilities of the genes

for

one property is called:
allele

Every gene has an unique position

on the chromosome:
locus

13

Biological Background (3)

Genetics

The entire combination of genes is called
genotype

A genotype develops to a
phenotype

Alleles

can be either dominant or recessive

Dominant alleles will always express from the genotype

to the fenotype

Recessive alleles can survive in the population for many

generations, without being expressed.

13

Biological Background (4)

Reproduction

Reproduction of genetical information

Mitosis

Meiosis

Mitosis is copying the same

genetic information to new

offspring: there is no

exchange of information

Mitosis is the normal way of

growing of multicell structures,

like organs.

13

Biological Background (5)

Reproduction

Meiosis is the basis of sexual reproduction

After meiotic division 2
gametes

appear in the process

In reproduction two gametes

conjugate to a
zygote

wich

will become the new individual

Hence genetic information is shared

between the parents in order to

create new offspring

13

Biological Background (6)

Reproduction

During reproduction “errors” occur

Due to these “errors” genetic variation exists

Most important “errors” are:

Recombination (cross
-
over)

Mutation

13

Biological Background (7)

Natural selection

The origin of species: “Preservation of favourable

variations and rejection of unfavourable variations.”

There are more individuals born than can survive, so

there is a continuous
struggle for life
.

Individuals with an advantage have a greater chance for

survive:
survival of the fittest
.

13

Biological Background (8)

Natural selection

Important aspects in natural selection are:

to the environment

isolation

of populations in different groups which

cannot mutually mate

If small changes in the genotypes of individuals are

expressed easily, especially in small populations, we

speak of
genetic drift

Mathematical expresses as
fitness
: success in life

13

Presentation Overview

Purpose of presentation

General introduction to Genetic Algorithms (GA’s)

Biological background

Origin of species

Natural selection

Genetic Algorithm

Search space

Basic algorithm

Coding

Methods

Examples

Possibilities

13

Genetic Algorithm (1)

Search space

Most often one is looking for the best solution

in a specific subset of solutions

This subset is called the
search space
(or state space)

Every point in the search space is a possible solution

Therefore every point has a
fitness

value, depending on

the problem definition

GA’s are used to search the

search space for the best

solution, e.g. a minimum

Difficulties are the local

minima and the starting

point of the search

13

Genetic Algorithm (2)

Basic algorithm

Starting with a subset of
n

randomly chosen solutions

from the search space (i.e. chromosomes). This is

the
population

This population is used to produce a next
generation

of individuals by reproduction

Individuals with a higher
fitness

have more chance

to reproduce (i.e. natural selection)

13

Genetic Algorithm (3)

Basic algorithm

Outline of the basic algorithm

0 START

: Create random population of
n

chromosomes

1 FITNESS :
Evaluate fitness
f(x)

of each chromosome in

the population

2 NEW POPULATION

0 SELECTION :
Based on
f(x)

1 RECOMBINATION

:
Cross
-
over chromosomes

2 MUTATION :
Mutate

chromosomes

3 ACCEPTATION :
Reject or accept new one

3 REPLACE :
Replace old with new population: the new

generation

4 TEST :
Test problem criterium

5 LOOP :
Continue step 1

4 until criterium is

satisfied

13

Genetic Algorithm (4)

Coding

Normal cells are
diploid

(containing 2 complete sets

of chromosomes)

On the contrary gametes are
haploid

Formalizing diploid reproduction is much more difficult

than haploid

Diploid populations have an extra dimension compared to

haploid populations

For simplicity therefore only haploid genetic algorithms

13

Genetic Algorithm (5)

Coding

Chromosomes are encoded by
bitstrings

Every bitstring therefore is a solution but not necisseraly

the best solution

The way bitstrings can code differs from problem

to problem

Either: sequence of on/off
or

the number 9

1

0

0

1

13

Genetic Algorithm (6)

Coding

Recombination (cross
-
over) can when using

bitstrings schematically be represented:

Using a specific
cross
-
over point

1

0

0

1

1

0

1

0

1

0

1

1

1

0

X

1

0

0

1

1

1

0

0

1

0

1

1

0

1

13

Genetic Algorithm (7)

Coding

Mutation prevents the algorithm to be trapped in a

local minimum

In the bitstring approach mutation is simpy the flipping

of one of the bits

1

0

0

1

1

0

1

1

1

0

1

1

0

1

13

Genetic Algorithm (8)

Coding

Both recombination and mutation depend a lot

on the exact definition of the problem and the choice

of representing the chromosomes (e.g. no bitstrings)

Different encodings can be used:

Binary encoding

Permutation encoding

Value encoding

Tree encoding

Focus in this presentation stays with binary encoding

13

Example Minimum of Function (1)

First example shows how to find the minimum

of a function

Minimum f(x)
at x = 809

1100101001

13

Example Minimum of Function (2)

Individual

Best individual

Mean
fitness

Best
fitness

Generations

13

Example Minimum of Function (3)

Interactive show of this algorithm with Matlab

Using the function:
genalg2()

Variables:

Population size

Bitstringlength

Mutation chance

Recombination chance

13

Genetic Algorithm (9)

Remarks

It is clear from the example that the convergence

speed of the algorithm depends on many factors:

Population size

Mutation probability

Recombination probability

Elitism

Selection methods

Random selection of parents

Roulette wheel selection of parents

Strong point GA’s: mutation prevents from falling in

a local minimum, recombination initiates a fast

first convergence

13

Example Checkboard (1)

We are given an
n

by
n

checkboard in which

every field can have a different colour from a

set of four colours.

Goal is to achieve a checkboard in a way that there

are no neighbours with the same colour (not diagonal)

13

Example Checkboard (2)

Chromosomes represent the way the checkboard

is coloured.

Chromosomes are not represented by bitstrings

but by
bitmatrices

The bits in the bitmatrix can have one of the four

values 0, 1, 2 or 3, depending on the colour

Crossing
-
over involves matrix manipulation instead

of point wise operating. Crossing
-
over can be

combining the parential matrices in a horizontal,

vertical, triangular or square way

Mutation remains bitwise changing bits in either one

of the other numbers

13

Example Checkboard (3)

Fitnesscurve for the checkboard example

This problem can be seen as a graph with
n

nodes

and
(n
-
1)

edges, so the fitness
f(x)

is easily

defined as:
f(x) = 2 ∙ (n
-
1) ∙n

13

Example Checkboard (4)

Fitnesscurves for different cross
-
over rules

13

Example Checkboard (5)

Interactive show of this algorithm with Matlab

Using the functions:

main()

checkers()

bestindividual()

mutate()

recombine()

select()

showbestindividual()

13

Possibilities

Using the genetic algorithm to optimise

parameters for a force field

Parameters are real numbers, so adaptations of

these algorithms is required

Value incoding vs. bitstring encoding

Difficulties:

Definition fitness function

Integration algorithm with software

13

Further Questions

?