ABSTRACT

Evolutionary computation is a broad subfield of computational intelligence that requires combinatorial optimization problems. The evolutionary computation algorithm is an iterative process like growth or development in a population. The optimal solution is then obtained using parallel processing among the population. These procedures are frequently inspired by biological mechanisms of evolution. A population of individuals is exposed to an environment and responds with a collection of behaviors. Some of these behaviors are better suited to meet the demands of the

environment than are others. Selection tends to eliminate those individuals that demonstrate inappropriate behaviors. The survivors reproduce, and the genetics underlying their behavioral traits are passed on to their offspring. But this replication is never without error, nor can individual genotypes remain free of random mutations. The introduction of random genetic variation in turn leads to novel behavioral characteristics, and the process of evolution iterates. Over successive generations, increasingly appropriate behaviors accumulate within evolving phyletic lines. Evolution optimizes behaviors (i.e., the phenotype), because selection can act only in the face of phenotypic variation. The manner in which functional adaptations are encoded in genetics is transparent to selection; only the realized behaviors resulting from the interaction of the genotype with the environment can be assessed by competitive selection. Useful variations have the best chance of being preserved in the struggle for life, leading to a process of continual improvement. Evolution may in fact create “organs of extreme perfection and complication”, but must always act within the constraints of physical development and

lution is entirely opportunistic, and can only work within the variation present in extant individuals. The evolutionary computation process can be modeled algorithmically

and simulated on a computer. The following difference equation gives a basic overview of an evolutionary model:

x[t+ 1] = s(v(x[t])) (11.1)

where the population at time t, x[t], is operated on by random variation, v, and selection, s, to give rise to a new population x[t + 1]. The process of natural evolution is continuous while the artificial evolution occurs in discontinuous time intervals. Iterating variation and selection, an evolutionary algorithm is able to reach an optimal population on a response surface that represents the measurable worth of each feasible individual that may live in a population. Evolutionary computation is the field that studies the properties of these algorithms and similar procedures for simulating evolution on a computer. The history of evolutionary computation spans nearly four decades.

Several autonomous attempts were made in order to simulate evolution on a computer during the 1950s and 1960s. There are a few basic sub categories of evolutionary computation such as: evolution strategies, evolutionary programming, and genetic algorithms. All the subcategories begin with a population of contending trial solutions brought to a task at hand. Further new solutions are created by arbitrarily altering the existing solutions. A fitness measure is used to assess the performance of each trial solution and a solution is used to determine the retained parents. The deviations between the procedures are characterized by the typical data representations, the types of variations that are imposed on solutions to create offspring, and the methods employed for selecting new parents. In this chapter, a brief history of Evolutionary Computation (EC) is

discussed. This chapter enlightens the paradigms of EC such as Evolutionary Strategies and Evolutionary Programming. Genetic Algorithms and Genetic Programming will be discussed elaborately in the next chapter. This chapter also describes the advantages and disadvantages of EC.