210 likes | 407 Views
Programação Evolutiva e Lógica Fuzzy. CMP 135 Arquiteturas Especiais de Computadores Fauzi Shubeita - UFRGS 2003. “Nenhum computador tem consciência do que faz, mas, na maior parte do tempo, nós também não." (Marvín Minsky). Tópicos. Computação Evolutiva
E N D
Programação Evolutiva e Lógica Fuzzy CMP 135 Arquiteturas Especiais de Computadores Fauzi Shubeita - UFRGS 2003
“Nenhum computador tem consciência do que faz, mas, na maior parte do tempo, nós também não." (Marvín Minsky)
Tópicos • Computação Evolutiva • Taxonomia da Computação Evolutiva • Definição • Algoritmos Genéticos • Programação Evolutiva • Estratégias de Evolução • Sistemas Classificadores • Programação Genética • Lógica Fuzzy • Definição • Aplicações da Lógica Fuzzy
Computação Evolutiva - Conceito Computação Evolutiva consiste numa máquina “aprendente” otimizada, baseada nos moldes dos mecanismos de evolução biológica e seleção natural.
Computação Evolutiva - Áreas • Algoritmos Genéticos (J. H. Holland 1975) • Programação Evolutiva (L. J. Fogel 1960) • Estratégias de Evolução (I. Rechemberg 1973) • Sistemas Classificadores (Post 1943) • Programação Genética (J. R. Koza 1992)
Algoritmos Genéticos • Deriva do processo evolutivo natural • É uma simulação do processo genético natural. • Indivíduos representados por Cromossomos, um conjunto de strings de caracteres análogos a timina, guanina, adenosina e citosina derivados do DNA. • Usa processo estocásticos mas os resultados são não aleatórios.
Algoritmos Genéticos • Cruzamento (adequação proporcional) • Competição entre indivíduos de subgrupos (seleção por torneio) • Mutação
Algoritmos Genéticos • Cria-se uma população (através de crossover, reprodução por adequação proporcional e mutação). • Descarta-se a população original e repete-se o ciclo, esse denominado de Geração. • A partir então da população Zero, por adequação é feito o aprimoramento da população.
Programação Evolutiva • Similar aos Algoritmos Genéticos • Enfatiza o relacionamento comportamental entre progenitores e sua descendência • Semelhante ao campo que investiga Estratégias de Evolução
Programação Evolutiva • Uma população de possíveis soluções é escolhida aleatoriamente. • Cada solução é replicada em uma nova população • Cada solução descendente é avaliada pela computação de sua adequação pelo método Estocástico.
Programação Evolutiva Diferencia-se dos Algoritmos Genéticos por: • Não empregar Crossover (cruzamento). • AG codificam as soluções de problemas como um string de tokens significativos - o genoma. Em PE a solução é dependente do problema
Estratégias de Evolução • Concebido para solucionar problemas técnicos de otimização. • Utilizado pelas áreas de Engenharia • Regra de 1/5 • Recombinação por acasalamento aleatório, mutação e seleção. • Estratégia plus e virgula
Estratégias de Evolução • Empregam Teorias da Probabilidade e Estatística para interpretar resultados. • Auto-Adaptação dependente da Aleatoriedade, Tamanho da População, Cooperação e Deterioração.
Sistemas Classificadores • Percebem, classificam e reagem ao ambiente. • Abordagem dos Animat’s (animal + robot) • Compostos por: Ambiente, Receptores, Efectores e o Sistema em si. • Baseado em regras If-Then (idéia de caixa-preta).
Programação Genética • São programas, que quando executados oferecem diferentes soluções. • Representados em PG como árvores, ao invés de linhas de código. • Utiliza Crossover para seleção aleatória. • Implementados em Lisp ou ambientes não-Lisp.
Lógica Fuzzy (Difusa) • Teoria sobre conjuntos lançada pelo Prof. Lofti A. Zadeh, publicada em 1965 (U. Berkeley). • Generaliza os conceitos da Teoria Clássica de Conjuntos. • Baseada no conceito de “verdade parcial”. • Combina lógica multivalorada, IA e Redes Neurais para representar o pensamento Humano
Lógica Fuzzy (Difusa) • Função de Pertinência, onde é explorada a relatividade de expressões como “Alto, Quente, Próximo...”. • Teoria do Protótipos (Eleanor Rosch 1976) • Um sim ou um não como resposta, é na maioria das vezes, incompleta.
Lógica Fuzzy (Difusa) Utilizada em: • Sistemas Especialistas, Computação com Palavras, Raciocínio Aproximado, Controle de Processos, Robótica, Reconhecimento de Padrões, Processo de Tomada de Decisão... • Ar-Condicionado, Freios ABS, Câmbio Automático, Máquina Copiadoras, Elevadores,Televisores, Torradeiras...
Referências • O. Cordón, F. Herrera, F. Hoffmann and L. Magdalena. Genetic Fuzzy Systems––Evolutionary Tuning and Learning of Fuzzy Knowledge Bases, World Scientific, Singapore (2001). • A. Geyer-Schulz. Fuzzy Rule-Based Expert Systems and Genetic Machine Learning, Physica, Heidelberg (1995). • C. Karr, Genetic algorithms for fuzzy controllers. AI Expert 6 2 (1991) • D.T. Pham and D. Karaboga, Optimum design of fuzzy logic controllers using genetic algorithms. J. System Eng. 1 (1991)