Você está na página 1de 33

Fundamentos dos Algoritmos Genticos

Por Luis R. M. Lopes

Fundamentos dos Algoritmos Genticos


Quanto melhor um indivduo se adaptar ao seu meio ambiente, maior ser sua chance de sobreviver e gerar descendentes. (DARWIN, 1859)

O que so?
Os Algoritmos Genticos so uma classe de procedimentos, com passos distintos bem definidos. Essa classe se fundamenta em analogias a conceitos biolgicos j testadas exausto. Cada passo distinto pode ter diversas verses diferentes.

Para que servem?


Busca e Otimizao Amplamente utilizados, com sucesso, em problemas de difcil manipulao pelas tcnicas tradicionais Eficincia X Flexibilidade

Caractersticas Gerais
Utilizam uma codificao do conjunto de parmetros (indivduos) e no com os prprios parmetros (estados); Vasculham vrias regies do espao de busca de cada vez; Utilizam informaes diretas de qualidade, em contraste com as derivadas utilizadas nos mtodos tradicionais de otimizao; Utilizam regras de transio probabilsticas e no regras determinsticas.

Caractersticas Gerais
Algoritmos Genticos podem ser considerados como mtodos que trabalham com Buscas Paralelas Randmicas Direcionadas

Funcionamento Fundamental
1. Gerar Populao Inicial
2. Descartar uma parte dos Indivduos

menos aptos 3. Aplicar operadores de reproduo 4. Aplicar operadores de mutao 5. Se o critrio de parada foi satisfeito, encerrar. Seno, voltar ao passo 2.

Modelagem
Indivduos X Estados Cada indivduo possui um cdigo gentico Esse cdigo chamado cromossomo Tradicionalmente, um cromossomo um vetor de bits Vetor de bits nem sempre o ideal

Exemplo de Modelagem
Problema das N-Rainhas:
A posio de cada rainha dada por uma subcadeia do cromossomo Exemplo para N = 4:

= R1

01 11 00 10 R2 R3 R4

Operadores Fundamentais
Seleo Natural Manipulao Gentica por Mutao

Manipulao Gentica por Reproduo

Seleo Natural
Princpio bsico para o direcionamento da evoluo de uma dada populao Utiliza uma funo de avaliao para medir a aptido de cada indivduo Essa aptido pode ser absoluta ou relativa Existem vrios mtodos de seleo

Principais Mtodos de Seleo Natural


Roleta Torneio

Amostragem Universal Estocstica

Populao Exemplo
Indivduo Aptido Absoluta 1 2 3 4 5 2 4 5 9 18 Aptido Relativa 0,052631579 0,105263158 0,131578947 0,236842105 0,473684211

Total

38

Mtodo da Roleta
Coloca-se os indivduos em uma roleta, dando a cada um uma fatia proporcional sua aptido relativa Depois roda-se a agulha da roleta. O indivduo em cuja fatia a agulha parar permanece para a prxima gerao Repete-se o sorteio quantas vezes forem necessrias para selecionar a quantidade desejada de indivduos

Roleta - Exemplo

Mtodo do Torneio
Utiliza sucessivas disputas para realizar a seleo Para selecionar k indivduos, realiza k disputas, cada disputa envolvendo n indivduos escolhidos ao acaso O indivduo de maior aptido na disputa selecionado muito comum utilizar n = 3

Torneio - Exemplo
Indiv 1, Indiv 2, Indiv 4 Indiv 1, Indiv 2, Indiv 3 Indiv 2, Indiv 3, Indiv 4 Indiv 3, Indiv 4, Indiv 5 Indiv 4 Indiv 3 Indiv 4 Indiv 5

Amostragem Universal Estocstica - SUS


SUS Stochastic Universal Sampling Semelhante Roleta, mas para selecionar k indivduos utiliza k agulhas igualmente espaadas, girando-as em conjunto uma s vez Apresenta resultados menos variantes que a Roleta

SUS - Exemplo

Operador de Mutao
Operador randmico de manipulao Introduz e mantm a variedade gentica da populao Garante a possibilidade de se alcanar qualquer ponto do espao de busca Contorna mnimos locais

Operador de Mutao
um operador gentico secundrio Se seu uso for exagerado, reduz a evoluo a uma busca totalmente aleatria Logo um indivduo sofre mutaes com probabilidade baixa (normalmente entre 0,001 e 0,1)

Exemplo de Mutao

Operador de Cruzamento
Tambm chamado de reproduo ou crossover Combina as informaes genticas de dois indivduos (pais) para gerar novos indivduos (filhos) Verses mais comuns criam sempre dois filhos para cada operao

Operador de Cruzamento
Operador gentico principal Responsvel por gerar novos indivduos diferentes (sejam melhores ou piores) a partir de indivduos j promissores Aplicado a cada par de indivduos com alta probabilidade (normalmente entre 0,6 e 0,99)

Abordagens para Cruzamento


Cruzamento Um-Ponto Cruzamento Multi-Pontos

Cruzamento Uniforme

Cruzamento Um-Ponto
0 0 0 0 Pais 1 1 1 1

Filhos

Cruzamento Multi-Ponto
0 0 0 0 Pais 1 1 1 1

Filhos

Cruzamento Uniforme
Mscara 0 1 0 1

Pais

Filhos

Parmetros Genticos
Tamanho da populao Taxa de cruzamento Taxa de mutao Intervalo de gerao Critrio de parada

Aplicaes
Alocao de tarefas Configurao de sistemas complexos Seleo de Rotas Problemas de Otimizao e de Aprendizagem de Mquina Problemas cuja soluo seja um estado final e no um caminho

Aplicaes
So especialmente interessantes em problemas difceis de otimizar de forma convencional Tcnicas tradicionais so mais difceis de empregar Se uma tcnica tradicional puder ser empregada, normalmente acha melhor soluo mais rpido

Aplicaes
Existem muitos problemas prticos aos quais tcnicas determinsticas tradicionais no podem ser aplicadas Tcnicas tradicionais tm natureza serial Algoritmos Genticos tm natureza paralela

Perspectivas Futuras
Computao baseada em DNA Cooperao e competio entre populaes Vida vegetal Desenvolvimento de modelos tericos Sistemas evolutivos hbridos Metodologia para a configurao de parmetros Prova formal da eficincia global dos AGs