68
1 GENETIC ALGORITHM with Hands-On exercise Adopted From Lecture by Michael Negnevitsky , Electrical Engineering & Computer Science University of Tasmania

GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

Embed Size (px)

Citation preview

Page 1: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

1

GENETIC ALGORITHMwith

Hands-On exercise

Adopted From Lecture by Michael Negnevitsky , Electrical Engineering & ComputerScience University of Tasmania

Page 2: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

2

Objective

To understand the processes ie. GAs Basic flows - operator, parameters involved (roles, effects etc)To be able to know how to apply Gas in solving optimisation problems.

Page 3: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

3

Outline

IntroductionSimulation of Natural EvolutionGenetic Algorithms : Mice & Cat StoryExample 1 : Burger and Profit ProblemExample 2 : Optimization of simple equationExample 3 : Optimization of complex equationExample 4 : The Traveling Salesman ProblemSummary

Page 4: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

4

Introduction: Can Evolution be Intelligent ?

Intelligence can be defined as the capabilityof a system to adapt its behavior to ever-changing environment.Evolutionary computation simulates evolutionon a computer. The result of such asimulation is a series of optimizationalgorithms, usually based on a simple set ofrules.

Page 5: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

5

Introduction: continue

Optimization iteratively improves the qualityof solutions until optimal or at least feasible,solution is found.The behavior of an individual organism is aninductive inference about some yet unknownaspects of its environment. If, over successivegenerations, the organism survives, we cansay that this organism is capable of learningto predict changes in its environment

Page 6: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

6

Introduction: continue

The evolutionary approach is based oncomputational models of natural selection andgenetics. We call the evolutionarycomputation, an umbrella term that combinesgenetic algorithms, evolutionary strategiesand genetic programming.

Page 7: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

7

Simulation of Natural Evolution

Natural Evolution .. Neo-Darwinian paradigm …process of reproduction, mutation, competition andselection.The power to reproduce appears to be an essentialproperty of life.The power to mutate is also guaranteed in any livingorganism that reproduces itself in a continuouslychanging environment.Processes of competition and selection normally takeplace in the natural world, where expandingpopulations of different species are limited by a finitespace.

Page 8: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

8

Continue

Evolution can be seen as a process leading tothe maintenance of a population’s ability tosurvive and reproduce in a specificenvironment. This ability is calledevolutionary fitness.Evolutionary fitness can also be viewed as ameasure of organism’s ability to anticipatechanges in its environment.The better an organism's fitness to theenvironment, the better its chances to survive

Page 9: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

9

Evolutionary process !

+

Father mother

Offspring(s)

Mice & Cats

Example of evolutionary process

Basically it is about the survival of the fittest …

Page 10: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

10

mice & cats : an evolutionary process

Mice

Cats

Survive?

Run Faster

Run Faster

Zig-zag pattern

To survive: Mice escape from the cat & cats catch

mice

Utilize the surrounding

. . .

Understand thepattern

Beware ofthe Surrounding

. . .

Page 11: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

11

The Mice & Cats algorithm

Mice & Cats want to survive .While (mice != dead || cats != dead)

if (speed(mice) > speed(cats) ) mice = survive else cats = survive

