Sie sind auf Seite 1von 48

Genetic Algorithms

Objectives
To provide a background and understanding of basic genetic algorithms and some of their applications. a basic genetic algorithm the basic discussion the applications of the algorithm

Genetic Algorithms

1859 Origin of the Species


Survival of the Fittest

Genetic Algorithms

1975 Genetic Algorithms Artificial Survival of the Fittest

Genetic Algorithms
Terms
Biological Chromosome Gene Genomes GA Terms String Feature, character Guesses, solutions, collection of genes

Genetic algorithms are search procedures based on the mechanics of genetics and natural selection.

Genetic Algorithms
Numerous techniques and algorithms have been developed to assist the engineer in the creation of optimum development strategies.
These procedures quickly converge to optimal solutions after examining only a small fraction of the search space and have been successfully applied to complex engineering optimisation problems.

Genetic Algorithms
Evolution in the animal world allows developing species to thrive in particular environments.
Genetic algorithms are capable of solving other types of problems, using genetic operators abstracted from nature, they form a mechanism suitable for a variety of search problems.

Genetic Algorithms
Genetic algorithms try to imitate the Darwinian evolution process in computer programs. Conceivable solutions are represented, the 'fittest' will have the greatest chance of reproducing. Successful properties will therefore be favourably represented within the population of solutions. The population is the successively 'optimised' after a number of generations.

Genetic Algorithms
In evolutionary systems, populations evolve by selective pressures, mating between individuals, and alterations such as mutations. In genetic algorithms, operators duplicate, recombine and change solutions in the current population to create a new population, simulating similar effects.

Genetic Algorithms
A genetic algorithm simulates Darwinian theory of evolution using highly parallel, mathematical algorithms that, transform a set (population) of mathematical object (typically strings of 1's and 0's) into a new population, using operators such as: reproduction, mutation and crossover.

Genetic Algorithms
The initial population is selected at random, which could be the toss of a coin, computer generated or by some other means, and the algorithm will continue until a certain time or a certain condition is met.

Genetic Algorithms
Determine the initial population of creatures Determine the fitness of the population Reproduce the population using the fittest parents of the last generation Determine the crossover point, this can also be random Determine if mutation occurs and if so on which creature(s) Repeat from step 2 with the new population until condition (X) is true

Genetic Algorithms
Such algorithms differ from traditional search and optimisation methods in that they use codings of the control parameters adapt solutions themselves process successive generations use randomised operators.

Genetic Algorithms Encoding the Solutions


The decision variables of a problem are normally encoded into a finite length string This could be a binary string or a list of integers For example :
0 1 1 0 1 1 0 1 0 or
We could also represent numbers as coloured boxes

5 1 4 2 3 4 1

Genetic Algorithms Encoding the Solutions


Initial population Evaluations on the population Breeding (iteratively) Choose suitable parents Produce two offspring Mutation
Evaluation function - Domain knowledge

Genetic Algorithms Flowchart (20 generations)


Generate Initial Population n=1 Population Generation 'n' Reproduce Population

Crossover Population
Mutate Population n < 20 n=n+1 Final Population

n = 20

Genetic Algorithms
Reproduction
Solutions are carried forward to the next stage based on weighted probability. Some will survive (1) Some will reproduce (2) Some will die out (3)

1 2 3

1 2 3

Genetic Algorithms
Parent selection
Roulette Wheel Sum the fitnesses of all the Selection population members, TF Generate a random number, m, between 0 and TF Return the first population member whose fitness added to the preceding population members is greater than or equal to m

Genetic Algorithms
Crossover
Crossover
1 2 1 2 A percentage of the population is selected for breeding and assigned random mates.

One Point Crossover in Genetic Algorithms

A random crossover point is selected and a pair of new solutions are produced

Graham Kendall gxk@cs.nott.ac.uk http://cs.nott.ac.uk/~gxk

Adapted from Dr Graham Kendalls G5BAIM lecture example

Genetic Algorithms
Mutation

In a small percentage of the population random changes are made.

Genetic Algorithm Performance


There are a number of factors which affect the performance of a genetic algorithm. The size of the population The cross-over probability The mutation probability Defining convergence Local optimisation

Genetic Algorithms
Each iteration of the loop is called a generation, fitness can be gauged in several different ways depending on the application of the algorithm.
Reproduction and crossover play the primary role in artificial genetic search. Reproduction emphasises highly fit strings (or good solutions), and crossover recombines these selected solutions for new, potentially better solutions. Mutation plays a secondary role in the search by providing diversity in the population.

Genetic Algorithm Example I


Maximise f(x) = x3 - 60 * x2 + 900 * x +100 0 <= x <= 31

Crossover probability, PC = 1.0 Mutation probability, PM = 0.0 x can be represented using five binary digits
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 100 941 1668 2287 2804 3225 3556 3803 3972 4069 4100 4071 3988 3857 3684 3475 3236 2973 2692 2399 2100 1801 1508 1227 964 725 516 343 212 129 100

f(x) = x^3 - 60x^2 + 900x + 100


Max : x = 10
4500 4000 3500 3000 2500 2000 1500 1000 500 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37

Adapted from Dr Graham Kendalls G5BAIM lecture example

Genetic Algorithm Example I


Generating random initial population
Maximise f(x) = x3 - 60 * x2 + 900 * x +100 (0 <= x <= 31)

