0% found this document useful (0 votes)
10 views43 pages

Lecture 09 EGA

A genetic algorithm (GA) is a search technique that uses principles from evolutionary biology to find solutions to optimization problems through processes like selection, crossover, and mutation. The algorithm operates on a population of randomly generated individuals, evolving them over generations until a satisfactory solution is found or a maximum number of generations is reached. GAs are applicable in various domains, including control systems, design, game playing, security, and robotics.

Uploaded by

Shizra Ahmed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views43 pages

Lecture 09 EGA

A genetic algorithm (GA) is a search technique that uses principles from evolutionary biology to find solutions to optimization problems through processes like selection, crossover, and mutation. The algorithm operates on a population of randomly generated individuals, evolving them over generations until a satisfactory solution is found or a maximum number of generations is reached. GAs are applicable in various domains, including control systems, design, game playing, security, and robotics.

Uploaded by

Shizra Ahmed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 43

Artificial Intelligence

Evolutionary Algorithms – Genetic


Algorithm

1
What is GA
• A genetic algorithm (or GA) is a search technique
used in computing to find true or approximate
solutions to optimization and search problems.
• (GA)s are categorized as global search heuristics.
• (GA)s are a particular class of evolutionary
algorithms that use techniques inspired by
evolutionary biology such as inheritance,
mutation, selection, and crossover (also called
recombination).
What is GA
• The evolution usually starts from a
population of randomly generated
individuals and happens in generations.

• In each generation, the fitness of every


individual in the population is evaluated,
multiple individuals are selected from the
current population (based on their fitness),
and modified to form a new population.
What is GA
• The new population is used in the next
iteration of the algorithm.

• The algorithm terminates when either a


maximum number of generations has been
produced, or a satisfactory fitness level
has been reached for the population.

No convergence rule
or guarantee!
Vocabulary

• Individual - Any possible solution


• Population - Group of all individuals
• Fitness – Target function that we are optimizing
(each individual has a fitness)
• Trait - Possible aspect (features) of an individual
• Genome - Collection of all chromosomes (traits) for
an individual.
Basic Genetic Algorithm
• Start with a large “population” of randomly generated
“attempted solutions” to a problem
• Repeatedly do the following:
– Evaluate each of the attempted solutions
– (probabilistically) keep a subset of the
best solutions
– Use these solutions to generate a new population
• Quit when you have a satisfactory solution (or you
run out of time)
Example:
the MAXONE problem

Suppose we want to maximize the number of


ones in a string of l binary digits
Is it a trivial problem?
It may seem so because we know the answer in
advance
However, we can think of it as maximizing the
number of correct answers, each encoded by 1,
to lyes/no difficult questions`
10
Example (cont)
• An individual is encoded (naturally) as a string of l
binary digits
• The fitness f of a candidate solution to the MAXONE
problem is the number of ones in its genetic code
• We start with a population of n random strings.
Suppose that l = 10 and n = 6

11
Example (initialization)
We toss a fair coin 60 times and get the
following initial population:
s1 = 1111010101 f (s1) = 7
s2 = 0111000101 f (s2) = 5
s3 = 1110110101 f (s3) = 7
s4 = 0100010011 f (s4) = 4
s5 = 1110111101 f (s5) = 8
s6 = 0100110000 f (s6) = 3

12
Step 1: Selection
We randomly (using a biased coin) select a subset
of the individuals based on their fitness:
Individual i will have a f (i)
probability to be chosen
∑i f (i)

1 Area is
2
n Proportional
to fitness
value
3

13
Selected set
Suppose that, after performing selection, we get
the following population:

s1` = 1111010101 (s1)

s2` = 1110110101 (s3)

s3` = 1110111101 (s5)

s4` = 0111000101 (s2)

s5` = 0100010011

(s4) s6` = 1110111101

(s5)

14
Step 2: crossover

•Next we mate strings for crossover. For each


couple we first decide (using some pre-defined
probability, for instance 0.6) whether to
actually perform the crossover or not
•If we decide to actually perform crossover, we
randomly extract the crossover points, for
instance 2 and 5

15
Crossover result
Before crossover:
s1` = 1111010101 s2` = 1110110101

After crossover:
s1`` = 1110110101 s2`` = 1111010101

16
Step 3: mutations
The final step is to apply random mutations: for each bit that we are to copy to
the new population we allow a small probability of error (for instance 0.1)

Initial strings After mutating


s1`` = 1110110101 s1``` = 1110100101
s2`` = 1111010101 s2``` = 1111110100
s3`` = 1110111101 s3``` = 1110101111
s4`` = 0111000101 s4``` = 0111000101
s5`` = 0100011101 s5``` = 0100011101

