Inteligência Artificial Computação Nebulosa (Fuzzy) Introdução Computação Nebulosa • Princípio da Incompatibilidade de Zadeh: — “conforme a complexidade de um sistema aumenta, nossa capacidade de fazer declarações precisas e significantes sobre seu comportamento diminui até um limite em que precisão e significado se tornam mutuamente exclusivos.” • Para que computadores possam resolver problemas que seres humanos possam resolver, é preciso, às vezes, abrir mão da precisão e rigor matemáticos, admitindo falhas e verdades parciais. Computação Nebulosa • Lógica Nebulosa (Zadeh, 1965): — Abordagem proposta para resolver problemas em que significado é mais importante que precisão. — Permite tratamento baseado em valores qualitativos e não quantitativos, utilizando as chamadas variáveis lingüísticas, não numéricas, para representar problemas e as regras utilizadas para resolvê-los. Conjuntos Nebulosos • Conjunto (clássico): coleção de objetos de qualquer tipo, caracterizado por um predicado P(x) — C1 = {x | P(x)} — C2 = { x | x } • Dado um valor de x, o predicado retorna 1/verdadeiro (elemento pertence ao conjunto) ou 0/falso (elemento não pertence ao conjunto), ou seja, {0,1}. • Em um conjunto nebuloso, o predicado retorna um valor entre zero e um: [0,1]. Conjuntos Nebulosos • Conjunto clássico (a) e nebuloso (b) Conjuntos Nebulosos • O predicado, que para um dado x, retorna um valor [0,1] é chamado tipicamente de função de pertinência. O retorno é chamado de pertinência de x ao conjunto em questão. • A pertinência de elemento x a um conjunto nebuloso A é denotada por μA(x). Algumas definições utilizadas em conjuntos nebulosos. — Suporte: o conjunto de pontos em que μA(x) é positivo. — Crossover point: elemento x tal que μA(x) é 0,5. — Fuzzy singleton: um conjunto nebuloso cujo suporte é um único elemento. Função de Pertinência • Conjunto nebuloso (a) e singleton (b) Função de Pertinência • Tipicamente se usam funções trapezoidais ou em formato de sino, que parecem representar com mais fidelidade o conhecimento humano sobre um significado. Operações sobre Conjuntos Nebulosos • Os conjuntos nebulosos possuem as operações de complemento, união e intersecção como os conjuntos clássicos. — Consideremos para exemplo os seguintes conjuntos: Operações sobre Conjuntos Nebulosos • O complemento de um conjunto é dado pela seguinte operação em sua função de pertinência: μA(x) = 1 - μA(x) Operações sobre Conjuntos Nebulosos • A operação A ∩ B é dada por um operador chamado T-norma T(a,b). A T-Norma pode ser qualquer operação sendo que: — — — — T(1, x) = x T(x, y) = T(y, x) T(x, T(y, z)) = T(T(x, y), z) w <= x e y <= z então T(w, y) <= T(x, z) Operações sobre Conjuntos Nebulosos • Algumas das possíveis operações (e tipicamente usadas) para calcular A ∩ B: Operações sobre Conjuntos Nebulosos • Um elemento deve pertencer a A ∩ B se ele pertencer a A e a B. Neste caso, temos o conceito de que algo é “FRIO E MORNO”, usando T-Norma como mínimo: Operações sobre Conjuntos Nebulosos • A operação A B é dada por um operador chamado T-Conorma S(a,b). A T-Conorma pode ser qualquer operação sendo que: — — — — S(0, x) = x S(x, y) = S(y, x) S(x, S(y, z)) = S(S(x, y), z) w <= x e y <= z então S(w, y) <= S(x, z) Operações sobre Conjuntos Nebulosos • Algumas das possíveis operações (e tipicamente usadas) para calcular A B: Operações sobre Conjuntos Nebulosos • Um elemento deve pertencer a A B se ele pertencer a A ou a B. Neste caso, temos o conceito de que algo é “MORNO OU QUENTE”, usando T-Conorma como máximo: