35
introduction to introduction to Genetic Algorithms Genetic Algorithms Yonatan Shichel Yonatan Shichel

Introduction to Genetic Algorithms Yonatan Shichel

  • View
    228

  • Download
    2

Embed Size (px)

Citation preview

introduction tointroduction to

Genetic AlgorithmsGenetic AlgorithmsYonatan ShichelYonatan Shichel

Genetic AlgorithmsGenetic Algorithms

Bio-InspiredBio-Inspired artificial intelligence

class of probabilistic optimization

algorithms

Well-suited for nonlinear/hard problems

with a large search space

Developed by John Holland

Influenced by Darwin’s Origin of species

What are Genetic Algorithms?What are Genetic Algorithms?

EvolutionEvolution

VarietyVariety of species individuals

within the population

CompetitionCompetition for limited resources

OverproductionOverproduction of offspring

generation

Survival of the fittestSurvival of the fittestOrigin of Species, 1859

Darwin’s principlesDarwin’s principles

EvolutionEvolution

Initial population• Variety of shapes, colors, behaviors

• Each individual fits differently to the

environment

HHow does it work?ow does it work?

EvolutionEvolution

Initial population

Reproduction• Offspring combines both parents properties

• Siblings may differ

in properties

• Mutations may occur

HHow does it work?ow does it work?

EvolutionEvolution

Initial population

Reproduction

Limited environmental resources• Only a portion of the

individuals survive

• Survival chances –

according to fitness

measure...

• ... usually.

HHow does it work?ow does it work?

EvolutionEvolution

ObservationsObservations

Changes in the population content• “good” properties are kept, “bad” are distinct

• evolutionary pressure

Genetic AlgorithmsGenetic Algorithms

The computational modelThe computational modelproduce an initial population of individuals

while (termination condition not met) do

evaluate the fitness of all individuals

select fitter individuals for reproduction

recombine between individuals

mutate individuals

Genetic AlgorithmsGenetic Algorithms

The computational modelThe computational modelproduce an initial populationinitial population of individuals

while (termination conditiontermination condition not met) do

evaluateevaluate the fitness of all individuals

selectselect fitter individuals for reproduction

recombinerecombine between individuals

mutatemutate individuals

Genetic AlgorithmsGenetic Algorithms

The computational modelThe computational model

GGnn

55

44

12

31

95

32

87

12

0

65

53

2

91

73

+

GGn+n+

11

=

crossover

mutation

fitness

GA in actionGA in action

The Knapsack problem (NP)The Knapsack problem (NP)

There are N items:

• Each item i has a weight wi

• Each item i has a value vi

The knapsack has a limited capacity of

W units.

The problem description:• Maximize

• While

i

iv

Wwi

i

GA in actionGA in action

The Knapsack problem (NP)The Knapsack problem (NP)

For example:

Knapsack capacity = 100

A B C D E F G H I J14 26 19 45 5 25 34 18 30 12

20 24 18 70 14 23 50 17 41 21

GA in actionGA in action

Before we begin…Before we begin…

1. Define the genome encodinggenome encoding

2. Define the fitness functionfitness function

GA in actionGA in action

Genome EncodingGenome Encoding

Bit array:

0 = don’t take the item

1 = take the item

(items taken: A, B, E)

1 1 0 0 1 0 0 0 0 0

A B - - E - - - - -

GA in actionGA in action

Genome EncodingGenome Encoding

Bit array:

0 = don’t take the item

1 = take the item

(items taken: A, B, C, D, E, F, G, I)

1 1 1 1 1 1 1 0 1 0

A B C D E F G - I -

GA in actionGA in action

Fitness FunctionFitness Function

otherwisewW

WwvFitness

itemsi

itemsi

itemsi

:

:

A B C D E F G H I J

14 26 19 45 5 25 34 18 30 12

20 24 18 70 14 23 50 17 41 21

58

10045

EBA

EBA

