Reconhecimento de Padrões Computação Evolutiva
description
Transcript of Reconhecimento de Padrões Computação Evolutiva
Reconhecimento de Padrões
Computação Evolutiva
Luiz Eduardo S. Oliveira, Ph.D.www.lesoliveira.net
Pontifícia Universidade Católica do Paraná (PUCPR)Programa de Pós-Graduação em Informática (PPGIA)
Reconhecimento de Padrões - Computação EvolutivaPUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira 2
Princípios da CE
• Algoritmos baseados em populações, as quais são reproduzidas a cada geração do algoritmo. – Várias regiões de buscas podem ser
exploradas simultaneamente, ao contrário de algoritmos determinísticos.
Reconhecimento de Padrões - Computação EvolutivaPUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira 3
O que é Evolução?
• O termo evolução têm sido bastante utilizados em propagandas– Ex: Carros, políticas, teorias evolucionárias
ou evolutivas.• A palavra evolução NÃO significa melhor,
melhoria, adaptação, manipulação de genes.
Reconhecimento de Padrões - Computação EvolutivaPUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira 4
O que é Evolução
• Porém, evolução normalmente produz melhorias significativas, faz com que indivíduos se adaptem a certo nichos.
• Evolução:– Processo gradual de mudanças.– Três papeis devem estar presentes:
• O Bom, O Mau e o Estranho
Reconhecimento de Padrões - Computação EvolutivaPUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira 5
O Bom
• A parte boa do processo de evolução é a reprodução.
• Uma “coisa” pode ser resultante de um processo de evolução se e somente ela é capaz de se reproduzir.
• Por exemplo, pedras não são resultados de evolução.
Reconhecimento de Padrões - Computação EvolutivaPUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira 6
O Mau
• A parte má do processo de evolução é a seleção
• A seleção determina vencedores e perdedores. • Os melhores tem mais chances de reproduzir,
enquanto os piores morrem antes– Lei da selva!
• Sem seleção as coisas se reproduziriam e morreriam aleatoriamente.
Reconhecimento de Padrões - Computação EvolutivaPUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira 7
O Estranho
• Mutações podem ser consideradas como uma coisa estranha.
• Entretanto, a mutação é o terceiro componente vital do processo evolutivo, pois insere diversidade.
• Geralmente causam pequenas mudanças– Ex: Um dente a mais na arcada dentária.
Reconhecimento de Padrões - Computação EvolutivaPUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira 8
Evolução
• Em resumo, o processo evolutivo deve contar com – Reprodução– Seleção– Mutação (Diversidade, Variedade)
Reconhecimento de Padrões - Computação EvolutivaPUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira 9
Procedimento Básico
1. Inicializar a população.2. Calcular a fitness de cada indivíduo.3. Reproduzir os indivíduos selecionados.4. Submeter a população a operações
genéticas (ex cruzamento, mutação).5. Voltar ao item 2 até que alguma
condição seja satisfeita.
Reconhecimento de Padrões - Computação EvolutivaPUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira 10
Solução Ótima
• Geralmente existe um ótimo global.• O ponto ótimo de um problema pode
mudar dinamicamente.• Vários pontos quase-ótimos podem existir.• Não é sensato esperar que um algoritmo
de otimização encontre o ponto ótimo em um tempo finito.
Reconhecimento de Padrões - Computação EvolutivaPUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira 11
Terminologia
f(X)
X
Ótimo local Ótimo Global
( )
Vizinhança do solução
Valor do ótimo global
Y
Reconhecimento de Padrões - Computação EvolutivaPUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira 12
Lei da Suficiência
• O melhor que pode-se esperar é que o algoritmo encontre uma solução próxima a ótima.
• Lei da SUFICIÊNCIA– Se uma solução é suficientemente boa e
rápida, então ela é suficiente.
Reconhecimento de Padrões - Computação EvolutivaPUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira 13
O Melhor Algoritmo
• Não existe o melhor algoritmo, e sim o algoritmo que é mais eficiente para um determinado tipo de problema.– No free lunch theorem.
Reconhecimento de Padrões - Computação EvolutivaPUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira 14
Como Isso Funciona nos Computadores?
• Universos digitais– Definir leis que governem nossos universos
digitais (reprodução, seleção e mutação).• Não podemos provar que a evolução
produz bons resultados– Mas invariavelmente produz.– Não existem provas matemáticas.
Reconhecimento de Padrões - Computação EvolutivaPUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira 15
Referências• P. J. Bentley. Digital Biology, 2001• D. Goldberg. Genetic Algorithms in Search, Optimization
and Machine Learning, 1989.• K. Deb. Multi-objective Optimization using Evolutionary
Algoritms, 2001• J. R. Koza. Genetic Programming of Computers by
Means of Natural Selection, 1994• D. B. Fogel. Evolutionary Computation, 2002.• J. Kennedy and R. Eberhart. Swarm Intelligence, 2001