Gilmar Cação Ribeiro Maxweel S. Carmo Processadores Fuzzy Gilmar Cação Ribeiro Maxweel S. Carmo
Conceitos Processadores Fuzzy Aplicações
Lógica Clássica Utilização de valores definidos Verdadeiro, Falso 0, 1 Sim, Não 0V, 5V Etc.
Lógica Fuzzy Rompimento com a rigidez da lógica clássica Utilização de valores intermediários entre os dois extremos {0,1} -> [0,1] O “porque” da lógica fuzzy Imprecisão do mundo real -Dificuldade de modelamento utilizando a lógica tradicional
Histórico Surgiu na década de 60 Desenvolveu-se notavelmente no Japão Omron Primeiro experimento de sucesso Controle de uma máquina a vapor em 1974
Características Intenso uso de palavras ao invés de números Termos linguísticos: frio, quente, morno, alto, longe, ligeiro, devagar, lento, etc. Modificadores de predicado Muito rápido, pouco elevado, mais ou menos, etc. Uso de probabilidades linguísticas Provável, improvável, etc. Manipulação de infinitos valores entre 0 e 1
Vantagens Poucas regras, valores e decisões Observação de um maior número de variáveis Variáveis linguísticas Aproximação da forma de pensar dos seres humanos Interfaces mais amigáveis com as máquinas
Vantagens Sua utilização simplifica a solução de problemas Fácil implementação
Conjuntos Fuzzy Lógica clássica elemento pertence ou não a um conjunto. Conjunto => “alto” Ex.: João é alto / João é não alto Lógica fuzzy elemento pertence, não pertence ou está parcialmente presente em um conjunto Ex.: João é um pouco alto
x . . . . . . A(Mulheres) B . . . . (Todos os membros de uma equipe) . . . . . . X5 x6 x7 x8 x9 x10 A(Mulheres) B (Menores de 20 anos) . . . . x1 x2 x3 x4 18 anos 19 anos 20 anos 35 anos
Fuzificação Valores crisp Valores fuzzy Função de pertinência Ex.: Temperatura, x = 37º (valor crisp) Conjuntos fuzzy = frio, morno, quente mT(x) Função de pertinência de x em T mT(37º) = 0.2/frio, 0.4/morno, 0.8/quente Fuzificação
Função de Pertinência mt(23) a mt(27) = 1 mt(21) ou mt(29) Temperatura ambiente mt(21) ou mt(29) Temperatura quase ambiente mt(0) ou mt(50) Temperatura não ambiente mT 1 23 27 50 T ºC
Função de Pertinência T(velocidade) = {lenta, média, rápida} mV Lenta Média Rápida 1 60 80 120 Velocidade T(velocidade) = {lenta, média, rápida} Variável linguística = velocidade Termos (conj.fuzzy) = lenta, média, rápida
Operações com Conjuntos Fuzzy A e B => Conjuntos fuzzy mA(x) È mB(x) = max{mA(x), mB(x)} mA(x) Ç mB(x) = min{mA(x), mB(x)} mcA(x) = 1 – mA(x) Variável X = 1, 2, 3 Conjunto A = 0.3/1 + 0.5/2 + 0.8/3 Conjunto B = 0.1/1 + 0.7/2 + 0.6/3 A È B = 0.3/1 + 0.7/2 + 0.8/3 A Ç B = 0.1/1 + 0.5/2 + 0.6/3 cA = 0.7/1 + 0.3/2 + 0.2/3
Operações com Conjuntos Fuzzy mA 1 X mB 1 (Conjunto A) (Conjunto B) mA - 1 X 1 X A È B A Ç B (União / Interseção de A e B) (Complemento de A)
Regras Fuzzy Formam a base de conhecimento IF x é A THEN y é B ou A => B IF pressão é alta THEN volume é pequeno Inferência Procedimento para se chegar a conclusões a partir de regras IF-THEN (“Raciocínio” fuzzy) (antecedente) (consequente)
Inferência - Exemplo Controle fuzzy de frenagem Entradas => Velocidade, Distância Saída (controle) => Intensidade da frenagem Regra 1: IF a distância entre os dois carros é curta e a velocidade do carro é alta, THEN a frenagem é forte Regra 2: IF a distância entre os dois carros é moderadamente longa e a velocidade do carro é alta, THEN a frenagem é moderadamente forte Regra 1: IF X1 = S e X2 = H, THEN Y = L Regra 1: IF X1 = M e X2 = L, THEN Y = M Distância entre os carros: X1 Intensidade da frenagem: Y Labels (peq., médio, grande) : P, M, G
1. Grau de pertinência das entradas Mapeamento da distância e velocidade no intervalo de 0 a 1 para cada conjunto fuzzy => uso das funções de pertinência 2. Grau de pertinência da parte antecedente Operações com as variáveis . Por exemplo: determinação do mínimo (MIN) R1: IF a distância entre os dois carros é curta e a velocidade do carro é alta, THEN a frenagem é forte R2: IF a distância entre os dois carros é moderadamente longa e a velocidade do carro é alta, THEN a frenagem é moderadamente forte Ex.: conjunto S (distância curta) = 0.4, para uma distância de 30m conjunto H (velocidade alta) = 0.2, para uma velocidade de 40Km/h Ex.: distância curta (0.4) E velocidade alta (0.2) = 0.2 (MIN)
Ajuste da parte consequente Operadores de implicação (Mandani, Larsen) Conclusões de cada regra Determinação da quantidade de controle (intensidade da frenagem) Combinação das conclusões de todas as regras => determinação do máximo (MAX) “Defuzificação” (saída em forma de valores crisp) R1 = 0.2 R2 = 0.6 Conclusão = 0.6
Defuzificação mT mT 1 1 0.6 mT mT 1 1 0.2 COA MOM MAX mT mT 1 1 0.2 COA MOM Método do máximo critério (MAX) Método da média dos máximos (MOM) Método do centro de massa (COA) MAX
Projeto de um Sistema Fuzzy Seleção das variáveis de entrada e saída Definição das regras e conjuntos fuzzy Mecanismo de inferência (MIN-MAX) Escolha da estratégia de defuzificação
Processadores Fuzzy Hardware de propósito geral Processadores dedicados Ganhos de desempenho Processadores digitais Processadores analógicos
Organização Três estágios Entrada Processamento Saída Processo Variáveis do processo Variáveis de controle Três estágios Entrada Mapeamento de entradas externas (sensores, chaves) em valores fuzzy Processamento Invoca as regras, executa inferência, gera resultados Saída Conversão dos resultados para valores compreendidos pelo sistema (controle) Processo Mecanismo de Inferência Fuzzy Defuzifi- cação Fuzificação Mecanismo de Inferência Fuzzy Termos fuzzy Termos fuzzy Base de conhecimento Processador Fuzzy
Processadores Fuzzy Simplicidade da lógica fuzzy Menor número de regras, valores e decisões Facilidade de implementação Melhor desempenho Menor consumo de energia Custos reduzidos O “porque” dos Processadores dedicados
Popularização da lógica fuzzy FP-3000 FZ-1000 – primeiro processador de propósito específico com tecnologia fuzzy Popularização da lógica fuzzy FP-3000 Processador digital Principal processador fuzzy da Omron Grande aceitação comercial -24MHz -Compatível com várias CPUs -Um único chip para as operações fuzzy -128 regras por inferência -Monitoramento de resultados parciais -Execução das operações em tempo fixo -Input/output =>família TTL/CMOS
FP-3000 Figura 9 (p.14)
CPU Resultados FP-3000 Funções de pertinência e regras Velocidade de operação Inferência -1 condição: 23 ciclos -1 conclusão: 13 ciclos Defuzificação -C.gravidade: 169 ciclos Altura máxima: 89 ciclos Resultados FP-3000 Execução das inferências (IF-THEN) (regras com até 8 condições e 2 conclusões) A defuzificação consome muito mais recursos de processamento
Diagrama de blocos Bloco de operação Lógica e aritmética Bloco de controle Decodificação de instruções Bloco de memória Regras fuzzy, graus de pertinência, resultados
Conjunto de Instruções Instrução Função IF Processamento antecedente THEN Processamento consequente MAXH Método da altura máxima COG Método do centro de gravidade RWIT Processamento de ponderação NOP Proc. pesos da parte antecedente e salto próxima regra SKIP Saltar regras END Fim do processamento
Mapa de memória
Processadores Fuzzy IC Processador analógico A natureza contínua da lógica fuzzy facilita a implementação de processadores analógicos Vantagens Trabalham diretamente com sinais contínuos Estrutura simples (utilização de componentes analógicos) Paralelismo Altas taxas de inferência
Chip de Inferência Chip de Defuzificação Regras com 3 condições e uma conclusão Saída analógica, usando um barramento de 25 vias Diodos e resistores para ajuste das funções de pertinência Chip de Defuzificação Soma lógica das conclusões Defuzificação
Chip de Inferência TG005MG
Chip de defuzificação TB0101PL Consiste de dois blocos Bloco de entrada Soma dos resultados parciais de 2 ou mais chips de inferência Bloco de saída Defuzificação do resultado, gerando uma saída analógica Inferência: método da altura máxima (MAX) Defuzificação: método do centro de gravidade
FZ-5000 Kit para desenvolvimento de aplicações fuzzy. Duas ou mais placas contendo 4 chips de inferência cada uma. Uma placa contendo um chip de defuzificação. Programação. Na própria interface da placa através de jumpers. Por software, através de um PC. Figura 22 (p.23)
Desvantagem: pouca flexibilidade Processadores GMD Utilizam elementos analógicos Três gerações 1º geração Várias funções de pertinência (triângulo, retângulos, sinos, etc.) em um mesmo circuito Bloco de inferência e defuzificação em um mesmo circuito Alta velocidade Alto grau de paralelismo Desvantagem: pouca flexibilidade
Processadores GMD 2º geração 3º geração Aumento de flexibilidade Mecanismos de inferência reconfiguráveis Utilização de diferentes bases de conhecimento Configuração via pinos externos 3º geração Maior flexibilidade Inferência e defuzificação analógico Carregamento da base de conhecimento digital
Mecanismo de Inferência Fuzzy Processadores da 2º geração Pinos de controle Si 3º geração Utilização de registradores A regra Ri pode mudar de Ri: IF x é Ai e y é Bi THEN z é NL (C1) Para: Ri: IF x é Ai e y é Bi THEN z é Z (Ck) Figura 24 (p.26)
Processador Fuzzy GMD de 3º geração Fig. 26 (p.28) Utilização de uma interface digital Configuração da base de conhecimento Conexão com o PC I/O padrão
Sistemas Inteligentes “Inteligência” Alta adaptabilidade Definida em termos do grau de flexibilidade obtido em nível de hardware Baixa adaptabilidade Ex.: sistema de sensoriamento inteligente Obtenção de medidas externas => extração de informações =>envio de informações substanciais ao sistema de controle central
Sistemas Inteligentes Média adaptabilidade Ex.: sistema único para controle robôs com diferentes características => peso, motor, tamanho,etc. Alta adaptabilidade Ex.: Controle de uma plataforma móvel com braços, módulos de visão, etc. Cada sub-sistema possui seu próprio processador e regras Todos os sub-sistemas controlados por uma CPU CPU define funções de pertinência, entrada/saída e regras para cada processador
Banco de Dados Fuzzy Oracle e Omron Consultas SQL Select nome, idade, salario from pessoas where (idade >= 20 and idade <= 30) and (salario >= R$ 50.000) Select nome, idade, salario from pessoas where (idade = jovem) and (salario = alto) Interpretador SQL e um processador fuzzy Disponibilidade: Versão Oracle, Unix IBM
Processamento de Imagens Justificativa Necessidade de uma base de conhecimento eficiente (reconhecimento de objetos, análise de cenas, etc.) Ambigüidade dos dados da imagem (cor de um pixel, localização exata dos limites de uma imagem, etc.)
Exemplo Variável cor descrita em função dos sub-conjuntos: cor = {yellow, orange, red, violet, blue} Limites entre as cores são representadas de maneira não rígida Fig. 29 (p.32)