Genetic Algorithms
IntroductionProfessor John Holland in 1975 proposed an attractive class of computational models, called Genetic Algorithms (GA), that mimic the biological evolution process for solving problems in a wide domain. The mechanisms under GA have been analyzed and explained later by Goldberg, De Jong, Davis, Muehlenbein, Chakraborti, Fogel, Vose and many others. Genetic Aalgorithms has three major applications, namely, intelligent search, optimization and machine learning. Currently, Genetic Algorithms is used along with neural networks and fuzzy logic for solving more complex problems. Because of their joint usage in many problems, these together are often referred to by a generic name: "soft-computing". A Genetic Algorithms operates through a simple cycle of stages:
The cycle of a Genetic Algorithms is presented below Each cycle in Genetic Algorithms produces a new generation of possible solutions for a
given problem. In the first phase, an initial population, describing
representatives of the potential solution, is created to initiate the search
process. The elements of the population are encoded into bit-strings, called chromosomes. The performance of the strings, often called fitness, is then
evaluated with the help of some functions, representing the constraints of the
problem. Depending on the fitness of the chromosomes, they are selected for a
subsequent genetic manipulation process. It should be noted that the selection
process is mainly responsible for assuring survival of the best-fit individuals.
After selection of the population strings is over, the genetic manipulation
process consisting of two steps is carried out. In the first step, the crossover
operation that recombines the bits (genes) of each two selected strings
(chromosomes) is executed. Various types of crossover operators are found in
the literature. The single point and two points crossover operations are
illustrated ![]() Fig.: Mutation of a chromosome at the 5th bit position. Example: The Genetic Algorithms cycle is illustrated in this example for maximizing a
function f(x) = x2 in the interval 0 = x = 31. In this example the fitness
function is f (x) itself. The larger is the functional value, the better is the
fitness of the string. In this example, we start with 4 initial strings. The fitness
value of the strings and the percentage fitness of the total are estimated in
Table A. Since fitness of the second string is large, we select 2 copies of the
second string and one each for the first and fourth string in the mating pool.
The selection of the partners in the mating pool is also done randomly. Here in
table B, we selected partner of string 1 to be the 2-nd string and partner of
4-th string to be the 2nd string. The crossover points for the first-second and
second-fourth strings have been selected after o-th and 2-nd bit positions
respectively in table B. The second generation of the population without
mutation in the first generation is presented in table C. A Schema (or schemata in plural form) / hyperplane or similarity template is a genetic pattern with fixed values of 1 or 0 at some designated bit positions. For example, S = 01?1??1 is a 7-bit schema with fixed values at 4-bits and don't care values, represented by ?, at the remaining 3 positions. Since 4 positions matter for this schema, we say that the schema contains 4 genes. Deterministic Explanation of Holland's ObservationTo explain Holland's observation in a deterministic manner let us presume the following assumptions.
Thus with an initial population size of N, after t generations, we find Nf r t
individuals possessing schema S and the population of the rest of the
individuals is N(1 - f) st. Therefore, the fraction of the individuals with
schema S is given by Stochastic Explanation of Genetic AlgorithmsFor presentation of the fundamental theorem of Genetic Algorithms, the following terminologies are defined in order. Definition: The order of a schema H, denoted by O(H), is the number of fixed positions in the schema. For example, the order of schema H = ?001?1? is 4, since it contains 4 fixed positions. For example, the schema ?1?001 has a defining length d(H) = 4 - 0 = 4, while Definition: The schemas defined over L-bit strings may be The Fundamental Theorem of Genetic Algorithms(Schema theorem)Let the population size be N, which contains mH (t) samples of schema H at where fi is the fitness of string i. Now, the probability that in a single
selection a sample of schema H is chosen is described by Thus, in a total of N selections with replacement, the expected number of The above theorem is called the fundamental theorem of GA or the
Schema theorem. It is evident from the Schema theorem that for a given set
of values of d(H), O(H), L, pc and pm , the population of schema H at the
subsequent generations increases exponentially when fH > fav. This, in fact,
directly follows from the difference equation: Since K is a positive number, and f H / fav > 1, mH (t) grows exponentially with iterations. The process of exponential increase of mH (t) continues until some iteration r, when fH approaches fav. This is all about the proof of the schema theorem. The Markov Model for Convergence AnalysisFor the sake of understanding, let us now consider the population size =
3 and the chromosomes are 2-bit patterns, as presumed earlier. The set S now
takes the following form.
It may be noted that the number of elements of the last set S is 64. In
general, if the chromosomes have the word length of m bits and the number of
chromosomes selected in each Genetic Algorithm cycle is n, then the cardinality of the set S
is 2 ^ mn.
The Markov transition probability matrix P for 2-bit strings of
population size 2, thus, will have a dimension of (16 x 16), where the element
pij of the matrix denotes the probability of transition from i-th to j-th state. A
clear idea about the states and their transitions can be formed from fig. Now, let us assume a row vector πt, whose k-th element denotes the
probability of occurrence of the k-th state at a given genetic iteration (cycle) t;
then πt + 1 can be evaluated by The behavior of Genetic Algorihms without mutation can be of the following three types.
It can be easily shown that Pn for the above matrix P can be found to
be as follows. |