s6`` = 1110110011 s6``` = 1110110001

17
And now, iterate …

In one generation, the total population fitness


changed from 34 to 37, thus improved by ~9%

At this point, we go through the same process


all over again, until a stopping criterion is
met

Introduction to Genetic Algorithms 18


Biological motivation
Biological
Background
• Every animal cell is“The
a complex
cell”of many
small “factories” working together.
• The nucleus in the center of the cell.
• The nucleus contains the genetic information
Biological Background
“Chromosomes”
• Genetic information is stored in the chromosomes
• Each chromosome is built of DNA
• Genes are encoded in the chromosomes
• Genes code for proteins
• Every gene has a unique
position on the
chromosome
Biological Background: Genotype and
phenotype
• The entire combination of genes is called genotype
• A genotype leads to a phenotype (eye color, height,
disease predisposition)
• The phenotype is affected by changes to the
underlying genetic code
GA Operators
• Methods of representation
• Methods of selection
• Methods of Reproduction
Common representation methods
• Binary strings.
• Arrays of integers (usually bound)
• Arrays of letters
• ….
Methods of Selection

There are many different strategies to select


the individuals to be copied over into the
next
generation
Methods of Selection
• Roulette-wheel selection.
• Elitist selection.
• Fitness-proportionate selection.
• Scaling selection.
• Rank selection.
• …
Roulette wheel selection
• Conceptually, this can be represented as a
game of roulette - each individual gets a slice
of the wheel, but more fit ones get larger
slices than less fit ones.
Roulette wheel selection

No. String Fitness % Of Total

1 01101 169 14.4

2 11000 576 49.2

3 01000 64 5.5

4 10011 361 30.9

Total 1170 100.0


Methods of Reproduction:
Crossover
– Two parents produce two offspring
– Two options:
1.The chromosomes of the two parents are copied
to the next generation
2.The two parents are randomly recombined
(crossed-over) to form new offsprings
Methods of Reproduction
• There are primary methods:
–Crossover
–Mutation
Several possible crossover
strategies
• Randomly select a single point for a
crossover
• Multi point crossover
• Uniform crossover
Two-point crossover
• Avoids cases where genes at the beginning
and end of a chromosome are always split

Parents: 1010001110 0011010010

Offspring: 0101010010 0011001110


Crossover
• Single point crossover

Cross point
• Two point crossover (Multi point crossover)

🡪
Uniform crossover
• A random subset is chosen
• The subset is taken from parent 1 and the other bits from parent
2.

Subset: BAABBAABBB (Randomly generated)


Parents: 1010001110 0011010010

Offspring: 001100101 1010010110


0
Methods of Reproduction:
Mutations

– Generating new offspring from single


parent
🡪
A (slightly more involved)
example
The Traveling Salesman Problem:

Find a tour of a given set of cities so


that
– each city is visited only once
– the total distance traveled is minimized
Representation
Representation is an ordered list of
city numbers known as an order-
based GA.
1) London 3) Dunedin 5) Beijing 7) Tokyo
2) Venice 4) Singapore 6) Phoeni 8) Victoria
x

CityList1 (3 5 7 2 1 6 4 8)
CityList2 (2 5 7 6 8 1 3 4)
Crossover
Crossover combines inversion and recombination:
* *
Parent1 (3 5 7 2 1 6 4 8)
Parent2 (2 5 7 6 8 1 3 4)

Child (5 8 7 2 1 6 3 4)

This operator is called the Order1 crossover.


Mutation
Mutation involves reordering of the list:

* *
Before: (5 8 7 2 1 6 3 4)

After: (5 8 6 2 1 7 3 4)
TSP Example: 30 Cities

120

100

80

y 60

40

20

0 0 10 20 30 40 50 60 70 80 90 10
x 0
Solution i (Distance = 941)
TSP30 (Performance = 941)

120

100

80

y 60

40

20

0
0 10 20 30 40 50 60 70
80 90 100
x
Solution k(Distance = 652)
TSP30 (Performance = 652)

120

100

80

y 60

40

20

0 0 10 20 30 40 50 60 70 80 90 100
x
Best Solution (Distance = 420)
TSP30 Solution (Performance =
420)
120

100

80

y 60

40

20

0 0 10 20 30 40 50 60 70 80 90 100
x
GA Applications
Domain Application Type

Control Gas pipeline, missile evasion

Design Aircraft design, keyboard configuration, communication networks

Game playing Poker, checkers

Security Encryption and Decryption

Robotics Trajectory planning


Benefits of Genetic Algorithms
• Concept is easy to understand
• Modular, separate from application
• Supports multi-objective optimization
• Always an answer; answer gets better with time.
• Easy to exploit previous or alternate solutions
• Flexible building blocks for hybrid applications.

You might also like