Download Evolutionary Algorithms

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Viral phylodynamics wikipedia , lookup

Transitional fossil wikipedia , lookup

Genetic drift wikipedia , lookup

Group selection wikipedia , lookup

Dual inheritance theory wikipedia , lookup

Microevolution wikipedia , lookup

Gene expression programming wikipedia , lookup

Population genetics wikipedia , lookup

Koinophilia wikipedia , lookup

Transcript
Evolutionary Algorithms
Evolutionary algorithms
are based upon
powerful principles of
evolution.
Evolutionary algorithms are widely used in computer science and engineering for
solving complex problems (Dipankar Dasgupta, 2013).
Evolutionary algorithms are also known as evolutionary computational techniques
they are powerful tools which can be used to solve different engineering issues.
Evolutionary techniques can be put into two categories, evolutionary algorithms and
evolvable hardware. Evolutionary techniques are able to solve problems the same
way humans do (Ivan Zelinka, 2010).
Evolutionary algorithms work on the basis of survival of the fittest in order to produce
better and better approximations to a solution. Evolutionary algorithms model natural
processes such as selection, recombination, mutation, migration, locality and
neighbourhood (Pohlheim, 2006).
Before an evolutionary algorithm can be used for a particular problem there are two
requirements that must be met. Firstly, we need a way to encode candidate solutions
to the problem. The simplest encoding, and that used by many genetic algorithms, is
a bit string. Each candidate is purely a sequence of zeros and ones. This encoding
makes cross-over and mutation very straightforward, but that does not mean that
you cannot use more complicated representations.
The second requirement for applying evolutionary algorithms is that there must be a
way of evaluating partial solutions to the problem - the fitness function. It is not
satisfactory to evaluate solutions as right or wrong, the fitness score has to show
how right or, if your glass is half empty, how wrong a candidate solution is. So a
function that returns 0 or 1 is useless. A function that returns a score on a scale of 1
- 100 is better. We need shades of grey, not just black and white, since this is how
the algorithm guides the random evolution to find increasingly better solutions.
Evolutionary algorithms can also be used to edit and produce video. This can be
done based upon selection criteria determined by the user. It can be done by either
defining criteria to be applied or by interactively performing selection in the evolving
population of video clips. The evolutionary model is more flexible, the system has
improved functionalities, and the use of creative video editing is further explored as a
process to support the production of digital video art (Teresa Chambela, 2010).
Genetic algorithms are probably the most popular technique in evolutionary
computation. In the very beginning genetic algorithms were used to as a step in the
process of classifier systems and they have been exploited more to study the
mechanisms of evolution, rather than to solve actual issues.
In genetic algorithms an individual is represented as a sequence of bits. Offspring
that are produced at each step tend to usually outnumber the original population.
During the process of selecting parents highly fit individuals are favoured by the
bigger or smaller factor depending on selective pressure in the algorithm. After the
evaluation of new individuals, the population is shrunk back to its original size.
Sometimes, all parents in the population are discarded, regardless of their fitness: if
that cases, the approach is called generational. (Ernesto Sanchez, 2012).