Os algoritmos genéticos baseiam-se na teoria da evolução das espécies de Darwin, ao determinar que os indivíduos mais adaptados ao meio ambiente terão mais chances de sobrevivência e reprodução. Em decorrência de tal constatação, pode-se dizer que somente os mais aptos conseguem se reproduzir, uma vez que os menos hábeis geralmente são eliminados antes de gerarem descendentes. Na reprodução ocorrem fenômenos como mutação e cruzamento, entre outros, que atuam sobre o material genético armazenado nos cromossomos. Estes fenômenos levam à diversificação dos seres vivos na população. Sobre esta população não uniforme age a seleção natural, permitindo a sobrevivência apenas dos seres mais adaptados.
Um algoritmo genético é a metáfora desses fenômenos, o que explica por que AG’s possuem muitos termos originados da Biologia. Descreve-se a seguir os principais termos encontrados nas literaturas.
• Cromossomo e genoma: na Biologia, o cromossomo é um corpo filamentoso constituído de DNA (ácido desoxirribonucléico) e proteínas presente em todos os núcleos das células dos animais e vegetais, e são responsáveis pela transmissão das informações genéticas. O genoma é o conjunto completo de genes de um indivíduo. Nos AG´s representam as possíveis soluções do problema mediante uma estrutura de dado, ou seja é um ponto ou vetor no espaço de busca.
• Gene: na Biologia, é a unidade básica e de material hereditário do cromossomo que de acordo com sua posição e valores determinam uma característica que define uma função biológica no organismo. Nos AG’s, é um parâmetro codificado, as diversas variáveis que representam um cromossomo, ou seja, um elemento do vetor que representa o cromossomo.
• Indivíduo: na Biologia, um simples membro da população que interage com o meio ambiente. Nos AG’s, um indivíduo é uma possível solução para o problema.
• Genótipo: na Biologia, representa o arranjo da composição genética contida no genoma. Nos AG’s, representa a informação contida no cromossomo ou genoma.
• Fenótipo: na Biologia, representa o conjunto das características da estrutura de um organismo construído a partir das informações do genótipo. Nos AG´s é o cromossomo decodificado. Por exemplo, considere que o cromossomo codifica parâmetros, como as dimensões das vigas em um projeto de construção de um edifício, ou as conexões e pesos de uma Rede Neural. O fenótipo seria o edifício construído ou a Rede Neural.
• Alelo: na Biologia, são genes que ocupam a mesma posição no cromossomo, unem-se aos pares na meiose e podem mutar de um para outro. Nos AG’s representa os valores que o gene pode assumir. Por exemplo, um gene que pode ser 0 ou 1 na representação binária ou outros parâmetros como a cor de um objeto podendo ser alelo azul, preto, verde, etc.
• Epistasia: na Biologia é a interação dos genes do cromossomo, isto é, quando o valor de um gene influencia o valor de outro gene. Problemas com alta epistasia são de solução difícil por AG’s.
O algoritmo genético é a ferramenta de busca utilizada para encontrar um ponto ótimo de uma função. Eles principalmente tiveram esta conotação após a publicação do trabalho de Goldberg (1989), onde a idéia da otimização passou a ocupar o lugar central da teoria dos AG´s.
A otimização consiste em buscar a melhor solução para um problema e geralmente apresenta: um espaço de busca onde estão todas as soluções possíveis do problema, e uma função objetivo, que no AG pode ser chamada de função aptidão, por meio da qual se dará um determinado valor a cada uma das soluções encontradas.
Em termos matemáticos, a otimização consiste em encontrar o ponto máximo e mínimo de uma função objetivo. O AG apresenta grande vantagem sobre outros métodos de busca convencionais (como o do gradiente) na procura de um ótimo global, pois uma função pode ter vários mínimos ou máximos locais que não representam o máximo ou mínimo globais da função. Logo, diferentemente dos AG´s, métodos de busca convencionais geralmente não podem encontrar pontos mínimos ou máximos globais.
O algoritmo genético típico se inicia com a geração de uma população inicial de cromossomos, que representa o conjunto aleatório de todas as possíveis soluções do problema a ser resolvido. A etapa posterior é avaliar cada cromossomo da população, dando-lhe uma nota (ou aptidão), refletindo a qualidade da solução que ele representa. Em geral, os cromossomos mais aptos são selecionados e os menos aptos são descartados (Darwinismo). No processo evolutivo, os membros selecionados podem ser objetos de modificações em suas características mediante operadores de crossover (cruzamento ou recombinação) e mutação, gerando descendentes para a próxima geração. O processo se repete até que seja atingida uma resposta satisfatória para a solução do problema. A figura 7 a seguir demonstra este processo:
Seja S(t) a população de cromossomos na geração t.
t 0
inicializar S(t) Avaliar S(t)
Enquanto o critério de parada não for satisfeito faça
t t +1
selecionar S(t) a partir de S(t-1) aplicar cruzamento sobre S(t) aplicar mutação sobre S(t) avaliar S(t)
Fim enquanto
FIGURA 7 –Algoritmo genético típico Fonte: Gen e Chen (1997, p. 2).
Pode-se descrever que começa com uma população inicial de n cromossomos, gerados aleatoriamente. Após a geração da população inicial, os cromossomos sisão avaliados
e a eles atribuídos uma aptidão fi,que informa o quanto é boa a solução codificada em si. O
AG aplica os operadores de cruzamento e mutação nos melhores cromossomos da população inicial para gerar cromossomos filhos, por um processo de seleção. Os operadores de cruzamento e mutação constituem os mecanismos dos AG´s que gerarão um grande número de cromossomos (soluções), de forma a promover uma varredura tão extensa quanto necessária do espaço formado pelas soluções.