if (pattern(mice) > pattern(cats)mice = survive else cats = survive

if (surrounding(mice) > surrounding(cats)mice = survive else cats = survive

** *

endofwhile

Page 12: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

12

General Evolutionary Process

Population

Weak Strong & intelligent

Die : end of evolution Survive :

evolve

Environment New generation

Page 13: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

13

Page 14: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

14

Genetic Algorithms

In the early 1970’s John Holland introduced theconcept of genetic algorithmsHis aim was to make computer do what naturedoes. Holland was concerned with algorithmsthat manipulate strings of binary digits.Each artificial “chromosomes” consist of anumber of “genes”, and each gene is representedby 0 or 1

1 0 1 1 0 0 1 1 1

Page 15: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

15

GA … a definition A genetic algorithm maintains

a population of candidate solutions for the problem at hand, and makes it evolve by iteratively applying a set of stochastic operators

Page 16: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

16

Stochastic operators

Selection replicates the most successful solutions found in a population at a rate proportional to their relative qualityRecombination decomposes two distinct solutions and then randomly mixes their parts to form novel solutionsMutation randomly perturbs a candidate solution

Page 17: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

17

Metaphor NatureGenetic Algorithm

EnvironmentOptimization problem

Individuals living in that environment

Feasible solutions

Individual’s degree of adaptation to its surrounding environment

Solutions quality (fitness function)

Page 18: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

18

Metaphor (cont.)NatureGenetic Algorithm

A population of organisms (species)

A set of feasible solutions

Selection, recombination and mutation in nature’s evolutionary process

Stochastic operators

Evolution of populations to suit their environment

Iteratively applying a set of stochastic operators on a set of feasible solutions

Page 19: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

19

Basic Genetic Algorithm

Step1: Represent the problem variabledomain as a chromosomes of a fixed length.Choose size of population N, probability ofmutation pm and crossover pc

Step2: Define fitness function to measureperformance of individual chromosomes.Step3: Randomly generate initial populationof chromosomes of sized N.Step 4: Calculate the fitness of eachindividual chromosomes.

Page 20: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

20

continue

Step 5: Select a pair of “fit” chromosomes formating.Step 6: Create a pair of offspring chromosomes by applying crossover and mutation.Step 7: Place the created offspring chromosomes in the new population.Step 8: repeat Step 5 until the size of the new population equal to size of initial population, N

Page 21: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

21

continue

Step 9: Replace the initial (parent) chromosomes with the new (offspring) population.Step 10: Go to Step 4 and repeat the process until the termination criterion satisfy.

Page 22: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

22

Another way of looking at this…

produce an initial population of individuals

evaluate the fitness of all individuals

While termination condition not met do

select fitter individuals for reproduction

recombine between individuals

mutate individuals

evaluate the fitness of the modified individuals

generate a new population

End while

Page 23: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

23

A simplified flow chart of GA process

Another way of looking at this…

Page 24: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

24

Question so far …

Page 25: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

25

Example 1:

Burger and Profit Problem

The goal : To help the owner of a restaurant find the best combination of possible solutions (we will see in next slide) that produce the highest profit.

Page 26: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

26

The Burger and Profit Problem: understanding the problem

Decision To make;which is more profitable??:Price : Should the price of the burger be RM1 or RM2?Drink : Should coke or pepsi be served with the burger ?Speed of Service : Should the restaurant provide slow, leisurely service by waiter with tuxedos or fast, snappy service by waiters in white polyester uniform ?

3 D

omain

variable

Page 27: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

27

The Burger and Profit Problem: understanding the problem

There are 3 decision variables each of which can assume one of two possible values.Assuming L is the length of string of possible strategy or combination so L = 3.Assuming K is the possible value for the decision variable so K = 2.The search space for this problem is 23 = 8 possible strategies but we consider only 4 possible combinations.

Page 28: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

28

The burger and profit Problem : Representation/encoding

We can represent the problem (decision to make) in binary. ie.

Price (0 represents RM1; 1 represents RM2)Drink (0 represents Pepsi; 1 represents Cola)Speed (0 represents Leisurely; 1 represents Fast)

Strategy Price Drink Speed Binary

1 RM1 Cola Fast 0112 RM1 Pepsi Fast 0013 RM2 Cola Leisurely 1104 RM1 Cola Leisurely 010

Page 29: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

29

The burger and profit Problem : fitness function

Fitness = Profit For Simplicity .. The fitness is evaluated based on the binary value

i StringXi

Fitness

F(Xi)

1 011 3

2 001 1

3 110 6

4 010 2

Generation 0

Total 12

Worst 1

Average 3.00

Best 6

.25

.08

.50

.17

∑ )(

)(

i

i

Xf

Xf

25%17%

8%50%

110

010 011

001

Page 30: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

30

The burger and profit Problem : Selection/Reproduction

Roulette Wheel Approach110 has possibility of 0.50 to reproduce so in the wheel it has 180 degree sector of being selected. In theory, it will be selected 2 x in next generation.011 has possibility of 0.25 ie. ¼ chances to reproduce.The same goes to the other string/ individual.BUT since GA is probabilistic, that the string 110 can be chosen 3X or even none in the next gen. The same applies to others

Mating Pool Selected for Reproduction

Mating Pool

PoolF(Xi)

011 3

110 6

110 6

010 2

Total 17

Worst 2

Average 4.25

Best 6

Page 31: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

31

The burger and profit Problem : Xover

Fixed Point XoverTwo parents are chosen based on theirs fitness i.e. 011 and 110 are selected.Randomly select a point between 0 and L-1 (L = length of the string (3)).Suppose the point is 2.

Parent1 Parent20 1 1 1 1 0

Offspring1 Offspring2

0 1 11 10

After Xover(Generation 1)

Xover Point

StringXi

FitnessF(Xi)

2 111 7

2 010 2

- 110 6

- 010 2

Total 17

Worst 2

Average 4.25

Best 7

Page 32: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

32

The burger and profit Problem : Result

i StringXi

FitnessF(Xi)

1 011 3

2 001 1

3 110 6

4 010 2

Generation 0

Total 12

Worst 1

Average 3.00

Best 6

.25

.08

.50

.17

∑ )(

)(

i

i

Xf

Xf

Mating Pool Created After Reproduction

After Xover(Generation 1)

Xover Point

StringXi

FitnessF(Xi)

2 111 7

2 010 2

- 110 6

- 010 2

Mating Pool

PoolF(Xi)

011 3

110 6

110 6

010 2

17 17

2 2

4.25 4.25

6 7

Page 33: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

33

Example 2: Optimization of 15x – x^2

The Task : Find the maximum value of thefunction (15x – x ^2) where parameter xvaries between 0 and 15. Assume forsimplicity that x takes only integer values.

Page 34: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

34

Answer these questions?

• How do we represent the problem in chromosomes like structure ?

• What is the fitness function ?

• What kind of stochastic operators we want to use ?

• What will be the termination criterion ?

• What should be the initial value of Num. Of Population N, Xover Probability Pc , Mutation Probability Pm and Num. Of generation gen

Page 35: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

35

Example 2: Solution Representation

Integer Binary Code

Integer Binary Code

Integer Binary Code

12345

00010010001101000101

678910

01100111100010011010

1112131415

10111100110111101111

Since parameter x is between 0 – 15 andassumed to be integer value only, the solutioncan be represented as a string of “0” and “1”of size 4.

Page 36: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

36

Example 2: Operator ParametersNumber of Population, N , Probability ofMutation Pm, Cross over, Pc and number ofgeneration are subject to be experimented.Rule of thumb:

Pc should be big - Pm should be small – N shouldbe medium (relative to the problems)

Let chooseN = 6, Pc = 0.7 and Pm = 0.01

Page 37: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

37

Example 2: The Fitness Function

Since we want to find themax of function (15x-x*x),the fitness function will thefunction ie.

f(x) = 15x – x*x

fitness value

0

10

20

30

40

50

60

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

xf(x

)

Page 38: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

38

Example 2: Stochastic Operators

Selection / reproduction : Roulette WheelCrossover : One point Xover – based onprobability of XoverMutation : Change gene based on probabilityof mutation

Page 39: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

39

Example 2: Termination Criteria

In most GAs application termination criterionwill be number of generations. In thisexample, we will choose that criterion.

Page 40: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

40

DEMO example 2

Execute your Matlab program.Open file GA_1.mEvaluate the File ie. run it …

Page 41: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

41

Summary of exercise 2

The problem is simple and finite, ie we knowthe answer right away without using GA bylooking at all possible solution of parameter x(0 – 15).This example however, show how GA worksin finding the optimum result by iteratively“evolve” in the environment.

Page 42: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

42

Example 3: Optimization of two parameters x and y

The task : Find the maximum of the “peak”function of two variables.

where parameters x and y vary between -3and 3

2222

)()1(),( 33)1(2 yxyx eyxxexyxf −−+− −−−−=

Page 43: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

43

Answer these questions?

• How do we represent the problem in chromosomes like structure ?

• What is the fitness function ?

• What kind of stochastic operators we want to use ?

• What will be the termination criterion ?

• What should be the initial value of Num. Of Population N, Xover Probability Pc , Mutation Probability Pm and Num. Of generation gen

Page 44: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

44

Example 3: Solution Representation

0 0 1 1 1 0 1 1

Since parameter x and y is between -3 and+3, we can represent it in concatenatedbinary form of 8 bits for x and 8 bits for y

1 0 0 0 1 0 1 0

x y

Page 45: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

45

Continue : representation

We need to convert / map the binary value into the desired value of x and y.

Example : let say we have this value for x and y

100010102 = 13810 0011101112 = 5910

0 0 1 1 1 0 1 11 0 0 0 1 0 1 0

Page 46: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

46

Continue : representation

Map the value of 8 bits integer (0 – 2^8 – 1)to the desired value of -3 to +3.

6 / 256 -1 = 0.0235294To obtain the actual value of x and y,multiply their decimal values by 0.0235294and subtract 3 from the result

x = 138 * 0.0235294 – 3 = 0.2470588y = 59 * 0.0235294 – 3 = -1.6117647

Page 47: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

47

Example 3: The Fitness Function

The fitness function would be the equation ie.

2222

)()1(),( 33)1(2 yxyx eyxxexyxf −−+− −−−−=

Page 48: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

48

Example 3: Stochastic Operators

SAME AS BEFORE…Selection / reproduction : Roulette WheelCrossover : One point Xover – based onprobability of XoverMutation : Change gene based on probabilityof mutation

Page 49: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

49

Example 3: Termination Criteria

Num of generation … any other suggestion ?

Page 50: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

50

DEMO example 3

Execute your Matlab program.Open file GA_2.mEvaluate the File ie. change the parameterand see the effects ..

Page 51: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

51

Example 4: Traveling Salesman Problem (TSP)

The task : Given a finite number of cities, Nand the cost of travel (or distance) betweeneach pair of cities, we need to find thecheapest way (or shortest route) for visitingeach city exactly once and returning to thestart point.

Page 52: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

52

Continue ..

The TSP is represented in numerous transportation and logistics applications such as

Arranging routes for school buses to pick up children in a school districtDelivering meals to home-bound peopleScheduling stacker cranes in a warehousePlanning truck routes to pick up parcel post and many other ..A classic example of the TSP is the scheduling of a machine to drill holes in a circuit board.

Page 53: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

53

Answer these questions?

• How do we represent the problem in chromosomes like structure ?

• What is the fitness function ?

• What kind of stochastic operators we want to use ?

• What will be the termination criterion ?

• What should be the initial value of Num. Of Population N, Xover Probability Pc , Mutation Probability Pm and Num. Of generation gen

Page 54: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

54

Example 4: Solution RepresentationWe need to represent the route of the salesmen in chromosomes like structure – how ?An easy answer for that would be label the cities with alphabets or number and each possible route will represent the path.Example .. Suppose we have 9 cities, so the chromosomes would be like ..

1 6 5 3 2 8 4 9 7

Page 55: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

55

Continue : the path representation

1 6 5 3 2 8 4 9 7

1

65

2

3

8

4

9

7

Page 56: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

56

Example 4: Operator Parameters

Subject to be experimented …same as beforeNumber of Population, N , Probability ofMutation Pm, Cross over, Pc and number ofgeneration are subject to be experimented.Rule of thumb:

Pc should big - Pm should small – N should inmedium size (relative to the problems)

Page 57: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

57

Example 4: The Fitness Function

If we want to find the shortest path, thendistance between each pair of cities would bethe fitness function the shorter the routethe fitter the chromosomesIf we want to find the optimal cost, then fare/ expenses between each pair of cities wouldbe the fitness function.

Page 58: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

58

Example 4: Stochastic Operators

SAME AS BEFORE…HOWEVER NOTE THAT ITIS NOT THAT EASY FOR MUTATION ANDCROSSOVER ..

Page 59: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

59

CONTINUE : CROSSOVER

The crossover in its classical form cannot be directly applied to TSP. A simple exchange of parts between two parents would produce illegal routes containing duplicates and omissions – some cities would be visited twice while some others would not be visited at allExample..

1 6 5 3 9 4 8 2 5

1 6 5 3 2 8 4 9 7 3 7 6 1 9 4 8 2 5

3 7 6 1 2 8 4 9 7

Parent 1 Parent 2

Child 1 Child 2

Page 60: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

60

CONTINUE : CROSSOVER for TSP

1 6 5 3 2 8 4 9 7 3 7 6 1 9 4 8 2 5Parent 1 Parent 2

* * * 1 9 4 8 * * * * * 3 2 8 4 * *Child 1 Child 2

1 6 5 3 2 8 4 9 7 3 7 6 1 9 4 8 2 5Parent 1 Parent 2

6 5 3 1 9 4 8 2 7 7 6 1 3 2 8 4 9 5child 1 child 2

Step1 (normal crossover)

Step2 (evaluate: repeated num is omitted and remaining num replaces *)

Page 61: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

61

CONTINUE : Mutation For TSP

There are two types of mutation operators for TSP

Reciprocal exchange & inversion

Reciprocal exchange operator simply swaps two randomly selected cities in the chromosome.Inversion operator selects two randomly point along the chromosome string and reverses the order of the cities between these points

Page 62: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

62

CONTINUE : Mutation For TSP

1 6 8 3 2 5 4 9 7

1 6 5 3 2 8 4 9 7 1 6 5 3 2 8 4 9 7Original original

mutated mutated

Reciprocal Exchange Inversion

1 2 3 5 6 8 4 9 7

Page 63: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

63

Example 4: Termination Criteria

Of course Num of generation again …Try with some numbers ie. 60 , 100, 120 etcsee the effect

Page 64: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

64

DEMO example 3

Execute your Matlab program.Open file GA_TSP.mEvaluate the File ie. change the parameterand see the effects ..

Page 65: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

65

Summary of GADeveloped: USA in the 1970’s by Holland and his studentsA class of probabilistic optimization algorithmsInspired by the biological evolution processUses concepts of “Natural Selection” and “Genetic Inheritance” (Darwin 1859)Typically applied to:

discrete optimization (ex. TSP)Attributed features:

good solver for combinatorial problemsSpecial:

many variants, e.g., reproduction models, operatorsformerly: the GA, nowdays: a GA, GAs

Page 66: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

66

Summary : What you have learned ..

The processes involved in GA .. – stochasticoperatorsHow to represent some problems intochromosomes like structure ..How to do Xover & mutation …Understand the effect of N ,Pm and Pc andalso number of generation as terminationcriteriaBasically how GAs works …

Page 67: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

67

What we have not covered .... To name a few

We have not got into details on techniques in the stochastic operators.Schemata theory to prove GA does work to solve NP-problemsSome other alternative to represent chromosomes like structure ie. bits of “0” & “1”, floating points, integers, rules, symbols etc.……

Page 68: GENETIC ALGORITHM with Hands-On exercise AI (1)/GA... · GENETIC ALGORITHM with Hands-On exercise . ... pattern. To survive: Mice escape from the cat & cats catch ... =0.7andP. m

68

The End