chromosome binary string P1 11100 P2 01111 P3 10111 P4 00100 Total Average

x 28 15 23 4

f(x) 212 3475 1227 2804 7718 1929.50

Genetic Algorithm Example I


Choose two parents (roulette selection)

Roulette wheel 4116 1915

Parents P3 P2

Genetic Algorithm Example I


One point crossover (random position 1)

P3 P2 C1

1 0 1

0 1 1

1 1 1

1 1 1

1 1 1

P4 P2 C3

0 0 0

0 1 0

1 1 1

0 1 1

0 1 1

C2

C4

Genetic Algorithm Example I


New generation
Maximise f(x) = x3 - 60 * x2 + 900 * x +100 (0 <= x <= 31)

chromosome binary string P1 11111 P2 00111 P3 00111 P4 01100 Total Average

x 31 7 7 12

f(x) 131 3803 3803 3889 11735 2933.75

Genetic Algorithm Example I


Two generations
Maximise f(x) = x3 - 60 * x2 + 900 * x +100 (0 <= x <= 31) chromosome P1 binary string 11100 x 28 f(x) 212 chromosome P1 binary string 11111 x 31 f(x) 131

P2
P3 P4

01111
10111 00100 Total Average

15
23 4

3475
1227 2804 7718 1929.50

P2
P3 P4

00111
00111 01100 Total Average

7
7 12

3803
3803 3889 11735 2933.75

Mutation

Genetic Algorithm Example II


Traveling Salesman Problem a number of cities costs of traveling between cities a traveling sales man needs to visit all these cities exactly once and return to the starting city Whats the cheapest route?

Genetic Algorithm Example II


Traveling Salesman Problem

Genetic Algorithm Example II


Initial generation
P1 P2 P30 5 8 1 84 32 27 54 67 9 9 11 7 44 24 6.5 7.8 6.0 78 81 27 8 1 7

16 36 24 19

Genetic Algorithm Example II


Choose pairs of parents
P30 P2 8 1 7 9 9 16 36 24 19 11 7 44 24 6.0 7.8 78 81 27

Crossover
C1 C2 8 1 7 9 9 11 13 44 24 7 16 36 24 19 5.9 6.2

78 81 27

Genetic Algorithm Example II


Next generation
P1 P2 P2 8 1 7 9 9 5 11 7 44 24 5.9

78 81 27 7 8 2

16 36 24 19 10 76 4 79

6.2
6.0

Genetic Algorithm Example II


Traveling Salesman Problem
No. of cities: 100 Population size: 30

Cost: 6.37 Generation: 88

Cost: 6.34 Generation: 1100

Genetic Algorithms
Genetic algorithms by their very nature consider a wide range of the search space for a particular problem.
Unlike other techniques they search from a population of points not from a single point, they are therefore less likely to become trapped on false optimisation peaks. Using simple operations, genetic algorithms are able to rapidly optimise design parameters after examining only a small fraction of the search space.

Genetic Algorithms
There are many diverse applications of genetic algorithms, but there are proviso's. They are best suited to problems where the efficient solutions are not already known. If they are applied to these solvable problems then they will be easily out-performed by the efficient known, standard computing method. The strength of GA's is their ability to heuristically search for solutions when all else fails. But before one can use the algorithm you must be able to represent the solutions to the problem in a suitable format, such as a series of 1's and 0's. If you can do this then the GA will do the rest.

Applying Genetic Algorithms to Personnel Scheduling

Personnel Scheduling

Personnel scheduling in healthcare is usually a very complex operation which has a profound effect upon the efficient usage of expensive resources.

Personnel Scheduling
A number of nurses A number of shifts each day A set of constraints
shift coverage one shift per day

resting time workload per month consecutive shifts working weekends

Personnel Scheduling

Personnel Scheduling
Genetic Algorithm -Initial population -construct rosters -repair infeasible ones

Personnel Scheduling
Genetic Algorithm -Select parents -Recombine rows in the two rosters -repair infeasible ones

Personnel Scheduling
Genetic Algorithm -Mutation -Local optimiser

Testing Scheme

Population Size Crossover Probability Mutation Probability Local Optimiser

50 0.7 0.001 ON

Future Development
Improving Efficiency

Parameter tuning Crossover operators Local optimiser

Conclusions
GA approach is feasible and practical Heuristic

Can produce better results Not guaranteed Fitness (evaluation) function Independent of GA engine

Flexible

Conclusions
Predictions have been made that advances in mathematics, fuzzy logic, chaos and fractals will promote and enhance the work currently being undertaken by GA's. The future will bring forth new applications of genetic algorithms and new techniques which will allow GA's to be fully exploited.

Conclusions
Survival of the fittest, the most fit of a particular generation (the nearest to a correct answer) are used as parents for the next generation.

The most fit of this new generation are parents for the next, and so on. This eradicates bad solutions and eliminates bad family lines, bad parents don't have opportunity to produce bad children.
This facilitates the progression towards an answer to be onwards and upwards.

Conclusions
As we have seen Genetic algorithms are a very powerful tool, allowing searching for solutions when there are no other feasible means to do so.

The algorithm is easy to produce and simple to understand and enhancements easily introduced. This gives the algorithm much flexibility, which increases it's value.
But, exploitation of the algorithm has still much more work to be done.

Das könnte Ihnen auch gefallen