terça-feira, 19 de abril de 2016

Computação Evolutiva e Algoritmos Genéticos


A Computação Evolutiva é um ramo de pesquisa da Inteligência Artificial que consiste em um conjunto de técnicas de busca e otimização inspiradas na Teoria da Evolução de Darwin (1859).
Dentre essas técnicas, destacarei os Algoritmos Genéticos (AGs), em sua forma mais básica.
Na natureza, indivíduos competem entre si buscando a sobrevivência. Os mais aptos terão maior chance de gerar descendentes e todos os indivíduos estão sempre sujeitos a mutações. Os AGs simulam esses processos a fim de gerar soluções ótimas para determinados problemas. Essas soluções são tratadas como indivíduos de uma população que a cada iteração evolui, gerando uma nova população que tende a possuir um maior grau de otimização.
Seu funcionamento se dá da seguinte forma:
  1. Inicialmente uma população é escolhida, composta por indivíduos criados aleatoriamente.
  2. Avalia-se essa população através de um critério pré-estabelecido (função de aptidão ou fitness function).
  3. Através do operador de seleção, os indivíduos mais aptos, de acordo com o valor dado pela fitness function, são selecionados.
  4. Sobre estes indivíduos são aplicados operadores de cruzamento e mutação a fim de garantir uma variabilidade de soluções.
  5. Esse processo se repete até que um número predeterminado de iterações seja atingido ou até que uma solução aceitável seja alcançada.


Os AGs possuem aplicações em diversas áreas como a Engenharia, Biologia, Economia, Medicina etc. Para saber mais sobre o assunto, clique aqui.