Introduction to
Genetic Algorithms




Karthik S
Undergraduate Student (Final Year)
Department of Computer Science and Engineering
National Institute of Technology, Tiruchirappalli
What is GA?
DARWINIAN SELECTION:
From a group of individuals the best will survive

Understanding a GA means understanding the simple, iterative processes that
underpin evolutionary change

GA is an algorithm which makes it easy to search a large search space

EXAMPLE: finding largest divisor of a big number

By implementing this Darwinian selection to the problem only the best
solutions will remain, thus narrowing the search space.



EVOLUTIONARY COMPUTING – BIOLOGY PERSPECTIVE
Origin of species from a common descent and descent of species, as well as
their change, multiplication and diversity over time.



                                              Data Mining                     2
Where GAs can be used?
OPTIMIZATION:
Where there are large solutions to the problem but we have to find
the best one.
ď‚— best moves in chess
ď‚— mathematical problems
ď‚— financial problems


DISADVANTAGES
ď‚— GAs are very slow.
ď‚— They cannot always find the exact solution but they always find
  best solution.




                                        Data Mining                  3
Biological Background
ď‚—   Chromosome: A set of genes. Chromosome contains the solution in
    form of genes.
ď‚—   Gene: A part of chromosome. A gene contains a part of solution. It
    determines the solution. E.g. 16743 is a chromosome and 1, 6, 7, 4 and
    3 are its genes.
ď‚—   Individual: Same as chromosome.
ď‚—   Population: No of individuals present with same length of
    chromosome.
ď‚—   Fitness: Fitness is the value assigned to an individual. It is based on
    how far or close a individual is from the solution. Greater the fitness
    value better the solution it contains.
ď‚—   Fitness function: Fitness function is a function which assigns fitness
    value to the individual. It is problem specific.
ď‚—   Selection: Selecting individuals for creating the next generation.
ď‚—   Recombination (or crossover): Genes from parents form in some way
    the whole new chromosome.
ď‚—   Mutation: Changing a random gene in an individual.



                                            Data Mining                   4
General Algorithm of GA

START

Generate initial population.
Assign fitness function to all individuals.

DO UNTIL best solution is found

      Select individuals from current generation
      Create new offsprings with mutation and/or breeding
      Compute new fitness for all individuals
      Kill all unfit individuals to give space to new offsprings
      Check if best solution is found

LOOP

END



                                       Data Mining                 5
Selection
ď‚—   Darwinian Survival of The Fittest
ď‚—   More preference to better guys
ď‚—   Ways to do:
    â—¦ Roulette Wheel
    â—¦ Tournament
    â—¦ Truncation
ď‚—   By itself, pick best




                                        Data Mining   6
Recombination (crossover)
ď‚—   Combine bits and pieces of good parents
ď‚—   Speculate on new, possibly better children
ď‚—   By itself, a random shuffle

Given two chromosomes

10001001110010010
01010001001000011

Choose a random bit along the length, say at position 9, and swap all the
bits after that point

so the above become:

10001001101000011
01010001010010010


                                           Data Mining                      7
Mutation
ď‚—   Mutation is random alteration of a string
ď‚—   Change a gene, small movement in the neighbourhood
ď‚—   By itself, a random walk



Before:         10001001110010010

After:          10000001110110010




                                      Data Mining        8
Data Mining   9
Improvement / Innovation

IMPROVEMENT:


         Selection                Mutation


Local changes - hill climbing

INNOVATION:

         Selection              Recombination


Combine notions - invent



                                       Data Mining   10
Encoding
“Coding of the population for evolution process”

BINARY ENCODING:

 Chromosome A                011010110110110101
 Chromosome B                101001010100101001

PERMUTATION ENCODING:

 Chromosome A                12345678
 Chromosome B                83456127




                                       Data Mining   11
Example
The travelling salesman problem

Find a tour of given set of cities so that:
ď‚— each city is visited only once
ď‚— the total distance travelled is minimized




                                         Data Mining   12
TSP – Coding for 8 cities
Encoding using permutation encoding
1. Chennai      2. Trichy       3. Thanjavur       4. Madurai
5. Bangalore    6. Hyderabad    7. Coimbatore      8. Cochin

City Route 1:   (12347856)
City Route 2:   (65872134)

CROSSOVER:
(12347856)
                         (12346587)
(31246587)

MUTATION:
(12346587)               (12846537)

                                     Data Mining                13
TSP – GA Process
ď‚—   First, create a group of many random tours in what is called a
    population. This algorithm uses a greedy initial population that
    gives preference to linking cities that are close to each other.
ď‚—   Second, pick 2 of the better (shorter) tours parents in the
    population and combine them to make 2 new child tours.
    Hopefully, these children tour will be better than either parent.
