Basics of Genetic Algorithms

libyantawdryAI and Robotics

Oct 23, 2013 (3 years and 1 month ago)

80 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:



adaptation
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



Starting population adaption

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

?