150 likes | 248 Views
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.
E N D
Pontifícia Universidade Católica do Paraná (PUCPR) Programa de Pós-Graduação em Informática (PPGIA) Reconhecimento de PadrõesComputação Evolutiva Luiz Eduardo S. Oliveira, Ph.D. www.lesoliveira.net
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 Evolutiva PUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira
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 Evolutiva PUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira
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 Evolutiva PUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira
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 Evolutiva PUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira
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 Evolutiva PUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira
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 Evolutiva PUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira
Evolução • Em resumo, o processo evolutivo deve contar com • Reprodução • Seleção • Mutação (Diversidade, Variedade) Reconhecimento de Padrões - Computação Evolutiva PUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira
Procedimento Básico • Inicializar a população. • Calcular a fitness de cada indivíduo. • Reproduzir os indivíduos selecionados. • Submeter a população a operações genéticas (ex cruzamento, mutação). • Voltar ao item 2 até que alguma condição seja satisfeita. Reconhecimento de Padrões - Computação Evolutiva PUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira
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 Evolutiva PUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira
( ) Y Terminologia Valor do ótimo global f(X) Vizinhança do solução X Ótimo local Ótimo Global Reconhecimento de Padrões - Computação Evolutiva PUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira
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 Evolutiva PUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira
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 Evolutiva PUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira
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 Evolutiva PUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira
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 Reconhecimento de Padrões - Computação Evolutiva PUCPR-PPGIa - Prof. Luiz Eduardo S. Oliveira