ď‚—   A small percentage of the time, the child tours are mutated. This is
    done to prevent all tours in the population from looking identical.
ď‚—   The new child tours are inserted into the population replacing two
    of the longer tours. The size of the population remains the same.
ď‚—   New children tours are repeatedly created until the desired goal is
    reached.


                        Survival of the Fittest


                                          Data Mining                  14
TSP – GA Process – Issues (1)
The two complex issues with using a Genetic Algorithm to solve the
Traveling Salesman Problem are the encoding of the tour and the crossover
algorithm that is used to combine the two parent tours to make the child
tours.

In this example, the crossover point is between the 3rd and 4th item in the
list. To create the children, every item in the parent's sequence after the
crossover point is swapped.

Parent 1                               F A B | E C G D
Parent 2                               D E A | C G B F
Child 1                                F A B | C G B F
Child 1                                D E A | E C G D

What is the issue here ???

We get invalid sequences as children

                                             Data Mining                      15
TSP – GA Process – Issues (2)
The encoding cannot simply be the list of cities in the order they are
travelled. Other encoding methods have been created that solve the
crossover problem. Although these methods will not create invalid tours,
they do not take into account the fact that the tour "A B C D E F G" is the
same as "G F E D C B A". To solve the problem properly the crossover
algorithm will have to get much more complicated.




                                             Data Mining                      16
Other Examples
THE MAXONE PROBLEM

• Suppose we want to maximize the number of ones in a string of l binary
  digits

• We can think of it as maximizing the number of correct answers, each
  encoded by 1, to l yes/no difficult questions

THE TARGET NUMBER PROBLEM

• Given the digits 0 through 9 and the operators +, -, * and /, find a
  sequence that will represent a given target number. The operators will
  be applied sequentially from left to right as you read.




                                           Data Mining                     17
GA in Data Mining
• Used in Classification

EXAMPLE:

• Two Boolean attributes, A1 and A2, and two classes, C1 and C2

• IF A1 AND NOT A2 THEN C2
  100
• IF NOT A1 AND NOT A2 THEN C1
  001

• If an attribute has k values, where k > 2, then k bits may be used
  to encode the attribute’s values.
• Classes can be encoded in a similar fashion.



                                         Data Mining                   18
Classification Problem
• Associating a given input pattern with one of the distinct classes
• Patterns are specified by a number of features (representing
  some measurements made on the objects that are being
  classified) so it is natural to think of them as d-dimensional
  vectors, where d is the number of different features
• This representation gives rise to a concept of feature space
• Classification - determining which of the regions a given pattern
  falls into
• A decision rule determines a decision boundary which partitions
  the feature space into regions associated with each class
• The goal is to design a decision rule which is easy to compute and
  yields the smallest possible probability of misclassification of
  input patterns from the feature space.




                                         Data Mining                   19
Classification Problem - samples



                                          classification




 An overly classified decision boundary




                                               Data Mining   20
Discriminant Function
• Training set - finite sample of patterns with known class affiliations
• Use training sets to create decision boundaries
• Avoid over-fitting a training set by creating overly complex decision
  boundaries
• Simplify the shape of the decision boundary which will, by
  sacrificing performance on the training samples, improve the
  performance on new patterns
• Different classifiers can be implemented by constructing an
  appropriate discriminant function gi(x), where i is the class index. A
  pattern x is associated with the class j such that gj(x)>gi(x) for every
  i not equal to j




                                           Data Mining                   21
A Linear Discriminant Function
 • Linear discriminant function limits to two distinct classes
 • f(x) =  ω  + ω+1
           =1
     where xi are the components of the feature vector and the
     weights  need to be adjusted to optimize the performance of
     the classifier
HOW TO USE GA FOR CLASSIFICATION AND FINDING THE OPTIMAL
WEIGHTS 

• In genetic algorithms, classification problem reduces to finding the
  parameters of the optimum discriminant function defining the
  boundary between classes
• Each chromosome has a number of genes equal to the number of
  parameters used in the discriminant function
• The fitness function is the fraction of patterns properly classified by
  applying the discriminant function parameterized by the
  chromosome to a given testing set
                                           Data Mining                  22
Advantages of GA
•   Concepts are easy to understand
•   Genetic Algorithms are intrinsically parallel.
•   Always an answer; answer gets better with time
•   Inherently parallel; easily distributed
•   Less time required for some special applications
•   Chances of getting optimal solution are more




                                          Data Mining   23
Limitations of GA
• The population considered for the evolution should be moderate
  or suitable one for the problem (normally 20-30 or 50-100)
• Crossover rate should be 80%-95%
• Mutation rate should be low i.e. 0.5%-1% assumed as best
• The method of selection should be appropriate
• Writing of fitness function must be accurate




                                       Data Mining                 24
