Evolutionary computation



Evolutionary computation


  • Intelligence can be defined as the capability of a system to adapt its behavior to an ever-changing environment. 

  • By modeling the process of evolution, we might expect to create intelligent behavior. 
  • Evolutionary computation simulates evolution on a computer. 
  • The result of such a simulation is a series of optimization algorithms, usually based on a simple set of rules. 
  • Optimization improves the quality of solutions until an optimal, or at least feasible, solution is found.

Is evolution really intelligent?


  • We can consider the behavior of an individual organism as an inductive inference about some unknown aspects of its environment. Then if, over successive generations, the organism survives, we can say that this organism is capable of learning to predict changes in its environment. 
  • The evolutionary approach to machine learning is based on computational models of natural selection and genetics. We call them evolutionary computation (EC) 
  • EC is a term that combines genetic algorithms, evolution strategies and genetic programming. 
  • All these techniques simulate evolution by using the processes of selection, mutation and reproduction.
  • Neo-Darwinism is based on processes of reproduction, mutation, competition and selection. 


If the process of evolution is to be emulated on a computer, what is being optimized by evolution in natural life? 


  • Evolution can be seen as a process leading to increase of a population’s ability to reproduce in a specific environment. 
  • This ability is called evolutionary fitness. Fitness cannot be measured directly, it can be estimated on the basis of the ecology and functional morphology of the organism in its environment.
  • Evolutionary fitness can also be viewed as a measure of the organism’s ability to anticipate changes in its environment. 
  • Thus, the fitness, can be considered as the quality that is being optimized in natural life.

  • To illustrate fitness, we can use the concept of adaptive topology. We can represent a given environment by a landscape where each peak corresponds to the optimized fitness of a species. 
  • As evolution takes place, each species of a given population moves up the slopes of the landscape towards the peaks. 
  • Environmental conditions change over time, and thus the species have to continuously adjust their routes. 
  • As a result, only the fittest can reach the peaks. (see Figure 1).
  • Adaptive topology is a continuous function; it simulates the fact that the environment, or natural topology, is not static. 
  • The goal of evolution is to generate a population of individuals with increasing fitness.




Domains of Application

  •  Numerical, Optimization
  • System Modeling and Identification
  • Planning and Control
  • Engineering Design
  • Data Mining
  • Machine Learning
  • Artificial Life

Advantages

  • Widely applicable
  • Low development & application costs
  • Easy to incorporate other methods
  • Solutions are unlike NN.
  • Can be run interactively, accommodate user proposed solutions
  • Provide many alternative solutions

Disadvantages

  • No guarantee for optimal solution within finite time
  • Weak theoretical basis
  • May need parameter tuning
  • Often computationally expensive, (slow )
Simulatition  the process of natural evolution in a computer?

  • John Holland, introduced the concept of genetic algorithms(GA). His aim was to make computers do what nature does. Holland was concerned with algorithms that manipulate strings of binary digits. 
  • He viewed these algorithms as an abstract form of natural evolution.
  • Holland’s GA can be represented by a sequence of procedural steps for moving from one population of artificial ‘chromosomes’ to a new population. 
  • It uses ‘natural’ selection and genetics techniques known as crossover and mutation.
  • Each chromosome consists of a number of ‘genes’, and each gene is represented by 0 or 1, as shown in 



  • Nature has an ability to adapt and learn without being told what to do. GAs do the same. 
  • Two mechanisms link a GA to the problem it is solving: encoding and evaluation.
                     * Encoding is carried out by representing chromosomes as strings of ones and zeros.  We will use bit strings as the most popular technique.

                     * Evaluation function is used to measure the chromosome’s performance, or fitness, for the problem to be solved (an evaluation function in GAs plays the same role the environment plays in natural evolution). 



  • The GA uses a measure of fitness of individual chromosomes to carry out reproduction. 
  • As reproduction takes place, the crossover operator exchanges parts of two single chromosomes, 
  • and the mutation operator changes the gene value in some randomly chosen location of the chromosome. 

  • As a result, after a number of successive reproductions, the less fit chromosomes become extinct, while those best able to survive gradually come to dominate the population.










By : mogtaba altyib 
Modification by : Abdelhamid Salih   Ph.D

تعليقات

المشاركات الشائعة من هذه المدونة

Self-Organizing Map for Image Classification

Self-Organizing Map in web mining Technical report