What are genetic algorithms?

Asked

Viewed 3,245 times

24

I was reading a little bit about algorithms and suddenly quoted the darwinism, evolutionary theory that explains the evolution process of the species, referencing genetic algorithms. There arose the following questions:

What are genetic algorithms? What relationship exists with darwinism?

  • 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.

  • https://pt.wikipedia.org/wiki/Algoritmo_gen%C3%A9tico

2 answers

19


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:

  1. Work with a parameter set encoding and not with the parameters themselves.

  2. Working with a population and not with a single point.

  3. Use information of cost or reward and not derived or other auxiliary knowledge.

  4. 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.

inserir a descrição da imagem aqui

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:

  • 3

    Very good answer. : ) It should be added that when the Wikipedia article says it is a "search" technique, it means that essentially AG does a kind of graph search similar to Hill Climbing (p. 8): they start from an initial state (the given initial population) and generate the new states of the graph from the crossing, until they reach the sought state. The mutation helps avoid local maxima similarly to random "restarts" in Hill Climbing.

  • 1

    @Luizvieira, thank you for the addition, very good =)

0

A genetic algorithm (AG) is a search technique used to find approximate solutions to optimization and search problems. (using techniques inspired by evolutionary biology as heredity, mutation, natural selection and recombination)

These methods are increasingly being used by the artificial intelligence community to obtain intelligence models computational (Barreto 1997).

Darwinism is a set of concepts related to the ideas of Transmutation of species, natural selection or evolution. I believe that the relationship between AG and Darwinism is that AG’s take as their basis the foundations of Darwinism to solve problems. (Evolution, theories of natural selection, etc)

As far as I know nowadays a lot of people use AG’s for bacterial control algorithms, molecules,...

  • 4

    Hello. Nice you participate and collaborate with the site, but your answer has some problems. It seems that you are juxtaposing texts from various sources without quoting them.

  • Thanks for letting me know, I’ll edit here.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.