Conclusion
• Genetic algorithms are rich in application across a large and
  growing number of disciplines.
• Genetic Algorithms are used in Optimization and in Classification
  in Data Mining
• Genetic algorithm has changed the way we do computer
  programming.




                                        Data Mining                   25

Genetic Algorithms

  • 1.
    Introduction to Genetic Algorithms KarthikS Undergraduate Student (Final Year) Department of Computer Science and Engineering National Institute of Technology, Tiruchirappalli
  • 2.
    What is GA? DARWINIANSELECTION: From a group of individuals the best will survive Understanding a GA means understanding the simple, iterative processes that underpin evolutionary change GA is an algorithm which makes it easy to search a large search space EXAMPLE: finding largest divisor of a big number By implementing this Darwinian selection to the problem only the best solutions will remain, thus narrowing the search space. EVOLUTIONARY COMPUTING – BIOLOGY PERSPECTIVE Origin of species from a common descent and descent of species, as well as their change, multiplication and diversity over time. Data Mining 2
  • 3.
    Where GAs canbe used? OPTIMIZATION: Where there are large solutions to the problem but we have to find the best one. ď‚— best moves in chess ď‚— mathematical problems ď‚— financial problems DISADVANTAGES ď‚— GAs are very slow. ď‚— They cannot always find the exact solution but they always find best solution. Data Mining 3
  • 4.
    Biological Background ď‚— Chromosome: A set of genes. Chromosome contains the solution in form of genes. ď‚— Gene: A part of chromosome. A gene contains a part of solution. It determines the solution. E.g. 16743 is a chromosome and 1, 6, 7, 4 and 3 are its genes. ď‚— Individual: Same as chromosome. ď‚— Population: No of individuals present with same length of chromosome. ď‚— Fitness: Fitness is the value assigned to an individual. It is based on how far or close a individual is from the solution. Greater the fitness value better the solution it contains. ď‚— Fitness function: Fitness function is a function which assigns fitness value to the individual. It is problem specific. ď‚— Selection: Selecting individuals for creating the next generation. ď‚— Recombination (or crossover): Genes from parents form in some way the whole new chromosome. ď‚— Mutation: Changing a random gene in an individual. Data Mining 4
  • 5.
    General Algorithm ofGA START Generate initial population. Assign fitness function to all individuals. DO UNTIL best solution is found Select individuals from current generation Create new offsprings with mutation and/or breeding Compute new fitness for all individuals Kill all unfit individuals to give space to new offsprings Check if best solution is found LOOP END Data Mining 5
  • 6.
    Selection ď‚— Darwinian Survival of The Fittest ď‚— More preference to better guys ď‚— Ways to do: â—¦ Roulette Wheel â—¦ Tournament â—¦ Truncation ď‚— By itself, pick best Data Mining 6
  • 7.
    Recombination (crossover) ď‚— Combine bits and pieces of good parents ď‚— Speculate on new, possibly better children ď‚— By itself, a random shuffle Given two chromosomes 10001001110010010 01010001001000011 Choose a random bit along the length, say at position 9, and swap all the bits after that point so the above become: 10001001101000011 01010001010010010 Data Mining 7
  • 8.
    Mutation ď‚— Mutation is random alteration of a string ď‚— Change a gene, small movement in the neighbourhood ď‚— By itself, a random walk Before: 10001001110010010 After: 10000001110110010 Data Mining 8
  • 9.
  • 10.
    Improvement / Innovation IMPROVEMENT: Selection Mutation Local changes - hill climbing INNOVATION: Selection Recombination Combine notions - invent Data Mining 10
  • 11.
    Encoding “Coding of thepopulation for evolution process” BINARY ENCODING: Chromosome A 011010110110110101 Chromosome B 101001010100101001 PERMUTATION ENCODING: Chromosome A 12345678 Chromosome B 83456127 Data Mining 11
  • 12.
    Example The travelling salesmanproblem Find a tour of given set of cities so that: ď‚— each city is visited only once ď‚— the total distance travelled is minimized Data Mining 12
  • 13.
    TSP – Codingfor 8 cities Encoding using permutation encoding 1. Chennai 2. Trichy 3. Thanjavur 4. Madurai 5. Bangalore 6. Hyderabad 7. Coimbatore 8. Cochin City Route 1: (12347856) City Route 2: (65872134) CROSSOVER: (12347856) (12346587) (31246587) MUTATION: (12346587) (12846537) Data Mining 13
  • 14.
    TSP – GAProcess  First, create a group of many random tours in what is called a population. This algorithm uses a greedy initial population that gives preference to linking cities that are close to each other.  Second, pick 2 of the better (shorter) tours parents in the population and combine them to make 2 new child tours. Hopefully, these children tour will be better than either parent.  A small percentage of the time, the child tours are mutated. This is done to prevent all tours in the population from looking identical.  The new child tours are inserted into the population replacing two of the longer tours. The size of the population remains the same.  New children tours are repeatedly created until the desired goal is reached. Survival of the Fittest Data Mining 14
  • 15.
    TSP – GAProcess – Issues (1) The two complex issues with using a Genetic Algorithm to solve the Traveling Salesman Problem are the encoding of the tour and the crossover algorithm that is used to combine the two parent tours to make the child tours. In this example, the crossover point is between the 3rd and 4th item in the list. To create the children, every item in the parent's sequence after the crossover point is swapped. Parent 1 F A B | E C G D Parent 2 D E A | C G B F Child 1 F A B | C G B F Child 1 D E A | E C G D What is the issue here ??? We get invalid sequences as children Data Mining 15
  • 16.
    TSP – GAProcess – Issues (2) The encoding cannot simply be the list of cities in the order they are travelled. Other encoding methods have been created that solve the crossover problem. Although these methods will not create invalid tours, they do not take into account the fact that the tour "A B C D E F G" is the same as "G F E D C B A". To solve the problem properly the crossover algorithm will have to get much more complicated. Data Mining 16
  • 17.
    Other Examples THE MAXONEPROBLEM • Suppose we want to maximize the number of ones in a string of l binary digits • We can think of it as maximizing the number of correct answers, each encoded by 1, to l yes/no difficult questions THE TARGET NUMBER PROBLEM • Given the digits 0 through 9 and the operators +, -, * and /, find a sequence that will represent a given target number. The operators will be applied sequentially from left to right as you read. Data Mining 17
  • 18.
    GA in DataMining • Used in Classification EXAMPLE: • Two Boolean attributes, A1 and A2, and two classes, C1 and C2 • IF A1 AND NOT A2 THEN C2 100 • IF NOT A1 AND NOT A2 THEN C1 001 • If an attribute has k values, where k > 2, then k bits may be used to encode the attribute’s values. • Classes can be encoded in a similar fashion. Data Mining 18
  • 19.
    Classification Problem • Associatinga given input pattern with one of the distinct classes • Patterns are specified by a number of features (representing some measurements made on the objects that are being classified) so it is natural to think of them as d-dimensional vectors, where d is the number of different features • This representation gives rise to a concept of feature space • Classification - determining which of the regions a given pattern falls into • A decision rule determines a decision boundary which partitions the feature space into regions associated with each class • The goal is to design a decision rule which is easy to compute and yields the smallest possible probability of misclassification of input patterns from the feature space. Data Mining 19
  • 20.
    Classification Problem -samples classification An overly classified decision boundary Data Mining 20
  • 21.
    Discriminant Function • Trainingset - finite sample of patterns with known class affiliations • Use training sets to create decision boundaries • Avoid over-fitting a training set by creating overly complex decision boundaries • Simplify the shape of the decision boundary which will, by sacrificing performance on the training samples, improve the performance on new patterns • Different classifiers can be implemented by constructing an appropriate discriminant function gi(x), where i is the class index. A pattern x is associated with the class j such that gj(x)>gi(x) for every i not equal to j Data Mining 21
  • 22.
    A Linear DiscriminantFunction • Linear discriminant function limits to two distinct classes • f(x) = ω + ω+1 =1 where xi are the components of the feature vector and the weights need to be adjusted to optimize the performance of the classifier HOW TO USE GA FOR CLASSIFICATION AND FINDING THE OPTIMAL WEIGHTS • In genetic algorithms, classification problem reduces to finding the parameters of the optimum discriminant function defining the boundary between classes • Each chromosome has a number of genes equal to the number of parameters used in the discriminant function • The fitness function is the fraction of patterns properly classified by applying the discriminant function parameterized by the chromosome to a given testing set Data Mining 22
  • 23.
    Advantages of GA • Concepts are easy to understand • Genetic Algorithms are intrinsically parallel. • Always an answer; answer gets better with time • Inherently parallel; easily distributed • Less time required for some special applications • Chances of getting optimal solution are more Data Mining 23
  • 24.
    Limitations of GA •The population considered for the evolution should be moderate or suitable one for the problem (normally 20-30 or 50-100) • Crossover rate should be 80%-95% • Mutation rate should be low i.e. 0.5%-1% assumed as best • The method of selection should be appropriate • Writing of fitness function must be accurate Data Mining 24
  • 25.
    Conclusion • Genetic algorithmsare rich in application across a large and growing number of disciplines. • Genetic Algorithms are used in Optimization and in Classification in Data Mining • Genetic algorithm has changed the way we do computer programming. Data Mining 25