Reconhecimento de Padrões Computação Evolutiva

15
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)

description

Pontifícia Universidade Católica do Paraná (PUCPR) Programa de Pós-Graduação em Informática (PPGIA). Reconhecimento de Padrões Computação Evolutiva. Luiz Eduardo S. Oliveira, Ph.D. www.lesoliveira.net. Princípios da CE. - PowerPoint PPT Presentation

Transcript of Reconhecimento de Padrões Computação Evolutiva

Page 1: 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)

Page 2: Reconhecimento de Padrões Computação Evolutiva

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.

Page 3: Reconhecimento de Padrões Computação Evolutiva

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.

Page 4: Reconhecimento de Padrões Computação Evolutiva

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

Page 5: Reconhecimento de Padrões Computação Evolutiva

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.

Page 6: Reconhecimento de Padrões Computação Evolutiva

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.

Page 7: Reconhecimento de Padrões Computação Evolutiva

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.

Page 8: Reconhecimento de Padrões Computação Evolutiva

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)

Page 9: Reconhecimento de Padrões Computação Evolutiva

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.

Page 10: Reconhecimento de Padrões Computação Evolutiva

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.

Page 11: Reconhecimento de Padrões Computação Evolutiva

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

Page 12: Reconhecimento de Padrões Computação Evolutiva

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.

Page 13: Reconhecimento de Padrões Computação Evolutiva

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.

Page 14: Reconhecimento de Padrões Computação Evolutiva

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.

Page 15: Reconhecimento de Padrões Computação Evolutiva

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