Вы находитесь на странице: 1из 41

Algoritmos Genticos

Prof. Alexandre Kepler Soares

Indagaes de alguns sculos atrs...

Como explicar a diversidade de animais? Como explicar sua evoluo? Qual a influncia dos antepassados? Qual a influncia do meio ambiente?

Histria da Teoria da Evoluo


1809: Jean-Baptiste Lamarck

Lei do uso e do desuso

pelo uso e desuso de suas aptides, a natureza fora os seres a se adaptarem para sobreviverem
Os seres mais fortes so mais capazes de transmitir suas aptides s novas geraes

Lei dos caracteres adquiridos

Histria da Teoria da Evoluo 1859: Charles Darwin

Existe uma diversidade de seres devido aos contingentes da natureza (comida, clima, ...) e pela lei da Seleo Natural que os seres mais adaptados aos seus ambientes sobrevivem

contra lei do uso de desuso

Os caracteres adquiridos so herdados pelas geraes seguintes

o homem vem do macaco...

Histria da Teoria da Evoluo

1865: Gregor Mendel

Formalizou a herana de caractersticas, com a teoria do DNA (ervilhas)

1901: Hugo De Vries


S a seleo natural no responsvel pela produo de novas (mais adaptadas) espcies. Tem de haver uma mudana gentica! Formalizou o processo de gerao de diversidade: Teoria da Mutao

Computao evolutiva
1975, John Holland: Idealizou os algoritmos genticos

Adaptation in Natural & Artificial Systems MIT Press, 1975 (2nd ed. 1992)

Porque a evoluo uma boa metfora?

Muitos problemas computacionais


envolvem busca atravs de um grande nmero de possveis solues requerem que o programa seja adaptativo, apto a agir em um ambiente dinmico uma busca massivamente paralela em um enorme espao de problema solues desejadas = organismos mais adaptados

A evoluo biolgica

Computao Evolutiva: introduo


Computao evolutiva

Mtodo probabilstico de busca para resoluo de problemas (otimizao) inspirado na teoria da evoluo Tem vrias variantes: algoritmos genticos, programao gentica, estratgia evolutiva e programao evolutiva
indivduo = soluo provoca mudana nos indivduos por intermdio de mutao e reproduo seleciona indivduos mais adaptados atravs de sucessivas geraes A aptido de cada indivduo medida pela funo de aptido (fitness function)

Idia:

Aplicao: classes de problemas


Aproximao de funes

no-lineares/lineares, multi-modais Mono-modais e discretas/contnuas

0timizao combinatria Aprendizagem

por isto no pode ser contida na estatstica!!

Mundo real

Mtodos de busca: otimizao


Matemticos de gradiente: hill-climbing

problema: mnimos locais

Enumerativos -> cada ponto...

Problema: custa caro

Mtodos de busca: otimizao


Aleatrios: Resfriamento simulado (simulated annealing)

Aleatrios: computao evolutiva indivduo = soluo

Processo adaptativo e paralelo

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 testados 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

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