Q1.Discuss in detail about genetic algorithm.
Genetic algorithms (GAs) were invented by John Holland in the 1960s and were developed
by Holland and his students and colleagues at the University of Michigan in the 1960s and
the 1970s. In contrast with evolution strategies and evolutionary programming, Holland's
original goal was not to design algorithms to solve specific problems, but rather to formally
study the phenomenon of adaptation as it occurs in nature and to develop ways in which the
mechanisms of natural adaptation might be imported into computer systems.
Holland's GA is a method for moving from one population of "chromosomes" (e.g., strings of ones
and zeros, or "bits") to a new population by using a kind of "natural selection" together with the
genetics−inspired operators of crossover, mutation, and inversion. Each chromosome consists of
"genes" (e.g., bits), each gene being an instance of a particular "allele" (e.g., 0 or 1).
The selection operator chooses those chromosomes in the population that will be allowed to
reproduce, and on average the fitter chromosomes produce more offspring than the less fit ones.
Crossover exchanges subparts of two chromosomes, roughly mimicking biological recombination
between two single−chromosome ("haploid") organisms;
Mutation randomly changes the allele values of some locations in the chromosome; and inversion
reverses the order of a contiguous section of the chromosome, thus rearranging the order in which
genes are arrayed. (Here, as in most of the GA literature, "crossover" and "recombination" will
mean the same thing.)
Holland's introduction of a population−based algorithm with crossover, inversion, and mutation was
a major innovation. (Rechenberg's evolution strategies started with a "population" of two
individuals, one parent and one offspring, the offspring being a mutated version of the parent;
many−individual populations and crossover were not incorporated until later. Fogel, Owens, and
Walsh's evolutionary programming likewise used only mutation to provide variation.)
Moreover, Holland was the first to attempt to put computational evolution on a firm theoretical
footing. In the last several years there has been widespread interaction among researchers studying
various evolutionary computation methods, and the boundaries between GAs, evolution strategies,
evolutionary programming, and other evolutionary approaches have broken down to some extent.
Today, researchers often use the term "genetic algorithm" to describe something very far from
Holland's original conception.
BIOLOGICAL TERMINOLOGY
 All living organisms consist of cells, and each cell contains the same set of one or more
chromosomes—strings of DNA—that serve as a "blueprint" for the organism.
 A chromosome can be conceptually divided into genes— each of which encodes a particular
protein.
 Very roughly, one can think of a gene as encoding a trait, such as eye color.
 The different possible "settings" for a trait (e.g., blue, brown, hazel) are called alleles.
 Each gene is located at a particular locus (position) on the chromosome.
 Many organisms have multiple chromosomes in each cell.
 The complete collection of genetic material (all chromosomes taken together) is called the
organism's genome.
 The term genotype refers to the particular set of genes contained in a genome. Two
individuals that have identical genomes are said to have the same genotype.
 The genotype gives rise, under fetal and later development, to the organism's phenotype—
its physical and mental characteristics, such as eye color, height, brain size, and intelligence.
 Organisms whose chromosomes are arrayed in pairs are called diploid;
 Organisms whose chromosomes are unpaired are called haploid. In nature, most sexually
reproducing species are diploid, including human beings, who each have 23 pairs of
chromosomes in each somatic (non−germ) cell in the body.
 During sexual reproduction, recombination (or crossover) occurs: in each parent, genes are
exchanged between each pair of chromosomes to form a gamete (a single chromosome), and
then gametes from the two parents pair up to create a full set of diploid chromosomes.
 In haploid sexual reproduction, genes are exchanged between the two parents' single−strand
chromosomes. Offspring are subject to mutation, in which single nucleotides (elementary
bits of DNA) are changed from parent to offspring, the changes often resulting from copying
errors. The fitness of an organism is typically defined as the probability that the organism
will live to reproduce (viability) or as a function of the number of offspring the organism has
(fertility).
In genetic algorithms,
 the term chromosome typically refers to a candidate solution to a problem, often encoded as
a bit string.
 The "genes" are either single bits or short blocks of adjacent bits that encode a particular
element of the candidate solution (e.g., in the context of multi parameter function
optimization the bits encoding a particular parameter might be considered to be a gene).
 An allele in a bit string is either 0 or 1; for larger alphabets more alleles are possible at each
locus.
 Crossover typically consists of exchanging genetic material between two single
chromosome haploid parents.
 Mutation consists of flipping the bit at a randomly chosen locus (or, for larger alphabets,
replacing a the symbol at a randomly chosen locus with a randomly chosen new symbol).
ELEMENTS OF GENETIC ALGORITHMS
GAs" have at least the following elements in common:
 Populations of chromosomes,
 Selection according to fitness,
 Crossover to produce new offspring, and
 Random mutation of new offspring.
 Inversion—Holland's fourth element of GAs—is rarely used in today's
implementations, and its advantages, if any, are not well established.
The chromosomes in a GA population typically take the form of bit strings. Each locus in the
chromosome has two possible alleles: 0 and 1. Each chromosome can be thought of as a
point in the search space of candidate solutions. The GA processes populations of
chromosomes, successively replacing one such population with another. The GA most often
requires a fitness function that assigns a score (fitness) to each chromosome in the current
population. The fitness of a chromosome depends on how well that chromosome solves the
problem at hand.
Key Elements
The two distinct elements in the GA are individuals and populations. An individual
is a single solution while the population is the set of individuals currently involved
in the search process.
Individuals
An individual is a single solution. Individual groups together two forms of solutions
as given below:
1. The chromosome, which is the raw ‘genetic’ information (genotype) that the GA
deals.
2. The phenotype, which is the expressive of the chromosome in the terms of the
model.
1 0 1 0 1 0 1 1 1 0 1 0 1 1 0
Fig. 3.2 Representation of a chromosome
A chromosome is subdivided into genes. A gene is the GA’s representation of a
single factor for a control factor. Each factor in the solution set corresponds to gene
in the chromosome. Figure 3.1 shows the representation of a genotype.
A chromosome should in some way contain information about solution that it
represents. The morphogenesis function associates each genotype with its phenotype.
It simply means that each chromosome must define one unique solution, but
it does not mean that each solution encoded by exactly one chromosome. Indeed,
the morphogenesis function is not necessary bijective, and it is even sometimes
impossible (especially with binary representation). Nevertheless, the morphogenesis
function should at least be subjective. Indeed; all the candidate solutions of
the problem must correspond to at least one possible chromosome, to be sure
that the whole search space can be explored. When the morphogenesis function
that associates each chromosome to one solution is not injective, i.e., different
chromosomes can encode the same solution, the representation is said to be degenerated.
A slight degeneracy is not so worrying, even if the space where the
algorithm is looking for the optimal solution is inevitably enlarged. But a too
important degeneracy could be a more serious problem. It can badly affect the
behavior of the GA, mostly because if several chromosomes can represent the
same phenotype, the meaning of each gene will obviously not correspond to a
specific characteristic of the solution. It may add some kind of confusion in the
search.
Chromosomes are encoded by bit strings are given below in Fig. 3.2,
3.4 Genes
Genes are the basic “instructions” for building a Generic Algorithms. A chromosome
is a sequence of genes. Genes may describe a possible solution to a problem,
without actually being the solution. A gene is a bit string of arbitrary lengths. The
bit string is a binary representation of number of intervals from a lower bound. A
gene is the GA’s representation of a single factor value for a control factor, where
control factor must have an upper bound and lower bound. This range can be divided
3.6 Populations 41
Fig. 3.3 Representation
of a gene
1 0 1 0 1 1 1 0 1 1 1 1 0 1 0 1
Gene 1 Gene 2 Gene 3 Gene 4
into the number of intervals that can be expressed by the gene’s bit string. A bit
string of length ‘n’ can represent (2n-1) intervals. The size of the interval would be
(range)/(2n-1).
The structure of each gene is defined in a record of phenotyping parameters.
The phenotype parameters are instructions for mapping between genotype and phenotype.
It can also be said as encoding a solution set into a chromosome and decoding
a chromosome to a solution set. The mapping between genotype and phenotype
is necessary to convert solution sets from the model into a form that the
GA can work with, and for converting new individuals from the GA into a form
that the model can evaluate. In a chromosome, the genes are represented as in
(Fig. 3.3):
3.5 Fitness
The fitness of an individual in a genetic algorithm is the value of an objective
function for its phenotype. For calculating fitness, the chromosome has to be first
decoded and the objective function has to be evaluated. The fitness not only indicates
how good the solution is, but also corresponds to how close the chromosome is to
the optimal one.
In the case of multicriterion optimization, the fitness function is definitely more
difficult to determine. In multicriterion optimization problems, there is often a
dilemma as how to determine if one solution is better than another. What should
be done if a solution is better for one criterion but worse for another? But here, the
trouble comes more from the definition of a ‘better’ solution rather than from how to
implement a GA to resolve it. If sometimes a fitness function obtained by a simple
combination of the different criteria can give good result, it suppose that criterions
can be combined in a consistent way. But, for more advanced problems, it may be
useful to consider something like Pareto optimally or others ideas from multicriteria
optimization theory.
3.6 Populations
A population is a collection of individuals. A population consists of a number of individuals
being tested, the phenotype parameters defining the individuals and some
information about search space. The two important aspects of population used in
Genetic Algorithms are:
1. The initial population generation.
2. The population size.
42 3 Terminologies and Operators of GA
Fig. 3.4 Population Chromosome 1 1 1 1 0 0 0 1 0
Chromosome 2 0 1 1 1 1 0 1 1
Chromosome 3 1 0 1 0 1 0 1 0
Population
Chromosome 4 1 1 0 0 1 1 0 0
For each and every problem, the population size will depend on the complexity of
the problem. It is often a random initialization of population is carried. In the case of
a binary coded chromosome this means, that each bit is initialized to a random zero
or one. But there may be instances where the initialization of population is carried
out with some known good solutions.
Ideally, the first population should have a gene pool as large as possible in order
to be able to explore the whole search space. All the different possible alleles of
each should be present in the population. To achieve this, the initial population is,
in most of the cases, chosen randomly. Nevertheless, sometimes a kind of heuristic
can be used to seed the initial population. Thus, the mean fitness of the population is
already high and it may help the genetic algorithm to find good solutions faster. But
for doing this one should be sure that the gene pool is still large enough. Otherwise,
if the population badly lacks diversity, the algorithm will just explore a small part of
the search space and never find global optimal solutions.
The size of the population raises few problems too. The larger the population
is, the easier it is to explore the search space. But it has established that the time
required by a GA to converge is O (nlogn) function evaluations where n is the
population size. We say that the population has converged when all the individuals
are very much alike and further improvement may only be possibly by mutation.
Goldberg has also shown that GA efficiency to reach global optimum instead
of local ones is largely determined by the size of the population. To sum
up, a large population is quite useful. But it requires much more computational
cost, memory and time. Practically, a population size of around 100 individuals
is quite frequent, but anyway this size can be changed according to the time and
the memory disposed on the machine compared to the quality of the result to be
reached.
Population being combination of various chromosomes is represented as in
Fig. 3.4
Thus the above population consists of four chromosomes.
3.7 Data Structures
The main data structures in GA are chromosomes, phenotypes, objective function
values and fitness values. This is particularly easy implemented when using
MATLAB package as a numerical tool. An entire chromosome population can be
stored in a single array given the number of individuals and the length of their
genotype representation. Similarly, the design variables, or phenotypes that are
3.9 Encoding 43
obtained by applying some mapping from the chromosome representation into the
design space can be stored in a single array. The actual mapping depends upon
the decoding scheme used. The objective function values can be scalar or vectorial
and are necessarily the same as the fitness values. Fitness values are derived
from the object function using scaling or ranking function and can be stored as
vectors.
3.8 Search Strategies
The search process consists of initializing the population and then breeding new
individuals until the termination condition is met. There can be several goals for the
search process, one of which is to find the global optima. This can never be assured
with the types of models that GAs work with. There is always a possibility that
the next iteration in the search would produce a better solution. In some cases, the
search process could run for years and does not produce any better solution than it
did in the first little iteration.
Another goal is faster convergence.When the objective function is expensive to
run, faster convergence is desirable, however, the chance of converging on local, and
possibly quite substandard optima is increased.
Apart from these, yet another goal is to produce a range of diverse, but still
good solutions. When the solution space contains several distinct optima, which
are similar in fitness, it is useful to be able to select between them, since some
combinations of factor values in the model may be more feasible than others. Also,
some solutions may be more ro
Q.Discuss the role of
(a) Selection
(b) Cross over
(c) Mutation
in the context of genetic algorithm.
GA Operators
The simplest form of genetic algorithm involves three types of operators: selection, crossover
(single point), and mutation.
Selection This operator selects chromosomes in the population for reproduction. The fitter
the chromosome, the more times it is likely to be selected to reproduce.
Crossover This operator randomly chooses a locus and exchanges the sub-sequences before
and after that locus between two chromosomes to create two offspring. For example, the
strings 10000100 and 11111111 could be crossed over after the third locus in each to produce
the two offspring 10011111 and 11100100. The crossover operator roughly mimics biological
recombination between two single−chromosome (haploid) organisms.
Mutation This operator randomly flips some of the bits in a chromosome. For example, the
string 00000100 might be mutated in its second position to yield 01000100. Mutation can
occur at each bit position in a string with some probability, usually very small (e.g., 0.001).

Final q1

  • 1.
    Q1.Discuss in detailabout genetic algorithm. Genetic algorithms (GAs) were invented by John Holland in the 1960s and were developed by Holland and his students and colleagues at the University of Michigan in the 1960s and the 1970s. In contrast with evolution strategies and evolutionary programming, Holland's original goal was not to design algorithms to solve specific problems, but rather to formally study the phenomenon of adaptation as it occurs in nature and to develop ways in which the mechanisms of natural adaptation might be imported into computer systems. Holland's GA is a method for moving from one population of "chromosomes" (e.g., strings of ones and zeros, or "bits") to a new population by using a kind of "natural selection" together with the genetics−inspired operators of crossover, mutation, and inversion. Each chromosome consists of "genes" (e.g., bits), each gene being an instance of a particular "allele" (e.g., 0 or 1). The selection operator chooses those chromosomes in the population that will be allowed to reproduce, and on average the fitter chromosomes produce more offspring than the less fit ones. Crossover exchanges subparts of two chromosomes, roughly mimicking biological recombination between two single−chromosome ("haploid") organisms; Mutation randomly changes the allele values of some locations in the chromosome; and inversion reverses the order of a contiguous section of the chromosome, thus rearranging the order in which genes are arrayed. (Here, as in most of the GA literature, "crossover" and "recombination" will mean the same thing.) Holland's introduction of a population−based algorithm with crossover, inversion, and mutation was a major innovation. (Rechenberg's evolution strategies started with a "population" of two individuals, one parent and one offspring, the offspring being a mutated version of the parent; many−individual populations and crossover were not incorporated until later. Fogel, Owens, and Walsh's evolutionary programming likewise used only mutation to provide variation.) Moreover, Holland was the first to attempt to put computational evolution on a firm theoretical footing. In the last several years there has been widespread interaction among researchers studying various evolutionary computation methods, and the boundaries between GAs, evolution strategies, evolutionary programming, and other evolutionary approaches have broken down to some extent. Today, researchers often use the term "genetic algorithm" to describe something very far from Holland's original conception. BIOLOGICAL TERMINOLOGY  All living organisms consist of cells, and each cell contains the same set of one or more chromosomes—strings of DNA—that serve as a "blueprint" for the organism.  A chromosome can be conceptually divided into genes— each of which encodes a particular protein.  Very roughly, one can think of a gene as encoding a trait, such as eye color.
  • 2.
     The differentpossible "settings" for a trait (e.g., blue, brown, hazel) are called alleles.  Each gene is located at a particular locus (position) on the chromosome.  Many organisms have multiple chromosomes in each cell.  The complete collection of genetic material (all chromosomes taken together) is called the organism's genome.  The term genotype refers to the particular set of genes contained in a genome. Two individuals that have identical genomes are said to have the same genotype.  The genotype gives rise, under fetal and later development, to the organism's phenotype— its physical and mental characteristics, such as eye color, height, brain size, and intelligence.  Organisms whose chromosomes are arrayed in pairs are called diploid;  Organisms whose chromosomes are unpaired are called haploid. In nature, most sexually reproducing species are diploid, including human beings, who each have 23 pairs of chromosomes in each somatic (non−germ) cell in the body.  During sexual reproduction, recombination (or crossover) occurs: in each parent, genes are exchanged between each pair of chromosomes to form a gamete (a single chromosome), and then gametes from the two parents pair up to create a full set of diploid chromosomes.  In haploid sexual reproduction, genes are exchanged between the two parents' single−strand chromosomes. Offspring are subject to mutation, in which single nucleotides (elementary bits of DNA) are changed from parent to offspring, the changes often resulting from copying errors. The fitness of an organism is typically defined as the probability that the organism will live to reproduce (viability) or as a function of the number of offspring the organism has (fertility). In genetic algorithms,  the term chromosome typically refers to a candidate solution to a problem, often encoded as a bit string.  The "genes" are either single bits or short blocks of adjacent bits that encode a particular element of the candidate solution (e.g., in the context of multi parameter function optimization the bits encoding a particular parameter might be considered to be a gene).  An allele in a bit string is either 0 or 1; for larger alphabets more alleles are possible at each locus.  Crossover typically consists of exchanging genetic material between two single chromosome haploid parents.  Mutation consists of flipping the bit at a randomly chosen locus (or, for larger alphabets, replacing a the symbol at a randomly chosen locus with a randomly chosen new symbol). ELEMENTS OF GENETIC ALGORITHMS GAs" have at least the following elements in common:  Populations of chromosomes,  Selection according to fitness,  Crossover to produce new offspring, and  Random mutation of new offspring.  Inversion—Holland's fourth element of GAs—is rarely used in today's implementations, and its advantages, if any, are not well established.
  • 3.
    The chromosomes ina GA population typically take the form of bit strings. Each locus in the chromosome has two possible alleles: 0 and 1. Each chromosome can be thought of as a point in the search space of candidate solutions. The GA processes populations of chromosomes, successively replacing one such population with another. The GA most often requires a fitness function that assigns a score (fitness) to each chromosome in the current population. The fitness of a chromosome depends on how well that chromosome solves the problem at hand. Key Elements The two distinct elements in the GA are individuals and populations. An individual is a single solution while the population is the set of individuals currently involved in the search process. Individuals An individual is a single solution. Individual groups together two forms of solutions as given below: 1. The chromosome, which is the raw ‘genetic’ information (genotype) that the GA deals. 2. The phenotype, which is the expressive of the chromosome in the terms of the model. 1 0 1 0 1 0 1 1 1 0 1 0 1 1 0 Fig. 3.2 Representation of a chromosome A chromosome is subdivided into genes. A gene is the GA’s representation of a single factor for a control factor. Each factor in the solution set corresponds to gene in the chromosome. Figure 3.1 shows the representation of a genotype. A chromosome should in some way contain information about solution that it represents. The morphogenesis function associates each genotype with its phenotype. It simply means that each chromosome must define one unique solution, but it does not mean that each solution encoded by exactly one chromosome. Indeed, the morphogenesis function is not necessary bijective, and it is even sometimes impossible (especially with binary representation). Nevertheless, the morphogenesis function should at least be subjective. Indeed; all the candidate solutions of the problem must correspond to at least one possible chromosome, to be sure that the whole search space can be explored. When the morphogenesis function that associates each chromosome to one solution is not injective, i.e., different chromosomes can encode the same solution, the representation is said to be degenerated. A slight degeneracy is not so worrying, even if the space where the algorithm is looking for the optimal solution is inevitably enlarged. But a too important degeneracy could be a more serious problem. It can badly affect the behavior of the GA, mostly because if several chromosomes can represent the same phenotype, the meaning of each gene will obviously not correspond to a specific characteristic of the solution. It may add some kind of confusion in the search. Chromosomes are encoded by bit strings are given below in Fig. 3.2,
  • 4.
    3.4 Genes Genes arethe basic “instructions” for building a Generic Algorithms. A chromosome is a sequence of genes. Genes may describe a possible solution to a problem, without actually being the solution. A gene is a bit string of arbitrary lengths. The bit string is a binary representation of number of intervals from a lower bound. A gene is the GA’s representation of a single factor value for a control factor, where control factor must have an upper bound and lower bound. This range can be divided 3.6 Populations 41 Fig. 3.3 Representation of a gene 1 0 1 0 1 1 1 0 1 1 1 1 0 1 0 1 Gene 1 Gene 2 Gene 3 Gene 4 into the number of intervals that can be expressed by the gene’s bit string. A bit string of length ‘n’ can represent (2n-1) intervals. The size of the interval would be (range)/(2n-1). The structure of each gene is defined in a record of phenotyping parameters. The phenotype parameters are instructions for mapping between genotype and phenotype. It can also be said as encoding a solution set into a chromosome and decoding a chromosome to a solution set. The mapping between genotype and phenotype is necessary to convert solution sets from the model into a form that the GA can work with, and for converting new individuals from the GA into a form that the model can evaluate. In a chromosome, the genes are represented as in (Fig. 3.3): 3.5 Fitness The fitness of an individual in a genetic algorithm is the value of an objective function for its phenotype. For calculating fitness, the chromosome has to be first decoded and the objective function has to be evaluated. The fitness not only indicates how good the solution is, but also corresponds to how close the chromosome is to the optimal one. In the case of multicriterion optimization, the fitness function is definitely more difficult to determine. In multicriterion optimization problems, there is often a dilemma as how to determine if one solution is better than another. What should be done if a solution is better for one criterion but worse for another? But here, the trouble comes more from the definition of a ‘better’ solution rather than from how to implement a GA to resolve it. If sometimes a fitness function obtained by a simple combination of the different criteria can give good result, it suppose that criterions can be combined in a consistent way. But, for more advanced problems, it may be useful to consider something like Pareto optimally or others ideas from multicriteria optimization theory. 3.6 Populations A population is a collection of individuals. A population consists of a number of individuals being tested, the phenotype parameters defining the individuals and some information about search space. The two important aspects of population used in Genetic Algorithms are:
  • 5.
    1. The initialpopulation generation. 2. The population size. 42 3 Terminologies and Operators of GA Fig. 3.4 Population Chromosome 1 1 1 1 0 0 0 1 0 Chromosome 2 0 1 1 1 1 0 1 1 Chromosome 3 1 0 1 0 1 0 1 0 Population Chromosome 4 1 1 0 0 1 1 0 0 For each and every problem, the population size will depend on the complexity of the problem. It is often a random initialization of population is carried. In the case of a binary coded chromosome this means, that each bit is initialized to a random zero or one. But there may be instances where the initialization of population is carried out with some known good solutions. Ideally, the first population should have a gene pool as large as possible in order to be able to explore the whole search space. All the different possible alleles of each should be present in the population. To achieve this, the initial population is, in most of the cases, chosen randomly. Nevertheless, sometimes a kind of heuristic can be used to seed the initial population. Thus, the mean fitness of the population is already high and it may help the genetic algorithm to find good solutions faster. But for doing this one should be sure that the gene pool is still large enough. Otherwise, if the population badly lacks diversity, the algorithm will just explore a small part of the search space and never find global optimal solutions. The size of the population raises few problems too. The larger the population is, the easier it is to explore the search space. But it has established that the time required by a GA to converge is O (nlogn) function evaluations where n is the population size. We say that the population has converged when all the individuals are very much alike and further improvement may only be possibly by mutation. Goldberg has also shown that GA efficiency to reach global optimum instead of local ones is largely determined by the size of the population. To sum up, a large population is quite useful. But it requires much more computational cost, memory and time. Practically, a population size of around 100 individuals is quite frequent, but anyway this size can be changed according to the time and the memory disposed on the machine compared to the quality of the result to be reached. Population being combination of various chromosomes is represented as in Fig. 3.4 Thus the above population consists of four chromosomes. 3.7 Data Structures The main data structures in GA are chromosomes, phenotypes, objective function values and fitness values. This is particularly easy implemented when using MATLAB package as a numerical tool. An entire chromosome population can be stored in a single array given the number of individuals and the length of their genotype representation. Similarly, the design variables, or phenotypes that are 3.9 Encoding 43
  • 6.
    obtained by applyingsome mapping from the chromosome representation into the design space can be stored in a single array. The actual mapping depends upon the decoding scheme used. The objective function values can be scalar or vectorial and are necessarily the same as the fitness values. Fitness values are derived from the object function using scaling or ranking function and can be stored as vectors. 3.8 Search Strategies The search process consists of initializing the population and then breeding new individuals until the termination condition is met. There can be several goals for the search process, one of which is to find the global optima. This can never be assured with the types of models that GAs work with. There is always a possibility that the next iteration in the search would produce a better solution. In some cases, the search process could run for years and does not produce any better solution than it did in the first little iteration. Another goal is faster convergence.When the objective function is expensive to run, faster convergence is desirable, however, the chance of converging on local, and possibly quite substandard optima is increased. Apart from these, yet another goal is to produce a range of diverse, but still good solutions. When the solution space contains several distinct optima, which are similar in fitness, it is useful to be able to select between them, since some combinations of factor values in the model may be more feasible than others. Also, some solutions may be more ro Q.Discuss the role of (a) Selection (b) Cross over (c) Mutation in the context of genetic algorithm. GA Operators The simplest form of genetic algorithm involves three types of operators: selection, crossover (single point), and mutation. Selection This operator selects chromosomes in the population for reproduction. The fitter the chromosome, the more times it is likely to be selected to reproduce. Crossover This operator randomly chooses a locus and exchanges the sub-sequences before and after that locus between two chromosomes to create two offspring. For example, the strings 10000100 and 11111111 could be crossed over after the third locus in each to produce the two offspring 10011111 and 11100100. The crossover operator roughly mimics biological recombination between two single−chromosome (haploid) organisms.
  • 7.
    Mutation This operatorrandomly flips some of the bits in a chromosome. For example, the string 00000100 might be mutated in its second position to yield 01000100. Mutation can occur at each bit position in a string with some probability, usually very small (e.g., 0.001).