2015-5-2 eie426-aicv 1 evolutionary computation (ec) eie426-ec-200809.ppt

71
22/6/23 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

Upload: declan-neville

Post on 15-Dec-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 1

Evolutionary Computation (EC)

eie426-ec-200809.ppt

Page 2: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 2

Contents Basic Concepts of EC Genetic Algorithms An Example Chromosome Representation Stopping Criteria Initial Population Selection Mechanisms Crossover and Mutation Fitness Functions Another Example Application: Routing Optimization Advantages and Disadvantages of EC

Page 3: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 3

Evolution and Search

Evolution - search through the enormous genetic parameter space for the best genetic make-up.

Borrow ideas from nature to help us solve problems that have equally large search spaces or similarly changing environment.

Page 4: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 4

Natural Evolution and Evolutionary Computation

Natural Evolution

Individual

Fitness

Environment

Evolutionary Computing

Candidate Solution

Quality

Problem

Page 5: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 5

Different ECsSeveral classes of EC algorithms have been developed:

- Genetic algorithms (GA’s): model genetic evolution- Genetic programming: based on GA’s, but individuals are programs (represented as trees)- Evolutionary programming: from the simulation of adaptive behavior in evolution (phenotype evolution)- Evolution strategies: model the strategic parameters that control variation in evolution, i.e., the evolution of evolution- Culture evolution: models the evolution of culture of a population and how the culture influences the evolution of individuals.- Co-evolution: individuals evolve through cooperation, or in competition with one other.

Page 6: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 6

Basic Concepts

• Chromosome: individual• Population: many individuals• Gene: each characteristics of chromosome (one parameter)• Allele: the value of a gene• Crossover: generate offspring by combining parts of the

parents.• Mutation: introduce new genetic material into an existing

individual.• Fitness: the survival strength of an individual• Culling (removing) and elitism (copying)

Page 7: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 7

Evolutionary Computation

Recombination(Crossover)

MutationPopulation

Offspring

ParentsSelection

ReplacementThe evolutionary cycle

Page 8: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 8

Genetic Algorithms

The GA was the first EC paradigm developed and applied (Holland 1975).

The features of the original GA’s:

(1) A bit string representation

(2) Proportional selection

(3) Cross-over as the primary method to produce new individuals.

Several changes have been made:

(1) Different representation schemes

(2) Different selection methods

(3) Different GA operators (cross-over, mutation and elitism)

Page 9: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 9

Random Search

The GA is a search procedure. Random search is possibly the simplest search

procedure. Its training time may be very long before an acceptable solution is obtained.

Procedure:

(1) Start from an initial search point or a set of initial points.

(2) Random perturbations to the points

(3) Repeat until an acceptable solution is reached or a maximum number of iterations is exceeded.

Page 10: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 10

General Genetic Algorithm(1) Let g = 0.(2) Initialize the initial generation Cg .(3) While no stopping criterion is satisfied

(a) Evaluate the fitness of each individual in Cg .(b) g g+1.(c) Select parents from Cg-1.(d) Recombine selected parents through cross-over to

form offspring Og (with a probability pc).(e) Mutate offspring in Og (with a probability pm).(f) Select the new generation Cg from (the previous

generation Cg-1, e.g., the best individuals are copied) and the offspring Og.

g: generationNote: The things in () might or might not be carried out.

Page 11: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 11

An Example