vvvFitness

www

GA in actionGA in action

Fitness FunctionFitness Function

otherwisewW

WwvFitness

itemsi

itemsi

itemsi

:

:

A B C D E F G H I J

14 26 19 45 5 25 34 18 30 12

20 24 18 70 14 23 50 17 41 21

98

100198

IGFEDCBA

IGFEDCBA

wwwwwwwwWFitness

wwwwwwww

Genetic AlgorithmsGenetic Algorithms

Fitness EvaluationFitness Evaluation

produce an initial population of individuals

while (termination condition not met) do

evaluateevaluate the fitness of all individuals

select fitter individuals for reproduction

recombine between individuals

mutate individuals

Genetic AlgorithmsGenetic Algorithms

Fitness EvaluationFitness Evaluation

For each individual, calculate the fitness value:

Genetic AlgorithmsGenetic Algorithms

SelectionSelectionproduce an initial population of individuals

while (termination condition not met) do

evaluate the fitness of all individuals

selectselect fitter individuals for reproduction

recombine between individuals

mutate individuals

Genetic AlgorithmsGenetic Algorithms

SelectionSelection

Fitness-proportionate (roulette wheel)

Rank Selection (scaling)

Tournament Selection

Genetic AlgorithmsGenetic Algorithms

CrossoverCrossover

produce an initial population of individuals

while (termination condition not met) do

evaluate the fitness of all individuals

select fitter individuals for reproduction

recombinerecombine between individuals

mutate individuals

Genetic AlgorithmsGenetic Algorithms

CrossoverCrossover

Using a crossover probability PC per individual:

Single point crossover

Two/multi points crossover

Uniform / weighted crossover

Genetic AlgorithmsGenetic Algorithms

MutationMutation

produce an initial population of individuals

while (termination condition not met) do

evaluate the fitness of all individuals

select fitter individuals for reproduction

recombine between individuals

mutatemutate individuals

Genetic AlgorithmsGenetic Algorithms

MutationMutation

Using a crossover probability PM per bit:

Bit flip mutation

Bit switch mutation

Genetic AlgorithmsGenetic Algorithms

Crossover & Mutation examplesCrossover & Mutation examples

Genetic AlgorithmsGenetic Algorithms

Initial PopulationInitial Populationproduce an initial populationinitial population of individuals

while (termination condition not met) do

evaluate the fitness of all individuals

select fitter individuals for reproduction

recombine between individuals

mutate individuals

Genetic AlgorithmsGenetic Algorithms

Initial PopulationInitial Population

Create a fixed size population using:

Random generated individuals

Individuals resulted from previous

evolutionary runs

GA in actionGA in action

Initial PopulationInitial Population

Example of random population:

Genetic AlgorithmsGenetic Algorithms

Termination ConditionTermination Condition

produce an initial population of individuals

while (termination conditiontermination condition not met) do

evaluate the fitness of all individuals

select fitter individuals for reproduction

recombine between individuals

mutate individuals

Genetic AlgorithmsGenetic Algorithms

Termination ConditionTermination Condition

When an optimal solution is found

When the results converge to constant value

After a predetermined number of generations

Genetic AlgorithmsGenetic Algorithms

Sample Evolutionary RunSample Evolutionary Run

Population size: 100 individuals

Crossover: Single pt., PC=0.9

Mutation: Bit flip, PM=0.01

Selection: tournament, groups of 2

Termination condition: after 100

generations

Genetic AlgorithmsGenetic Algorithms

Sample Evolutionary RunSample Evolutionary Run

Genetic AlgorithmsGenetic Algorithms

ConclusionsConclusions

GA is nondeterministic – two runs may

end with different results

There’s no indication whether best

individual is optimal

Fitness tends to converge during time

Genetic AlgorithmsGenetic Algorithms

GA variationsGA variations

Coevolution• Cooperative

• Competitive

Parallel GA

Hybrid GA