Genetic Algorithms: Principles, Properties, and Encoding Techniques, Lecture notes of Mathematical Modeling and Simulation

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

2011/2012

Uploaded on 07/03/2012

raajesh
raajesh 🇮🇳

4

(1)

16 documents

1 / 5

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Simple Genetic Algorithms
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)
Docsity.com
pf3
pf4
pf5

Partial preview of the text

Download Genetic Algorithms: Principles, Properties, and Encoding Techniques and more Lecture notes Mathematical Modeling and Simulation in PDF only on Docsity!

Simple Genetic Algorithms

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

Operators of Genetic Algorithms

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.

Encoding in GAs – continued

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.