Genetic Algorithms

Post on 09-Jan-2016

48 views 1 download

Tags:

description

Genetic Algorithms. Introduction Advanced. Simple Genetic Algorithms: Introduction. What is it? In a Nutshell References The Pseudo Code Illustrations Applications Chinese Version of Introduction. Simple Genetic Algorithms: Illustrations. An Illustration Based on Portfolio Optimization - PowerPoint PPT Presentation

transcript

Genetic Algorithms Introduction Advanced

Simple Genetic Algorithms: Introduction What is it? In a Nutshell References The Pseudo Code Illustrations Applications Chinese Version of Introduction

Simple Genetic Algorithms: Illustrations An Illustration Based on Portfolio Optimiz

ation An Illustration Based on Facial Mask Desi

gn

Simple Genetic Algorithms: Applications Portfolio Optimization

Genetic Algorithms: Advanced Theory Variants of Genetic Algorithms Genetic Algorithms and Other Machine Le

arning Tools

Variants of Genetic Algorithms Adaptive Genetic Algorithms (AGA) Niching Genetic Algorithms (NGA) Interactive Genetic Algorithms (IGA) Adaptive Genetic Algorithms

Father of GAs Genetic algorithms were originally

developed by Holland (1975). They are a class of adaptive search and

optimization techniques based on an evolutionary process.

Chromosomes By representing potential or candidate solut

ions to a problem using vectors consisting of binary digits or bits, mathematical operations known as crossover and mutation, can be performed.

These operations are analogous to the genetic recombinations of the chromosomes in living organisms.

Genetic Operation By performing these operations,

generations of new candidates can be created and evolved over time through an iterative procedure.

However, there do exist restrictions on the process of crossover so as to ensure that better performing candidates are evolved over time.

What is it? Similar to the theory of natural selection or

survival of the fittest, the better performing candidates have a better than average probability of surviving and reproducing relative to the lower performing candidates which eventually get eliminated from the population.

Fitness Function and Selection The performance of each candidate can be

assessed using a suitable objective function.

A selection process based on performance is applied to determine which of the candidates should participate in crossover, and thereby pass on their favorable traits to future generations.

Process of Improvement It is through this process of ``survival of

the fittest'' that better solutions are developed over time.

This evolutionary process continues until the best (or better) performing individual(s), consisting of hopefully the optimal or near optimal solutions, dominate the population.

Binary Strings Binary representation is convenient but not

necessary for the application of the recombination operations.

These vectors also known as strings, are linear combinations of zeros and ones, for example [0 1 0 0 1].

An Example A binary representation

is based on the binary number system which has a corresponding equivalent decimal value given by

An Example For example, the decimal equivalent of the

vector [0 1 0 0 1] is

= 8 + 1 = 9

Selection Method Rank-Based Selection Roulette-Wheel Selection Tournament Selection

Rank-Based Selection The Reference The Procedure

Reference Whitley D. (1989), ``The GENITOR Algo

rithm and Selection Pressure: Why Rank-Based Allocation of Reproductive Trials is Best, ’’ in: D. J. Schaffer (ed.) Proceedings of the Third International Conference on Genetic Algorithms, Morgan Kaufmann, San Mateo, pp.116--121.

The Procedure This approach involves ranking all

candidates according to performance and then replacing the worst performing candidates by copies of the better performing candidates.

Crossover The method by which promising (better

performing) candidates are combined, is through a process of binary recombination known as crossover.

One-Point Crossover

One-Point Crossover To illustrate the process of crossover,

assume that two vectors

are chosen at random and that the position of partitioning is randomly chosen to be between the second and third elements of each vector.

A = [1 0 1 0 0] B = [0 1 0 1 0 ]

A = [1 0 | 1 0 0] B = [0 1 | 0 1 0 ]

C = [1 0 | 0 1 0 ] D = [0 1 | 1 0 0 ]

C = [1 0 0 1 0 ] D = [0 1 1 0 0 ]

Mutation Mutation involves the introduction of

random shocks into the population, by slightly altering the binary representation of candidates.

This increases the diversity in the population and unlike crossover, randomly re-directs the search procedure into new areas of the solution space which may or may not be beneficial.

Mutation This action underpins the genetic

algorithms ability to find novel inconspicuous solutions and avoid being anchored at local optimum solutions.

Mathematically, this operation is represented by switching a binary digit from a one to a zero or vice versa.

Mutation However, the probability of this occurrence

is normally very low, so as to not unnecessarily disrupt the search process.

This operation can be illustrated by an example.

An Example Assume that the third element in vector C

undergoes mutation.

C = [1 0 0 1 0 ]

E = [1 0 1 1 0 ]

The genetic algorithm procedure can be summarized by the following steps: Create an initial population of candidates rando

mly. Evaluate the performance of each candidate. Select the candidates for recombination. Perform crossover and mutation. Evaluate the performance of the new candidates. Return to step 3, unless a termination criterion i

s satisfied.

Termination Criteria The last step in the genetic algorithm

involves checking a well-defined termination criterion.

The termination criterion adopted, is satisfied when either one of the following conditions is met:

Termination Criteria The population converges to a unique

individual. A predetermined maximum number of

generations is reached. There has been no improvement in the

population for a certain number.

In a Nutshell The genetic algorithms, first proposed by

Holland (1975), seek to mimic some of the natural evolution and selection.

The first step of Holland’s genetic algorithm is to represent a legal solution of a problem by a string of genes known as a chromosome.

In a Nutshell Then an initial population of chromosome

is generated randomly at the first generation.

At each generation, the fitness of each chromosome in the population is evaluated by a fitness function.

In a Nutshell The chromosomes with higher fitness have

a higher possibility to be selected to produce offspring for the next generation.

After many generations of evolution, the optimal solution of the problem is hopefully be found in the population.

Goldberg (1989) Goldberg D. E. (1989),

Genetic Algorithms in Search, Optimisation, and Machine Learning. Addison-Wesley, Reading.

Michalewicz (1996) Michalewicz, Z. (199

6), Genetic Algorithms + Data Structures = Evolution Programs, Springer.

Vose (1999) Vose M. D. (1999), T

he Simple Genetic Algorithm : Foundations and Theory (Complex Adaptive Systems). Bradford Books;

Genetic Algorithms and Other Machine Learning Tools Simulated Annealing