Programação Evolutiva e Lógica Fuzzy CMP 135 Arquiteturas Especiais de Computadores Fauzi...
Transcript of Programação Evolutiva e Lógica Fuzzy CMP 135 Arquiteturas Especiais de Computadores Fauzi...
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
Taxonomia da Computação Evolutiva
ComputaçãoEvolutiva
ComputaçãoNatural
Fuzzy Systems
Vida Artificial
Estratégias deEvolução
Redes Neurais
Geometria Fractal Teoria do CaosInteligênciaComputacional
SistemasComplexos
ProgramaçãoEvolutiva
AlgoritmosGenéticos
Sistemas deClassificação
ProgramaçãoGenética
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.
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)
Computação Evolutiva - Áreas
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)
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)