Darwinism
Beginning the answer with the classic phrase of Charles Darwin, which can be found in his book "The Origin of Species" (1859):
The better an individual adapts to his or her environment, the greater
your chance to survive and spawn descendants.
When we heard about Darwinism, We already associate evolution, natural selection, among others. The distinguishing feature of Darwinism from all other theories is that evolution is seen as a function of population change, not individual change, and that’s where the genetic algorithm comes in, because as its development, biologists, physicists, mathematicians and scientists can describe evolutionary processes similar to the evolution of life.
Thinking about the conditions a Darwinian process requires:
- Reproduction: agents must be able to make copies of themselves and such copies must also be able to reproduce themselves;
- Heredity: Copies must inherit the characteristics of the originals;
- Variation: Occasionally, copies have to be imperfect (diversity within the population);
- Natural Selection: Individuals are selected by environment. Natural selection destroys, and does not create. The problem of the existence of an objective does not arise from the elimination of the unfit, but from the origin of the fit.
In any system where such characteristics occur.
With these concepts in mind, we can talk a little bit about the genetic algorithm itself.
Genetic algorithm
Definition:
A genetic algorithm (AG) is a search technique used in science
of computing to find approximate solutions to
optimization and search, based mainly on the American John
Henry Holland. Genetic algorithms are a particular class of
evolutionary algorithms using techniques inspired by biology
as heredity, mutation, natural selection and
recombination (or Crossing over).
Source: Wikipedia
And what does that mean?
Think of the "laws of nature", individuals of the same population compete with each other, seeking mainly survival, whether in the search for food or reproduction. The fittest individuals will have a greater number of descendants. Genetic algorithms simulate these population survival and reproduction processes.
Genetic algorithms are methods of optimization and search, which were inspired by the mechanisms of evolution of populations of living beings. They follow the principle of natural selection and survival of the fittest.
Optimization is the search for the best solution for a given problem, consisting in trying various solutions and using the information obtained in this process in order to find increasingly better solutions.
Genetic algorithms differ from traditional search and optimization methods, mainly in four aspects:
Work with a parameter set encoding and not with the parameters themselves.
Working with a population and not with a single point.
Use information of cost or reward and not derived or other auxiliary knowledge.
Use probabilistic and non-deterministic transition rules.
função AlgoritmoGenético(população, função-objetivo) saídas: indivíduo
entradas: população→ uma lista de indivíduos
função-objetivo→ uma função que recebe um indivíduo e retorna um número real.
repetir
lista de pais := seleção(população, função-objetivo)
população := reprodução(lista de pais)
enquanto nenhuma condição de parada for atingida
retorna o melhor indivíduo da população de acordo com a função-objetivo
Code of Wikipedia.
Genetic algorithms are very efficient in finding optimal or approximately optimal solutions in a wide variety of problems, as they do not impose many of the limitations found in traditional search methods.
Functioning
In 1975, HOLLAND, decomposed the functioning of genetic algorithms in the following steps: initialization, evaluation, selection, crossing, mutation, updating and completion.
Basically, what a genetic algorithm does is create a population of
possible answers to the problem to be addressed (initialization) and then submit it to the process of evolution, consisting of the following:
Appraisal: the suitability of the solutions (individuals of the population), an analysis is made to establish how well they respond to the proposed problem.
Selection: individuals are selected for reproduction. The probability of a given solution i be selected is proportional to your fitness. You can use the method of roulette, elitism, etc..
Intersection: characteristics of the chosen solutions are recombined, generating new individuals.
Mutation: characteristics of the individuals resulting from the reproduction process are changed, thus adding variety to the population.
Updating: individuals created in this generation are included in the population.
Finalizing: checks whether the conditions for the closure of the evolution have been met, returning to the evaluation stage in the negative case and terminating the execution in the positive case.
Because it is a very widespread technique and generally offer good
results, genetic algorithms are used to solve several types of problems, among them: Classification systems, scheduling and scheduling.
References:
In short, because I know that much better and much more complete answers will come, they are algorithms that use theories that have helped to substantiate Darwinism to find a solution to a problem.
– MarceloBoni
https://pt.wikipedia.org/wiki/Algoritmo_gen%C3%A9tico
– Murilo Melo