sequence. 0) toting(approxima

number small decrasing a is ,...2,1 and ,...2,1

,...2,1,20

12

0

,...2,1,20

12

:equation above the tosolutions ofnumber infinitivean are There

1010tan

010cos1010sin

:maxima local thefind funtion to thetedifferntiacan We

2,1 0.210sin

:function following theof maximum theFind

0

ii

ii

x

x

ii

x

xx

xxxxf

xxxxf

i

ii

ii

Page 12: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 12

.85.385.1an greater thslighytly is

85.1

[-1,2].in maximum theis

19

1919

19

fxf

x

x

Page 13: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 13

Use a genetic algorithm to solve the problem:

Coding (chromosome representation of a solution)

Generation of initial population (solutions) Fitness calculation Genetic operation

Page 14: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 14

Coding (chromosome representation):Use a binary string to represent x. If the solution is to be precise to 10-6, then the interval (2-(-1)) = 3 should be divided into 3× 106. At least 22 bits should be used because

mapping genotype phonotype

process coding a ,,...,,

3041944210321520972

02021

22621

bbbx

Page 15: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 15

Decoding

21111111111111111111111

10000000000000000000000

637197.012

3967 288 20.1

967 288 21111010100011000101110'

1111010100011000101110 e.g.,12

)1(2'0.1

'2,...,,

mapping phonotypegenotype

process decoding a , ,...,,

2

2

22

2

1

22

10

21

0202021

02021

x

x

s

xx

xbbbb

xbbb

i

ii

Page 16: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 16

minmaxmin

10

1

02011

maxmin

12

'

'2,,

:belowgiven is conversion then thestring,binary bit -an by

drepresente is ,in valuesthat takesparameter a if general,In

xxx

xx

xbbbb

m

xx

m

m

i

iim

Page 17: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 17

Generation of initial population

A set of N 22-bit binary strings can be randomly generated as the initial population.

Page 18: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 18

Fitness calculation

Since f(x) > 0 in the interval, we can directly use f(x) as a fitness function:

f(s) = f(x)

e.g.,

s1 = <1000101110110101000111>, f(s1)=2.586345

s2 = <0000001110000000010000>, f(s2)=1.078878

s3 = <1110000000111111000101>, f(s3)= 3.250650

Page 19: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 19

Genetic operation(1) Selection: based on the fitness of individualse.g., roulette wheel selection (fitness proportionate selection)

(2) Crossover (with a probability pc)e.g.,

s2 = <00000 | 01110000000010000>, f(s2)=1.078878

s3 = <11100 | 00000111111000101>, f(s3)= 3.250650After the crossover operation:

s’2 = <00000 | 00000111111000101>, f(s’2)=1.940865

s’3 = <11100 | 01110000000010000 >, f(s’3)= 3.459245

Page 20: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 20

(3) Mutation (with a probability pm) e.g.,

s3 = <1110000000111111000101>

f(s3)= 3.250650After the mutation operation:

s’3 = <1110100000111111000101 >

f(s’3)= 0.917743or

s3 = <1110000000111111000101>

s”3 = <1110000001111111000101 >

f(s”3)= 3.343555

Page 21: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 21

Simulation results:

N = 50, pc = 0.25, pm = 0.01, at 89 generations, the best individual was obtained:

smax = <1101001111110011001111>

xmax = 1.850 549

f(xmax) = 3.850 274

Page 22: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 22

The best individual at each iteration (up to 150 generations)

Generation The chromosome of the best individual

x fitness

1 1000111000010110001111 1.831 624 3.534 806

11 0110101011100111001111 1.854 860 3.833 286

17 1110101011111101001111 1.847 536 3.842 004

54 1000110110100011001111 1.848 699 3.847 155

71 0100110110001011001111 1.850 897 3.850 162

89 1101001111110011001111 1.850549 3.850274

150 1101001111110011001111 1.850549 3.850274

Page 23: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 23

Summary on Basic Concepts Evolution is an optimization process, where the aim is to

improve the ability of individuals to survive. An evolutionary algorithm (EA) is a stochastic search for

an optimal solution to a given problem. Evolution - search through the enormous genetic

parameter space for the best genetic make-up. Borrow ideas from nature to help us solve problems that

have an equally large search spaces or similarly changing environment.

Page 24: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 24

Genotype: describes the genetic composition of an individual

Phenotype: the expressed behavioral traits of an individual in a specific environment.

Selection: use the fitness evaluations to decide which are the best parents to reproduce.

Crossover: generate offspring by combining parts of the parents

Mutation: introduce new genetic material into an existing individual.

Coding: phenotype genotype Decoding: genotype phenotype

Page 25: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 25

Simple Genetic Algorithm (SGA)Representation Binary strings

Recombination

(crossover)

N-point (commonly used 1-point and 2-point) or uniform;

pc typically in range (0.6, 0.9)

Mutation Bitwise bit-flipping with fixed probability pm (typically between 1/pop_size and 1/ chromosome_length)

Parent selection Fitness-Proportionate

Survivor selection All children replace parents

Speciality Emphasis on crossover

Page 26: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 26

Genotype space = {0,1}I

I-bit binary stringsPhenotype space

Coding (encoding or(representation)

Decoding(inverse representation)

011101001

010001001

10010010

10010001

Chromosome Representation

Page 27: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 27

Binary-valued variables: no extra coding required Nominal-valued variables

D-bit with 2D discrete nominal valuese.g., four colors: red (00), blue (01), green (10), yellow (11)

Continuous-valued variables

I1,0:

Page 28: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 28

Other Representations Gray coding of integers (still binary chromosomes)

Gray coding is a mapping that means that small

changes in the genotype cause small changes in the

phenotype (unlike binary coding, e.g., 0111(7) and

1000 (8)).

It is generally accepted that it is better to encode

numerical variables directly as

Integers

Floating point variables

Page 29: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 29

Stopping Criteria

The maximum number of generation is exceeded

An acceptable best fit individual has evolved The average and/or maximum fitness value do

not change significantly over the past g generations.

Page 30: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 30

Initial Population

The standard way of generating the initial population is to choose gene values randomly from the allowed set of values.

The goal of random selection is to ensure that the initial population is a uniform representation of the entire search space.

A large population covers a larger area of the search space, and may require less generations to converge.

In the case of a small population, the EA can be forced to explore a large search space by increasing the rate of mutation.

Page 31: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 31

Selection Mechanisms

Selection operators

(1) Random selection

(2) Proportional selection: roulette wheel selection

(3) Tournament selection

(4) Rank-based selection

Page 32: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 32

Random Selection

Individuals are selected randomly with no reference to fitness at all. All the individuals, good or bad, have an equal chance of being selected.

Page 33: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 33

Proportional Selection: Roulette Wheel Selection

Individual Chromosome Fitness

fi

Selection probability, Pi

Accumulated probability

1 0001100000 8 0.086 957 0.086 957

2 0101111001 5 0.054 348 0.141 304

3 0000000101 2 0.021 739 0.163 043

4 1001110100 10 0.108 696 0.271 739

5 1010101010 7 0.076 087 0.347 826

6 1110010110 12 0.130 435 0.478 261

7 1001011011 5 0.054 348 0.532 609

8 1100000001 19 0.206 522 0.739 130

9 1001110100 10 0.108 696 0.847 826

10 0001010011 14 0.152 174 1.000 000

0,/10

1

ii

iii fffP

Page 34: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 34

Roulette Wheel Selection

It can be visualized as the spinning of the wheel and testing which slide ends up at the top. Fitness values are usually normalized to [0,1].

1

2

3

4

5

6

7

8

9

10

Page 35: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 35

Assume that the following random number sequence is generated:0.070 221 0.545 9290.784 567 0.446 9300.507 893 0.291 1980.176 340 0.272 9010.371 435 0.854 641

Compared the random number sequence with the accumulated probabilities, we select the individuals: 1, 8, 9, 6, 7, 5, 8, 4, 6, 10. Individuals 2 and 3 were removed and replaced with individuals 8 and 6. The individuals with high fitness tends to survive but those with low fitness may be removed.

Page 36: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 36

The pseudocode:

.individual slected theas chrosomeReturn 5.

sum (b)

1 (a)

, sum While4.

1,0~ number, random uniform aObtain 3.

sum 2.

index chromosome thedenotes where,1 1.

n

P

nn

U

P

nn

n

n

Page 37: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 37

Tournament Selection

A group of k individuals is randomly selected. The individual with the best fitness is selected from the group.

The advantage: the worse individuals of the population will not be selected and the best individuals will not dominate in the reproduction process.

For crossover, two tournaments are held to select each of two parents. It is possible that (1) A parent can be selected to reproduce more than once; and(2) One individual can combine with itself to reproduce offspring.

Page 38: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 38

Rank-Based Selection

The rank ordering of the fitness values is used to determine the probability of selection and not the fitness values itself.

Non-deterministic linear samplingIndividuals are sorted in decreasing fitness value. (1) Let n = random(random(N))

where N is the total number of individuals and random(N) return a number between 1 and N.(2) Return n as the selected individual

Page 39: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 39

Elitism

Elitism involves the selection of a set of individuals from the current generation to survive to the next generation.

The number of individuals to survive to the next generation, without being mutated, is referred to as the generation gap.

Generation gap = k

k best individuals or

k individuals selected using any selection operator

Page 40: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 40

Crossover

Crossover

Page 41: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 41

Uniform Crossover

A mask (vector) of length I (I-bit binary string) is created at random for each pair of individuals selected for reproduction. A bit with value of 1 indicates that the corresponding allele (bit) has to be swapped.

. fromdifferent isIt

.chromosome in theposition each at y probabilitcrossover theis :Note

.r mask vecto Return the 3.

.1 then , If (b)

.1,0~ valuerandom a Calculate (a)

:,...,2,1each For 2.

.,...,2,1 allfor 0 1.

c

x

ix

i

p

p

mp

U

Ii

Iim

m

Page 42: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 42

1 0 1 0 0 1 0 0 0 1

Parent1

Parent 2

Mask

Offspring 1

Offspring 2

Page 43: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 43

One-point Crossover

.r mask vecto Return the 4.

.1let ,,...,1each For 3.

.,...,2,1 allfor 0 2.

.1,1~ lueinteger va random a Calculate 1.

m

i

i

mIi

Iim

IU

Page 44: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 44

0 0 0 0 0 0 1 1 1 1

Parent1

Parent 2

Mask

Offspring 1

Offspring 2

Page 45: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 45

Two-point Crossover

.r mask vecto Return the 4.

.1let ,,...,each For 3.

.,...,2,1 allfor 0 2.

. with ,1~, luesinteger va random twoCompute 1.

21

2121

m

i

i

mi

Iim

IU

Page 46: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 46

0 0 1 1 1 1 0 0 0 0

Parent1

Parent 2

Mask

Offspring 1

Offspring 2

Page 47: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 47

Arithmetic Crossover

Arithmetic crossover can be used in the case of continuous-valued genes.

.1,02,1with

0.1

0.1

by generated are

and offspring, twoof componentsth The

. and parents woConsider t 1.

,22,12,2

,21,11,1

21

21

Urr

rr

rr

i

ininin

ininin

nn

nn

CCO

CCO

OO

CC

Page 48: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 48

Mutation Alter each gene independently with a probability

pm (the mutation rate)

Real-valued representations, mutation occurs by adding a random value (usually sampled from a Gaussian distribution ) to allele. The variance is usually a function of the fitness of the individual. Individuals with a good fitness value will be mutated less, while a bad fitness value will lead to large mutations.

2,0 N

Page 49: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 49

Mutation (fox)

0 1 0 10 111

0 1 0 00 111

Page 50: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 50

The Evolution Mechanism

Increasing diversity by using genetic operators mutation crossover

Decreasing diversity by selection of parents things to kill

Page 51: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 51

Fitness FunctionsCommon fitness functions: Use the objective function f(x) directly

(1) For a maximization problem, Fit(f(x)) = f(x)

e.g.,

(2) For a minimization problem, Fit(f(x)) = -f(x)

e.g., solution for x2 + x = 2, to minimize f(x) = x2 + x - 2

xxxf 10sin

:function following theof maximum theFind

Page 52: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 52

Clipping

minimum. theof estimationan is

Otherwise,0

,

problemon maximizati aFor (2)

maximum. theof estimationan is

Otherwise,0

,

problemon minimizati aFor (1)

min

minmin

max

maxmax

c

cxfcxfxfFit

c

cxfxfcxfFit

Page 53: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 53

Mapping

function. objective theof range value

theof estimation veconservati a is

0 c 0, c1

1

problemon minimizati aFor (2)

0 -c 0, c1

1

problemon maximizati aFor (1)

c

xfxfc

xfFit

xfxfc

xfFit

Page 54: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 54

Linear transformation of fitness functions

avgmultavgavg

avgavg

avg

avg

avg

avg

avg

avgavgmult

avg

avgmult

mult

avgmultavgavg

fcfff

ffffff

ff

ff

ff

f

ff

ffcf

ff

fc

c

fcfff

ff

min

minmax'max

''min

min

min

min

max

max

max

'max

'

'

(3) and , (2) ,0 (1)

at verify theasy to isIt

ft2) Fig. (see and

usecan weation, transformafter the negative is fitness no that sure make To

ft1) Fig. (see and 1

2.0]. [1.0,with

(2) and (1) :conditions Two

Page 55: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 55

f

f'

fmaxfavgfmin

cmultfavg

f'avg

f'min

Fig. ft1 Fig. ft2

f

f'

fmaxf avgfmi n

cmul tf avg

f 'avg

Page 56: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 56

Genetic algorithms: case study To find the maximum of the “peak” function of two

variables x and y:

-3 ≤ x, y ≤ 3

Page 57: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 57

Chromosome representation

Page 58: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 58

Initial population

Page 59: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 59

The first generation

Page 60: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 60

Local maximum

Page 61: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE426-AICV 61

Global maximum

Page 62: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE557-CI&IA 62

• Robotics• Control• Design• Scheduling/Routing/Resource Allocation• Machine Learning• Pattern Recognition• Market forecasting• Data Mining• Game Playing

- Robocode- Backgammon- Chess

Evolutionary Computation: Applications

Page 63: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

Robocode

23/4/18 EIE426-AICV 63

An Open Source educational game started by Mathew Nelson (originally provided by IBM). Currently contributions are being made by various people; officially Flemming N. Larsen is working on Robocode to keep it current and fix the bugs. The game is designed to help people learn to program in Java and enjoy the experience.

Genetic Programming (GP) Robocode

Page 64: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE557-CI&IA 64

Application: Routing Optimization The problem: Given a

network of M switches, an origin and a destination switch, the objective is to find the best route to connect a call between the origin and destination switches (Sevenster and Engelbrecht 1996). PSTN: Public Switch Telephone Network

Page 65: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE557-CI&IA 65

Chromosome representation: - variable length- each gene representing one switch- integer values for switch numbers- the first gene and last gene representing the origin and last switches, respectivelyExamples: (1 3 6 10)

(1 5 2 5 10) = (1 5 2 10)

Duplicate switches are ignored

Page 66: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE557-CI&IA 66

Initialization of population:

- randomly generated with the restriction that the first gene represents the origin switch and the last gene the destination switch

Page 67: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE557-CI&IA 67

Fitness function: a multi-criteria objective function was applied.

criteria.each of influence thecontrol and , , , costants The

cost route theminimize to:

links theofn utilizatio themaximize to:

congestion route theminimize to:

length route theminimize to:

switches ofnumber total the:

route in the switches ofnumber total the:,

dcba

F

F

F

F

M

rM

rF

dFcFbFaFF

Costj

Utilj

Blockj

Switchj

j

jSwitchj

Costj

Utilj

Blockj

Switchjj

Page 68: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE557-CI&IA 68

Selection: any selection operator Crossover: any crossover operator Mutation: replacing selected genes with a uniformly

random selected switch in the range [1, M].

Page 69: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE557-CI&IA 69

Real World EC

Tends include: More complex representations and operators Use of problem specific knowledge for seeding

the initial population and creating heuristic operators

Hybridisation with other methods

Page 70: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE557-CI&IA 70

Advantages of EC

Handles huge search spaces Balances exploration and exploitation Easy to try - not knowledge intensive Easy to combine with other methods Provides many alternative solutions Can continually evolve solutions to fit with a

continually changing problem

Page 71: 2015-5-2 EIE426-AICV 1 Evolutionary Computation (EC) eie426-ec-200809.ppt

23/4/18 EIE557-CI&IA 71

Disadvantages of EC

No guarantee for optimal solution within finite time

Weak theoretical basis May need extensive parameter tuning Often computationally expensive, i.e., slow