



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An overview of genetic algorithms, explaining their inspiration from natural systems, principles of reproduction, evaluation, and selection, and the role of genetic operators. It also discusses the properties that distinguish genetic algorithms from other optimization methods and the five tasks involved in constructing a genetic algorithm. Additionally, the document covers various encoding techniques, including binary, permutation, value, and tree encoding.
Typology: Lecture notes
1 / 5
This page cannot be seen from the preview
Don't miss anything!




Genetic information in DNA is used in two ways- as information copied in it and as an instruction to be executed. This dualism of process was pointed out by John von Neumann in his work in the area of cellular automata (Fogel, 1998).
Genetic algorithms are based on principles inspired from the genetic and evolution mechanisms observed in natural systems. Their basic principle is the search for best solutions based on a triangle of genetic reproduction, evaluation and selection. Genetic reproduction is carried through by means of two basic genetic operators: crossover and mutation. These operations keep on guarding the Ergodicity of the algorithm. Operation of evaluation is performed by means of a fitness function that depends on the specific problem. Selection is the mechanism that picks parent individuals with probability proportional to their relative fitness for next generation [Goldberg, 1989]. A simple genetic algorithm is shown as Fig. 10.5. In these algorithms an initial population comprising of Np individuals is
Program Vectors
Figure 10.4 The dualism in simple genetic algorithms.
( 10101010 )
Discrete Encoding
Phenotypical space Genotypical space
(a, b, c)
randomly generated as an initial set of solutions (represented by chromosomes).
Figure 10. 5 A simple genetic algorithm as an evolution process.
Start
Initialization of Population & Encoding
Interpretation & Evaluation using fitness function; generation of fitness weights.
Termination Criteria?
Selection Operation using strategy & probability
Variation due to Crossover & Mutation operations.
Increment in generation index
Stop
Yes
No
Encoding
The chromosome should in some way contain necessary information about solution which it represents. There are several ways of encoding this information including binary encoding, permutation, value encoding and tree encoding respectively. Let us briefly discuss each process here.
Binary Encoding:
Current evolution strategies use vectors of real numbers as basic data structures. For N parameters to be optimized a vector g will have following form and will be termed as chromosome in a GA:
g (p 1 ,p 2 ,p 3 , ,pN) with all pi (10.7)
Binary encoding is the most commonly used method for GAs. In this encoding every chromosome is a string of bits, 0 or 1.
For example, in a genotype space, the 16 bit encoded chromosomes may have following form after binary encoding:
Chromosome A 1111 0000 1111 0000
Chromosome B 1111 1111 0000 0011
Each chromosome has one binary string and a bit in this string can represent some properties of the solution. The whole string can also represent a real number. Binary encoding helps in generating different possible chromosomes even with a small number of alleles.
When this form of encoding is not natural for the model, corrections are made to the encoded chromosome after an operation of crossover and mutation.
Permutation Encoding:
It can be used in ordering problems, such as traveling salesman problem or task ordering problem. In this encoding, every chromosome is a string of numbers in a sequence. For instance, eight digit chromosomes with permutation encoding may look like following:
Chromosome A 1 5 3 2 6 4 7 9
Chromosome B 8 5 6 7 2 3 1 4
Value Encoding:
Direct value encoding can be used in problems, where some complicated form of language or real numbers are used. In this encoding every chromosome is a string of some values related to the solution of model.
Chromosome A 1.2223 5.2324 0.4343 2.2122 2.
Chromosome B right, back, forward, left, right, right, back
The value encoding simplifies the conversion of complex objects in special problems. However, this can result in much more complex rules for crossover and mutation.
Tree Encoding: It is used mainly for evolving programs or expressions, for genetic programming. In this scheme, every chromosome is a tree of some objects, such as functions or commands in a programming language. Programming language LISP often employs this form of encoding as sentences can be easily parsed as a tree, so the crossover and mutation can be done relatively easily. Examples are models for command translators, grammar and spell checking programs having trees of objects. Operations of various kinds can then form new words and sentences and relate them.