SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Ao se modelar sistemas (especialistas ou não) do mundo real: Considerável parte dos dados modelados apresenta uma característica “estável”, precisa e bem definida por natureza. Outra parte dos dados modelados apresenta uma característica incerta e/ou conceitualmente imprecisa. Exemplo de dado preciso (bem definido): • Sócrates é humano Exemplo de dado incerto: • Amanhã irá chover (o dado se caracteriza através da probabilidade de ocorrência de um evento) Exemplo de dado conceitualmente impreciso: • João é alto (o dado se caracteriza pela definição do conceito de “alto”. O que é um indivíduo/objeto “alto” ? “Alto” é um conceito que se define subjetivamente conforme o contexto onde é apresentado e, por isso, é um conceito impreciso) 1 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Relembremos a estrutura básica de um sistema especialista: Os fatos e as regras do SE, não raramente, apresentarão dados dos três tipos: precisos, incertos e conceitualmente imprecisos. Exemplos de regras de Sistemas Especialistas 2 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Exemplos de regras de Sistemas Especialistas 3 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Exemplos de regras de Sistemas Especialistas Você consegue identificar nos exemplos acima os dados precisos, incertos e conceitualmente imprecisos ? 4 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Com relação aos dados precisos, o motor de inferência pode processá-los, com eficiência, basicamente através da regra de inferência modus ponens. Φ → Ψ Φ -------------Ψ (Inferência por modus ponens) Com relação aos dados incertos, o motor de inferência pode processá-los, por exemplo, utilizando a regra de inferência modus ponens e/ou com suporte da teoria da probabilidade, através de modelos bayesianos (probabilidade condicional). - Fato: João tem dois filhos - Será que ele tem dois filhos do sexo masculino ? - Evento A (a ser provado): João tem dois filhos do sexo masculino P(A) = ? ⇒ P(A) = 0.25 - Evento B (é um fato) : O primeiro filho é do sexo masculino - Sabendo que ocorreu o evento B, qual a probabilidade de ocorrer o evento A ? P(A | B ) = 0.50 5 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas E com relação aos dados conceitualmente imprecisos, como o motor de inferência de um SE deve processá-los ? Conforme anteriormente citado, o dado conceitualmente impreciso se define subjetivamente dependendo do contexto considerado. - João é alto O organismo tem formato de bastonete O paciente se queimou seriamente Há um fator gastrointestinal que pode interferir na absorção da penicilina Há um alto teor de alumínio naquele tipo de solo Este é um bom filme O preço do produto é bom A seleção brasileira jogou muito bem A seleção brasileira jogou bem É um fato sabido que a forma de raciocínio humano ocorre, com frequência, através do uso de dados e/ou informações onde conceitos subjetivos estão presentes. Desta forma, o ser humano emprega, com frequência, o raciocínio aproximado (approximate reasoning) no seu esquema natural de inferência. - (premissa 1): Se o preço está bom, vou comprar o produto - (premissa 2): O preço, nas lojas, está por volta de $50,00 ----------------------------------------------------------------------- (conclusão): Vou comprar o produto 6 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Como então modelar os dados de modo a permitir a simulação em máquina, do esquema inferencial do raciocínio aproximado (approximate reasoning) do ser humano ? Uma forma de se representar/processar dados conceitualmente imprecisos e raciocínio aproximado ocorre através do uso da lógica difusa / conjuntos difusos (fuzzy logic / fuzzy sets) Lofti Zadeh, considerado o “pai da lógica difusa”, caracteriza lógica difusa (fuzzy logic) da seguinte forma: “Perhaps the simplest way of characterizing fuzzy logic is to say that it is a logic of approximate reasoning” [ Fuzzy Logic and Approximate Reasoning, Synthese 30 (1975) p. 407-428 ] Resta portanto serem apresentados os principais conceitos da lógica difusa / conjuntos difusos (fuzzy logic / fuzzy sets) que permitirem “modelar” os dados para processamento via raciocínio aproximado. 7 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Lógica Clássica: Alguns fundamentos Para entender os conceitos básicos da lógica difusa / conjuntos difusos (fuzzy logic / fuzzy sets) é importante entender antes algumas noções de Lógica (Clássica). Vejamos então alguns conceitos: Sentença Definição: Sentença é uma expressão linguística que veicula um pensamento completo O conceito/noção de sentença é o ponto de partida para o desenvolvimento do objeto de estudo da Lógica, que podemos resumir aqui como uma ciência que investiga a consistência ou não de raciocínios. Resumidamente diremos que um raciocínio é composto por várias sentenças (que expressam idéias, pensamentos completos), e daí a importância da sentença para a Lógica. Exemplos de sentenças: - 8 Que horas são ? Feche a porta ! Hoje é 4a feira 1+1=2 Brasília é a capital da França SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Lógica Clássica: Alguns fundamentos Sentença O importante de uma sentença é expressar uma idéia, um pensamento completo, independentemente da idéia/pensamento condizer ou não com a realidade. Dos exemplos apresentados anteriormente é possível identificar 3 tipos de sentença: Tipos de Sentença Interrogativa Imperativa Declarativa Que horas são ? Feche a porta ! Hoje é 4a feira 1+1=2 Brasília é a capital da França Interrogativa Imperativa Declarativa Para o estudo da Lógica, na avaliação de raciocínios, importa apenas a análise de sentenças declarativas, pois apresentam um valor de verdade (pelo bom senso, um sentença declarativa pode ser verdadeira ou falsa) enquanto que sentenças interrogativas e imperativas não apresentam valor de verdade 9 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Lógica Clássica: Alguns fundamentos Sentença Declarativa As sentenças declarativas podem ser analisadas matematicamente através do uso de Teoria de Conjuntos básica: Exemplos: Maria é brasileira m ∈ B m - Maria B – Conjuntos dos brasileiros Os brasileiros são latinos B – Conjunto dos brasileiros L – Conjunto dos latinos Brasília é a capital da França b - Brasília f - Capital da França B ⊂ L b = f Exemplos de sentenças declarativas em sistemas especialistas: Todo homem é mortal (ou então: os homens são mortais) mortal (X) :- humano(X) Os brasileiros são latinos latino(X) :- brasileiro(X) Maria é brasileira brasileiro(maria) 10 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Lógica Clássica: Alguns fundamentos Sentença Declarativa As sentenças declarativas além de poderem ser representadas por conjuntos, têm a característica de apresentar um valor de verdade “embutido” em seu enunciado. Este valor de verdade é chamado de proposição. Intuitivamente, ou então, pelo bom senso, assumimos que a proposição de uma sentença declarativa assuma ou o valor de verdade V (verdadeiro) ou então o valor de verdade F (falso) E para a chamada Lógica Clássica este é o caso, delineado em seus dois postulados abaixo apresentados: Lógica clássica - Postulados 1) Princípio da não-contradição: Dados uma proposição (de uma sentença) e sua negação, não é o caso que ambas sejam ao mesmo tempo verdadeiras ou que ambas sejam ao mesmo tempo falsas. 2) Princípio do terceiro excluído (“Tertium non datur”): Dadas uma proposição (de uma sentença) e sua negação, então uma delas tem valor de verdade verdadeiro, e a outra tem valor de verdade falso (e nada além disso !). 11 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Lógica Clássica: Alguns fundamentos Sentença Declarativa Considerando-se os postulados da Lógica Clássica, então, por exemplo, a sentença p - Maria é brasileira p V F V F NÃO-p V F F V Fere o Princípio da Não-Contradição ! Fere o Princípio da Não-Contradição ! Situação possível Situação possível Pelo Princípio do Terceiro Excluído, não existe nenhum valor de verdade além do verdadeiro (V) e do falso (F). Os sistemas especialistas convencionais funcionam baseados nestes dois princípios da Lógica Clássica, pois as sentenças declarativas que são armazenadas na base de conhecimento apresentam valor de verdade V (e o que não está na base de conhecimento é assumido ter valor de verdade F). Uma consulta à Base de Conhecimento de um SE retorna true ou false ! 12 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Lógica Clássica: Alguns fundamentos Sentença Declarativa Consideremos agora uma conceitualmente imprecisa João é alto sentença declarativa j ∈ A j - João A – Conjuntos dos indivíduos altos Pela Lógica Clássica, esta sentença terá valor de verdade V ou F. O conceito de “alto” porém apresenta imprecisão conceitual, sendo passível de mais de uma interpretação subjetiva. João pode ser alto dentro de um determinado contexto e não ser alto em outro contexto. Para gerenciar a imprecisão conceitual presente com frequência nos dados disponíveis, é possível utilizar a lógica difusa (fuzzy logic) que é uma lógica que irá “gerenciar” este tipo de imprecisão. Na lógica difusa, a proposição de uma sentença pode apresentar infinitos valores de verdade, e não apenas o valor V ou F da Lógica Clássica. As sentenças declarativas podem ser representadas por meio de conceitos da Teoria Elementar de Conjuntos. Assim, quando uma sentença declarativa apresenta conceito(s) impreciso(s) por natureza, utiliza-se conjunto difuso (fuzzy set) para sua representação. 13 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos Conjunto difuso (fuzzy set) - Definições intuitivas Um conjunto difuso pode ser visto como um predicado cujos valores de verdade recaem no intervalo unitário I = [0,1] ao invés dos valores {0, 1} como ocorre com os conjuntos ordinários. Um conjunto difuso A sobre um conjunto ordinário X é uma coleção de valores de graus de pertinência de cada elemento de X em relação ao próprio conjunto X. O grau de pertinência é um valor real definido num intervalo I, onde normalmente tem-se I = [0,1]. O grau de pertinência é uma forma de medir a “intensidade” de pertinência do elemento em relação ao conjunto em questão Exemplo: Seja X um conjunto tal que X = { a, b, g, k, y } Considerando a Lógica Clássica temos: a ∈ X (ou seja I(a) = 1), c ∉ X (ou seja I(c) = 0), g ∈ X (ou seja I(g) = 1) Considerando a Lógica Difusa poderíamos ter: a ∈ X (com I(a) = 0.63) e ao mesmo tempo a ∉ X (com I(a) = 0.37) 14 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos Conjunto difuso (fuzzy set) - Definição formal Seja X um conjunto servindo como universo de discurso. Um conjunto difuso A sobre X está associado a uma função característica µA : X → [0,1] µA é chamada de função de pertinência (membership function) associada ao conjunto difuso A. Matematicamente : A = { (x, µA) | x ∈ X } Esta terminologia indica, de fato, para cada x ∈ X, o grau de pertinência µA(x) de x em relação a X. Por isso, conjuntos difusos são particularmente úteis para representar conceitos semânticamente imprecisos. 15 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos Conjunto difuso (fuzzy set) - Exemplos Exemplo: Seja X = { a, b, c, d, e } um universo de discurso (discreto) e sejam A e B conjuntos difusos definidos sobre X da seguinte forma: A = { 1/a, .3/b, .2/c, .8/d, 0/e } B = { .6/a, .9/b, .1/c, .3/d, .2/e } Vamos apresentar dados conceitualmente imprecisos: suponha que o conjunto difuso A represente pessoas altas e o conjunto difuso B represente pessoas gordas. O que os conjuntos difusos A e B nos dizem em relação ao universo de discurso X ? O indivíduo a: µA(x) = 1 µB(x) = .6 Indica que é considerado sem sombra de dúvida um indivíduo alto e também um indivíduo gordo. Porém o grau de pertinência (ou grau de crença) que se tem que a seja gordo não é tão enfatizado (pois vale 0.6 !!). O contexto nos leva a crer que a possa ser considerado não gordo também ! E os indivíduos b, c, d e e ? O que os conjuntos difusos A e B nos indicam ? 16 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos Conjunto difuso (fuzzy set) - Exemplos Exemplo: Seja X = ℜ o universo de discurso (contínuo) e seja A o conjunto difuso definido sobre X que indica “número real próximo de 10” Neste caso, a imprecisão conceitual refere-se ao fato de se tentar definir o que é um número próximo de 10 Suponha que o conjunto difuso A seja assim definido: A = { (x, µA(x)) | µA(x) = [1 + (x – 10)2] -1 } 17 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos Conjunto difuso (fuzzy set) - Exemplos Exemplo: Seja X = ℜ o universo de discurso (contínuo) e seja A o conjunto difuso definido sobre X que indica “uma idade jovem” Neste caso, a imprecisão conceitual refere-se ao fato de se tentar definir o que é uma idade em que um indivíduo é considerado jovem. Assim, A é o conjunto difuso jovem. Conforme a definição acima temos, por exemplo, µA(10) = 1, µA(15) = 1, µA(25) = 1, µA(30) = .8, µA(40) = .4, µA(50) = 0 18 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos Conjunto difuso (fuzzy set) - Exemplos Exemplo: Seja X = ℜ o universo de discurso (contínuo) e seja A o conjunto difuso definido sobre X que indica “uma temperatura de água fria”. Seja B o conjunto difuso definido sobre X que indica “uma temperatura de água morna”. E seja C o conjunto difuso definido sobre X que indica “uma temperatura de água quente”. Poderíamos definir, através das funções de pertinência abaixo apresentadas em gráfico, os conjuntos difusos Frio, Morno e Quente. 19 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos Conjunto difuso (fuzzy set) - Exemplos Exemplo: Seja X = { 8, 20, 25, 29, 50, 65 } o universo de discurso (discreto) representando quantidade em hectares e sejam A, B, C, D os conjuntos difusos definidos sobre X que indicam: A - área pequena, B – área média, C – área grande, D – área muito grande Suponha a seguinte caracterização qualitativa de área (para plantio, por exemplo) considerada por um agrônomo: A = { .9/8, .7/20, .5/25, .2/29, 0/50, 0/65 } B = { .3/8, .5/20, .75/25, .9/29, .1/50, 0/65 } C = { 0/8, .15/20, .3/25, .5/29, .9/50, 1/65 } D = { 0/8, 0/20, 0/25, .3/29, .4/50, .6/65 } Analisando a caracterização qualitativa acima apresentada podemos concluir, por exemplo, que uma área de 8 hectares é considerada, pelo agrônomo, área pequena (µA(8) = .9 ) ao mesmo tempo em que ele considera 8 hectares também uma área média (µA(8) = .3 ). Sua inclinação maior porém, é considerar 8 hectares uma área pequena. Que outras conclusões podem ser tiradas sobre a opinião do agrônomo em relação a tamanho de área de plantio ? 20 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos É possível executar diversas operações sobre dois ou mais conjuntos difusos. Limitemo-nos a verificar apenas duas operações: união e interseção de conjuntos difusos. União de conjuntos difusos Sejam A e B dois conjuntos difusos definidos sobre um determinado universo de discurso X. A união dos conjuntos difusos A e B resultará no conjunto difuso C cuja função de pertinência é a seguinte: µC(x) = MAX [ µA(x), µB(x) ] = µA(x) ∨ µB(x) Interseção de conjuntos difusos Sejam A e B dois conjuntos difusos definidos sobre um determinado universo de discurso X. A interseção dos conjuntos difusos A e B resultará no conjunto difuso C cuja função de pertinência é a seguinte: µC(x) = MIN [ µA(x), µB(x) ] = µA(x) ∧ µB(x) (Observação) Normalmente o operador MAX é o operador utilizado para união e o operador MIN é o operador utilizado para interseção embora outros operadores existam tanto para a união como para a interseção entre conjuntos difusos. 21 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos União e Interseção sobre Conjuntos difusos (fuzzy sets) - Exemplos Exemplo: Seja X = { a, b, c, d, e } um universo de discurso (discreto) e sejam A e B conjuntos difusos definidos sobre X da seguinte forma: A = { 1/a, .3/b, .2/c, .8/d, 0/e } (Obs.: A - pessoas altas) B = { .6/a, .9/b, .1/c, .3/d, .2/e } (Obs.: B – pessoas gordas) Então: C = A ∪ B = { 1/a, .9/b, .2/c, .8/d, .2/e } D = A ∩ B = { .6/a, .3/b, .1/c, .3/d, 0/e } Interpretação (exemplos): ... Se alguém diz a sentença... O grau de crença nisso que ele/ela disse é... “o indivíduo a é alto” “o indivíduo c é gordo” “o indivíduo c é alto ou gordo” “o indivíduo d é alto e gordo” µA(a) = 1 µB(c) = .1 µC(c) = .2 µD(d) = .3 Note que C é resultado de uma operação de união (via operador MAX) e D é resultado de uma operação de interseção (via operador MIN) 22 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos União e Interseção sobre Conjuntos difusos (fuzzy sets) - Exemplos Exemplo: Seja X = ℜ o universo de discurso (contínuo) e sejam A e B conjuntos difusos assim definidos sobre X : A – Salário em torno de $ 300”. B – Salário razoavelmente modesto”. 23 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos União e Interseção sobre Conjuntos difusos (fuzzy sets) - Exemplos Exemplo: (Continuação) - Suponha que desejemos caracterizar a união dos conjuntos difusos A e B: C = A ∪ B A sentença (declarativa) que está sendo pronunciada será: “Um salário na faixa de $300 ou razoavelmente modesto” e sua caracterização qualitativa é abaixo apresentada: 24 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos União e Interseção sobre Conjuntos difusos (fuzzy sets) - Exemplos Exemplo: (Continuação) - Suponha que desejemos caracterizar a união dos conjuntos difusos A e B: D = A∩ B A sentença (declarativa) que está sendo pronunciada será: “Um salário na faixa de $300 e razoavelmente modesto” e sua caracterização qualitativa é abaixo apresentada: 25 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos Em sistemas do mundo real frequentemente ocorrem, de forma natural, relacionamentos entre eventos e/ou objetos no contexto dos sistemas considerados. Estes relacionamentos podem apresentar a característica de serem imprecisos conceitualmente Definição: Relacionamento Difuso (fuzzy relationship) Sejam X e Y dois universos de discurso distintos. Um relacionamento difuso (fuzzy relationship) sobre o par X, Y é definido através de um conjunto difuso A sobre o Produto Cartesiano X x Y Exemplo: Seja X = { a, b, c } e Y = {1, 2 } Então: X x Y = { (a,1), (a,2), (b,1), (b,2), (c,1), (c,2) } Seja o conjunto difuso A definido sobre X x Y da seguinte forma: A = { .1/(a,1); .6/(a,2); .9/(b,1); 1/(b,2); 0/(c,1); .2/(c,2) } A é um relacionamento difuso (fuzzy relationship) sobre X x Y ! Suponha que X é um conjunto (universo de discurso) de pessoas, Y é um conjunto (universo de discurso) de tipos de música e A representa o grau de apreciação dos indivíduos de X pelos tipos musicais de Y. O que você conclui sobre os gostos musicais baseando-se em A ? 26 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos Definição: Produto Cartesiano difuso (cross product) Sejam A e B dois conjuntos difusos definidos sobre os universos de discurso X e Y respectivamente. Seu Produto Cartesiano difuso (cross product) A x B é um relacionamento difuso (fuzzy relationship) T sobre X x Y denotado T = A x B onde T = MIN [ µA(x), µB(x) ] = µA(x) ∧ µB(x) Generalização: Sejam A1, A2, ..., An n conjuntos difusos definidos sobre os universos de discurso X1, X2, ..., Xn respectivamente. Seu Produto Cartesiano difuso (cross product) A1 x A2 x ... An é um relacionamento difuso (fuzzy relationship) T sobre X1 x X2 x ... Xn denotado T = A1 x A2 x ... An onde T = MINk [ µAk(xk) ] , xk ∈ Xk , k = 1, 2, ... n Exemplo: Sejam A = { 1/a ; .6/b ; .3/c } e B = { 1/1 ; .5/2 ; 0/3 } dois conjuntos difusos definidos sobre os universos de discurso X = { a, b, c } e Y = {1, 2, 3 } respectivamente. Então: A x B = { 1/(a,1) ; .5/(a,2) ; 0/(a,3) ; .6/(b,1) ; .5/(b,2) ; 0/(b,3) ; .3/(c,1) ; .3/(c,2) ; 0/(c,3) } 27 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos Produto Cartesiano difuso (cross product) Exemplo: Sejam A = { .9/Maria ; .4/José ; .3/Paula } e B = { 1/samba ; .6/bolero ; .2/valsa ; .8/forró } dois conjuntos difusos definidos sobre os universos de discurso X = { Maria, José, Paula } e Y = {samba, bolero, valsa, forró } respectivamente. Suponha que o conjunto difuso A represente pessoas que gostam de dançar e o conjunto difuso B represente ritmos de música agitados. Assim, a aceptividade de uma pessoa que gosta de dançar em X com relação a um ritmo de música de Y, poderia ser caracterizada pelo Produto Cartesiano difuso (cross product) A x B: A x B = { .9/(Maria,samba); .6/(Maria,bolero) ; .2/(Maria,valsa) ; .8/(Maria,forró) ; .4/(José,samba) ; .4/(José,bolero) ; .2/(José, valsa) ; .4/(José,valsa) ; .4/(José,forró) ; .3/(Paula,samba) ; .3/(Paula,bolero) ; .2/(Paula,valsa) ; .3/(Paula,forró) } AxB Maria José Paula 28 Samba .9 .4 .3 Bolero .6 .4 .3 Valsa .2 .2 .2 Forró .8 .4 .3 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos Extensão Cilíndrica (cylindrical extension) É um caso especial do Produto Cartesiano difuso Definição: Sejam X e Y dois universos de discurso distintos e seja A um conjunto difuso definido sobre X. Então a extensão cilíndrica (cylindrical extension) de A em relação a X x Y, representada por  é um relacionamento difuso (fuzzy relationship) sobre X x Y definido como o Produto Cartesiano difuso (cross product) de A com Y,  = A x Y onde: Â(x,y) = MIN [ µA(x), µY(y) ] = µA(x) ∧ 1 = µA(x), ∀ (x,y) ∈ X x Y Exemplo: Seja A = { 1/a ; .6/b ; .3/c } um conjunto difuso definido sobre o universo de discurso X = { a, b, c } e seja Y = {1, 2, 3 } outro universo de discurso. Então, por extensão cilíndrica temos:  = { 1/(a,1); 1/(a,2); 1/(a,3); .6/(b,1); .6/(b,2); .6/(b,3) ; .3/(c,1); .3/(c,2); .3/(c,3) } 29 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos Extensão Cilíndrica (cylindrical extension) Exemplo: Seja A = { .9/Maria ; .4/José ; .3/Paula } um conjunto difuso definido sobre o universo de discurso X = { Maria, José, Paula } e Y = {samba, bolero, valsa, forró } outro universo de discurso . Então, por extensão cilíndrica temos:  Maria José Paula Samba .9 .4 .3 Bolero .9 .4 .3 Valsa .9 .4 .3 Forró .9 .4 .3 Interpretação da extensão cilíndrica para o exemplo acima: Os “dados” iniciais do problema nos mostram que existe uma caracterização qualitativa para os elementos do universo de discurso X através do conjunto difuso A. Por exemplo, suponha que A significa pessoa que gosta de dançar. Com relação ao universo Y, obviamente µY(samba) = 1, µY(bolero) = 1, µY(valsa) = 1 e µY(forró) = 1, pois afinal estes elementos pertencem “completamente” de fato ao conjunto Y. Mas como caracterizar (qualitativamente), por exemplo, o grau de satisfação das pessoas de X dançarem cada ritmo de música de Y ? Então, por extensão cilíndrica associamos o grau de satisfação de x ∈ X em dançar (independente do ritmo) ao grau de satisfação de x ∈ X dançar qualquer ritmo y ∈ Y (todo par ordenado (x, y)). 30 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos Projeção (projection) É um caso especial do Produto Cartesiano difuso Definição: Sejam X e Y dois universos de discurso distintos e seja A um conjunto difuso definido sobre X x Y. Então a projeção (projection) de A em relação a X, representada por A°° é o conjunto difuso A°° = ProjXA onde µA°°(x) = Maxy [µA°°(x) ] Exemplo: Seja X = { a, b, c } e Y = { 1, 2, 3 } e seja A um conjunto difuso definido sobre X x Y onde: A = { 1/(a,1); .6/(a,2); .4/(a,3); .5/(b,1); .8/(b,2); .2/(b,3); .3/(c,1); .1/(c,2); .3/(c,3) } a b c 1 1 .5 .3 Então: ProjXA = { 1/a; .8/5; .3/c } ProjYA = { 1/1; .8/2; .4/3 } 31 2 .6 .8 .1 3 .4 .2 .3 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos Projeção (projection) Exemplo: Sejam os universos de discurso X = {Maria, José, Paula} e Y = {samba, bolero, valsa, forró} distintos e seja A um conjunto difuso definido sobre X x Y da seguinte forma: A = { .8/(Maria,samba); .4/(Maria,bolero); .2/(Maria,valsa); .9/(Maria, forró); .25/(José,samba); .7/(José,bolero); .6/(José,valsa); .3/(José,forró); .2/(Paula, samba); .4/(Paula,bolero); .4/(Paula,valsa); .3/(Paula,forró) } Interpretação semântica (qualitativa) para o conjunto difuso A: A representa, o grau de apreciação de indivíduos do universo de discurso X para dançar ritmos citados no universo de discurso Y. E o que dizer ao se aplicar a operação de projeção ? ProjXA = { .9/Maria; .7/José; .4/Paula } ProjYA = { .8/samba; .7/bolero; .6/valsa; .9/forró } Interpretação semântica (qualitativa) de ProjXA: Indica o grau de satisfação em geral que cada indivíduo do universo de discurso X tem em dançar. Interpretação semântica (qualitativa) de ProjYA: Indica o grau de “popularidade” que cada ritmo musical do universo de discurso Y apresenta. 32 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos Princípio da Extensão Em muitas situações, os sistemas do mundo real precisam manipular dados quantitativos de forma imprecisa: “próximo de zero graus celsius”, “mais ou menos dez quilos”, “entre quinze e vinte segundos”, “pouco acima de 80 km/h”, etc. Estes números difusos (fuzzy numbers) podem ser representados via conjuntos difusos, definidos convenientemente sobre o conjunto dos números reais. Para utilizar estes números difusos em qualquer sistema especialista, com certeza serão necessárias efetuar operações aritméticas tais como adição, subtração, multiplicação e divisão com números difusos. O processo de realização de tais operações é chamado aritmética difusa (fuzzy arithmetic). Para que se possa efetivar a aplicação da aritmética difusa é preciso lançar mão de um importante princípio, o chamado princípio da extensão. De modo geral, pode-se dizer que o princípio da extensão permite “extender” qualquer operação pontual para operações envolvendo conjuntos difusos. 33 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos Princípio da Extensão – Definição: Sejam X e Y dois universos de discurso distintos e seja f uma função que mapeia X em Y, f: X → Y tal que para cada x ∈ X, f(x) = y ∈ Y. Seja A um conjunto difuso definido sobre o universo de discurso X. Assim, pelo princípio da extensão, podemos definir um conjunto difuso B = f(A) que será definido sobre o universo de discurso Y de modo que f(A) = ∪X [µA(x)/ f(x)] Exemplo: Seja X = { 1, 2, 3, 4 } Y = { a, b, c, d, e }. Seja f uma função que mapeia X em Y da seguinte forma: f(1) = b, f(2) = c, f(3) = b, f(4) = e Seja A um conjunto difuso definido sobre X: A = {.9/1, .6/2, .5/3, .8/4} (ou seja: µA(1) = .9, µA(2) = .6, µA(3) = .5, µA(4) = .8) Então, pelo princípio da extensão, o conjunto difuso A é definido sobre o universo de discurso Y da seguinte forma: B = f(A) = MAX[µA(1), µA(3)] / b ∪ µA(2) / c ∪ µA(4) / e B = f(A) = { .9/ b, .6/c, .8/e } 34 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Conjuntos Difusos (Fuzzy Sets) – Conceitos Básicos Princípio da Extensão – Exemplo: Exemplo: Sejam os universos de discurso X e Y e seja f: X → Y uma função que associa os países do conjunto X com um único país do conjunto Y onde x ∈ X é muito semelhante (em termos econômicos, por exemplo) a y ∈ Y. f(Brasil) = Argentina f(Haiti) = Zâmbia f(Uruguai) = Argentina f(França) = Alemanha f(Inglaterra) = Alemanha Seja A um conjunto difuso definido sobre o universo de discurso X, onde A indica um país que é uma potência econômica... A = { .6/Brasil, .1/Haiti, .3/Uruguai, .8/França, .7/Inglaterra } Como avaliar, partindo-se destes dados, o grau de importância econômica dos países de Y ? Pelo princípio da extensão, o conjunto difuso A é definido sobre o universo de discurso Y assim: B = f(A) = MAX[µA(Brasil), µA(Uruguai)] / Argentina ∪ µA(Haiti) / Zâmbia ∪ MAX[µA(França), µA(Inglaterra)] / Alemanha B = f(A) = { .6/ Argentina, .8/Alemanha, .1/Zâmbia } 35 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Variável Linguística – Conceitos Básicos • No mundo real existe considerável quantidade de conhecimento difuso (fuzzy), ou seja, conhecimento vago, impreciso, incerto, ambíguo, inexato ou mesmo probabilístico por natureza. O pensamento e raciocínio humano frequentemente envolve informação difusa (fuzzy). • De um modo geral, os sistemas especialistas computacionais “convencionais” apresentam a implementação de seus motores de inferência baseados em um esquema de inferência “exato”, baseado na lógica booleana: a informação (sentença) processada ou é verdadeira ou é falsa. Exemplos: João é alto João é velho A temperatura é alta (ou é V ou é F) (ou é V ou é F) (ou é V ou é F) Ocorre porém incerteza de natureza conceitual: O que é, quantitativamente, um indivíduo alto ? O que é, quantitativamente, um indivíduo velho ? O que é, quantitativamente, uma temperatura alta ? 36 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Variável Linguística – Conceitos Básicos • Motor de inferência dos Sistemas Especialistas “convencionais” → Modus Ponens Φ → Ψ Φ -------------Ψ (Inferência por modus ponens) • Exemplo de regra em sistema especialista “convencional”: Φ Ψ Φ’ Temperatura > 37 °C Dosagem (de medicamento) = 15 ml Temperatura = 36,9 °C - Se Temperatura > 37 °C Então Dosagem = 15 ml - Temperatura = 36,9 °C ------------------------------------------Inferência: NÃO ocorre o fato Ψ !!! Regra NÃO disparada devido o raciocínio boolenano. O antecedente Φ não “casa” com o fato Φ’ • Conclusão: O modo de raciocínio, embora muitas vezes se apresente envolvendo variáveis de natureza quantitativa, é melhor “processado” pelo raciocínio humano de forma qualitativa. 37 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Variável Linguística – Conceitos Básicos • O modo de raciocínio, embora muitas vezes apresente o raciocínio envolvendo variáveis de natureza quantitativa, é melhor “processado” pelo raciocínio humano de forma qualitativa. • Uma variável linguística é uma variável cujos valores assumidos não são valores numéricos, mas sim valores quantitativos, na forma de “palavras” ou termos. • Através das variáveis linguísticas é possível representar a forma de raciocínio qualitativo. Exemplo Variável (numérica): Idade (em anos) Possíveis valores: 5, 8, 10, 25.5, 42, 75, 34, 45.5, etc... Variável linguística: Idade Possíveis valores: jovem, muito jovem, meia-idade, velho, não muito velho, mais ou menos jovem, etc. 38 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Variável Linguística – Conceitos Básicos Variável Linguística - Definição formal Uma variável linguística (x, T(x), U, G, M) onde: é definida por uma quíntupla x é o nome da variável. T(x) representa o conjunto de termos de x, ou seja, os valores que x pode assumir, onde cada valor é representado por um conjunto difuso. U é o universo de discurso (numérico) sobre o qual se definem os valores quantitativos do conjuto de termos T(x). G é uma regra sintática (usualmente uma gramática) para gerar o nome X dos valores de x. M é uma regra semântica que associa a cada X o seu “significado” M(X) que nada mais é do que um conjunto difuso definido sobre U. 39 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Variável Linguística – Conceitos Básicos Variável Linguística - Exemplo Variável Linguística Idade Assim: Termo Linguístico Muito Jovem Jovem Velho x = Idade T(x) = muito jovem ou T(x) = jovem ou T(x) = velho U = { u | u ∈ [0, 85] } Alguns exemplos para M(muito jovem), M(jovem), M(velho) 40 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Variável Linguística – Conceitos Básicos Variável Linguística - Exemplo Variável Linguística Termo Linguístico Temperatura Muito Baixa Baixa Moderada Alta Muito Alta Universo de Discurso (para os Termos Linguísticos): U = { u | u ∈ [32, 40] } 41 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Variável Linguística – Conceitos Básicos Variável Linguística - Exemplo • Seja a variável linguística Temperatura definida abaixo e que representa, qualitativamente, o “ponto de vista” de um determinado usuário de “sistema” que envolva o processamento de valores de temperatura. • Observa-se, por exemplo, que 37 °C é considerada pelo usuário do “sistema” como uma temperatura moderada, e ao mesmo tempo também é considerada uma temperatura alta. 42 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Variável Linguística – Conceitos Básicos Variável Linguística - Exemplo • Considerando o contexto anterior, para a temperatura de 37 °C temos: µMuitoBaixa(37) = 0 µBaixa(37) = 0 µModerada(37) = .67 µAlta(37) = .33 µMuitoAlta(37) = 0 • Assim, o usuário do “sistema” tem uma tendência maior em aceitar 37 °C como uma temperatura moderada, embora considere “com menor intensidade”, que 37 °C é também uma temperatura alta. • É possível, por exemplo, que o usuário do “sistema” pense da seguinte forma: “37 °C é uma temperatura moderada, e eu tenho, numa escala de 0 a 1 um nível de crença de 0.67 no que estou dizendo” “Por outro lado, apesar de considerar 37 °C uma temperatura moderada, posso considerá-la também uma temperatura alta e meu nível de crença para esta segunda opção é de 0.33” 43 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Variável Linguística e Raciocínio Aproximado • Conforme apresentado anteriormente, os sistemas especialistas “convencionais” apresentam seu motor de inferência na maioria dos casos baseados na regra de modus ponens “processados” via lógica booleana, ou seja, um consequente de uma regra do sistema especialista é “disparado” se e somente se, existir um fato na base de conhecimento do SE que “case completamente” com o antecedente de tal regra. • Mas em alguns casos, o contexto desejável é que o consequente da regra seja “disparado” ainda que o antecedente da regra não “case completamente” com determinado fato da base de conhecimento • Nesta situação, é desejável uma forma de raciocínio aproximado para que o consequente da regra seja disparado. E uma forma de se obter tal resultado consiste na modelagem “qualitativa” das variáveis do sistema em questão, via variáveis linguísticas, ou seja, em última instância através do uso de conjuntos difusos (pois os termos linguísticos da variável linguística são conjuntos difusos). • O raciocínio aproximado pode ser entendido como uma forma de determinação de uma solução aproximada para um “sistema equações relacionais” onde as equações, em geral, são de natureza qualitativa ao invés de quantitativas. Exemplo: Se a temperatura é alta então dosagem do medicamento deve ser de média intensidade 44 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Variável Linguística e Raciocínio Aproximado • Uma forma de raciocínio aproximado passível de implementação baseia-se na regra de inferência de modus ponens e é denominada de modus ponens generalizado. • Modus ponens generalizado Sejam A, B, A’ e B’ sentenças “difusas” e seja o seguinte relacionamento difuso (fuzzy relationship) e o seguinte fato de natureza qualitativa: (1) Se x é A Então y é B (2) x é A’ Então, por inferência de modus ponens generalizado é possível concluir: Se x é A Então y é B x é A’ -------------------y é B’ • Exemplo Se um tomate está vermelho, Então ele está maduro Um tomate está muito vermelho ------------------------------------Tal tomate está muito maduro 45 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Variável Linguística e Raciocínio Aproximado • É necessário definir como será “calculada” a conclusão obtida via modus ponens generalisado. Se x é A Então y é B x é A’ -------------------y é B’ • Em 1973 Zadeh propôs a assim chamada regra composicional de inferência para se “calcular” o consequente de uma regra de inferência via modus ponens generalisado. • Regra composicional de inferência Sejam R(x), R(x,y) e R(y) relacionamentos difusos (fuzzy relationship) definidos sobre os universos de discurso X, X x Y e Y respectivamente, onde x ∈ X e y ∈ Y. Sejam A e B conjuntos difusos definidos sobre X e X x Y respectivamente. A regra composicional de inferência determina que a solução deste “sistema de equações relacionais” R(x) = A e R(x,y) = B é resultante em R(y) = A ° B onde A ° B é a composição de A e B. 46 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Variável Linguística e Raciocínio Aproximado • Regra composicional de inferência - Exemplo Seja X = { 1, 2, 3, 4 } um universo de discurso. Seja R(x) = A um conjunto difuso definido sobre X da seguinte forma: A = { 1/1, .6/2, .2/3, 0/4 }. A pode significar, qualitativamente, um número pequeno. Seja R(x,y) = B um relacionamento difuso (fuzzy relationship) sobre X x X caracterizando, qualitativamente, “dois números aproximadamente iguais” da seguinte forma: B 1 2 3 4 1 1 .5 0 0 2 .5 1 .5 0 3 0 .5 1 .5 4 0 0 .5 1 R(y) = A ° B ? Aplicando-se a operação de composição max-min (regra composicional de inferência) obtemos o resultado: R(y) = maxx min { µA(x) , µB(x,y) } = { 1/1, .6/2, .5/3, .2/4 } Exemplo de cálculo: R(2) = maxx [min {µA(1) , µB(1,2)}; min {µA(2) , µB(2,2)}; min {µA(3) , µB(3,2)}; min {µA(4) , µB(4,2)} ] = maxx [.5; .6; .5; 0 ] = .6 47 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE • Sistemas especialistas difusos (fuzzy expert systems) são sistemas baseados em regras tipo Se... Então... onde os antecedentes e consequentes não são necessariamente variáveis quantitativas, podendo assumir valores qualitativos que, conforme exposto anteriormente, podem ser representados por variáveis linguísticas. • O motor de inferência utilizado em sistemas especialistas difusos pode ser implementado pela regra de inferência de modus ponens generalisado cujo “cálculo” do resultado se baseia na regra composicional de inferência. • Diversos shells de sistemas especialistas que implementam raciocínio aproximado utilizam esta estrutura. Um destes shells é o FuzzyClips (http://www.jsc.nasa.gov/~clips/CLIPS.html) • É importante entender o funcionamento do motor de inferência nestes sistemas especialistas quando apresentam apenas um antecedente numa regra distinta do SE, e quando apresentam dois ou mais antecedentes numa regra distinta do SE. 48 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE • Considere as variáveis linguísticas temperatura e dosagem: 49 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE • Considere a seguinte regra com um antecedente e consequente(s) (definidos de forma qualitativa) SE temperatura é moderada ENTÃO dosagem (do medicamento) é baixa • Considere o seguinte fato definido de natureza qualitativa: “A temperatura está em torno de 37,5 °C” 50 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE • Análise da regra e do fato qualitativo à luz do raciocínio aproximado: - Se temperatura é moderada Então dosagem (do medicamento) é baixa - A temperatura está em torno de 37,5 °C ----------------------------------(Conclusão ????) • Inferência: modus ponens generalisado - Regra composicional de inferência (“regra do máximo dos mínimos”) 51 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE • A potência da regra anterior vale: µ ≈ 0.3571. A conclusão da regra define uma dosagem (de medicamento) baixa. O conjunto difuso resultante, que representará a dosagem (de medicamento) a ser aplicada, será “calculada” aplicando-se um “corte” no valor de µ = 0.3571 sobre o conjunto difuso dosagem baixa. • O disparo da regra gerou como conclusão a dosagem acima apresentada pela área hachurada 52 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE • Considere agora uma regra com um antecedente e um consequente (ambos definidos de forma qualitativa) SE temperatura é alta ENTÃO dosagem (do medicamento) é média • Considere o seguinte fato definido já definido anteriormente, de natureza qualitativa: “A temperatura está em torno de 37,5 °C” 53 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE • Análise da regra e do fato qualitativo à luz do raciocínio aproximado: - Se temperatura é alta Então dosagem (do medicamento) é média - A temperatura está em torno de 37,5 °C ----------------------------------(Conclusão ????) • Inferência: modus ponens generalisado - Regra composicional de inferência (regra do “máximo dos mínimos”) 54 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE • A potência da regra anterior vale: µ ≈ 0.7857. A conclusão da regra define uma dosagem (de medicamento) média. O conjunto difuso resultante, que representará a dosagem (de medicamento) a ser aplicada, será “calculada” aplicando-se um “corte” no valor de µ = 0.7857 sobre o conjunto difuso dosagem média. • O disparo da regra gerou como conclusão a dosagem acima apresentada pela área hachurada : 55 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE • Suponha agora que um sistema especialista apresente, em sua base de conhecimento, as duas regras acima consideradas e o fato difuso acima considerado: Base de Conhecimento A) Regras SE temperatura é moderada ENTÃO dosagem (do medicamento) é baixa SE temperatura é alta ENTÃO dosagem (do medicamento) é média B) Fato “A temperatura está em torno de 37,5 °C” • Analisando-se as duas regras e o fato acima podemos dizer que as duas regras serão “disparadas” gerando como conclusão uma dosagem (de medicamento). • Problema: Qual o valor resultante de dosagem (de medicamento), uma vez que as duas regras apresentadas irão ser “disparadas” haja visto que seus antecedentes “unificam” com o fato do sistema especialista ? 56 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE • Solução: Uma forma de “cálculo” adotada pelos sistemas especialistas difusos (fuzzy expert systems) é aplicar o operador de união ao conjunto difuso resultante na conclusão da regra disparada. • Assim, considerando-se o sistema especialista acima, a “conclusão final” (dosagem de medicamento) é resultante da união dos conjuntos difusos dosagem gerados por cada uma das regras disparadas: 57 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE • Conjunto resultante Dosagem para o sistema especialista do exemplo • Problema: para fins práticos, qual a dosagem (em termos numéricos) que deve ser recomendada ? Afinal, o resultado fornecido pelo disparo das duas regras gerou um conjunto difuso, e seria interessante informar um número único que represente a quantidade de mililitros a ser medicada. Vamos adiar a resposta para este problema por enquanto. 58 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE Resumo de mecanismo de Inferência – Regras com um antecedente • Sejam x e y variáveis linguísticas e A1, A2, B1 e B2 termos lingúísticos definidos para x e y. Seja um fato A’ um termo linguístico definido para a variável linguística x. • Seja o seguinte “trecho” de um sistema especialista: Se x é A1 Então y é B1 Se x é A2 Então y é B2 x é A’ -------------------y é B’ • Suponha que o fato x é A’ consiga “unificar” com os antecedentes x é A1 e x é A2 das duas regras, cada uma “gerando” B1’ e B2’ respectivamente • Qual o valor de B’ ? Resposta: B’ = B1’ ∪ B2’ 59 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE • Para analisar o comportamento de um sistema especialista difuso com regras com mais de um antecedente, vamos considerar, além das variáveis linguísticas temperatura e dosagem, definidas anteriormente, a variável linguística idade abaixo apresentada: 60 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE • Considere a seguinte regra com dois consequente(s) (definidos de forma qualitativa) antecedentes SE temperatura é alta E idade é meia-idade ENTÃO dosagem (do medicamento) é baixa • Considere os seguintes fatos definidos de natureza qualitativa: “A temperatura está em torno de 37,5 °C” (Obs.: ver o conjunto difuso definido anteriormente) “A idade está na faixa dos 20 e poucos anos” 61 e SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE • Análise da regra e dos fatos qualitativos à luz do raciocínio aproximado: SE temperatura é alta E idade é meia-idade ENTÃO dosagem (do medicamento) é baixa A temperatura está em torno de 37,5 °C A idade está na faixa dos 20 e poucos anos ----------------------------------(Conclusão ????) • O primeiro fato “unifica” com o primeiro antecendente e o segundo fato “unifica” com o segundo antecedente. Assim, a regra é disparada. • Como calcular a conclusão ? Neste caso: 1) Calcular a conclusão (C1) resultante do primeiro fato unificado com o primeiro antecedente da regra (primeira inferência) 2) Calcular a conclusão (C2) resultante do segundo fato unificado com o segundo antecedente da regra (segunda inferência) 3) Calcular a interseção (usualmente via operador MIN) entre as conclusões C1 e C2 obtendo o resultado final. 62 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE • Primeira Inferência: modus ponens generalisado: • Segunda Inferência: modus ponens generalisado: 63 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE • A primeira inferência gera uma potência de disparo da regra (Máx-Min) µ ≈ 0.7857 e a segunda inferência gera uma potência de disparo da regra (Máx-Min) µ ≈ 0.1818. Assim: • Consequente gerado pela primeira inferência: • Consequente gerado pela segunda inferência: 64 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE • Conjunto resultante Dosagem para o sistema especialista do exemplo: • Problema: Como no exemplo anterior, qual deve ser a dosagem (em termos numéricos) que deve ser recomendada ? Afinal, o resultado fornecido pelo disparo das duas regras gerou um conjunto difuso, e seria interessante informar um número único que represente a quantidade de mililitros a ser medicada. 65 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Regra de Modus Ponens Generalizado em SE Resumo de mecanismo de inferência Regras com dois ou mais antecedentes • Seja o seguinte “trecho” de um sistema especialista: Se x é A1 E y é A2 Então z é B x é A1’ y é A2’ ---------------------------z é B’ • Suponha que o fato x é A1’ consiga “unificar” com o antecedente x é A1 e “gerando” B1’ e o fato y é A2’ consiga “unificar” com o antecedente y é A2 e “gerando” B2’ • Qual o valor de B’ ? Resposta: B’ = B1’ ∩ B2’ 66 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Defuzificação • Vamos retomar o problema levantado anteriormente sobre a informação que deve ser apresentada parar o usuário após o “disparo” de regras de um sistema especialista modelado para representar raciocínio aproximado: Problema: para fins práticos, qual a dosagem (em termos numéricos) que deve ser recomendada ? Afinal, o resultado fornecido pelo disparo de regra(s) gerou um conjunto difuso, e seria interessante informar um número único que represente a quantidade de mililitros a ser medicada. • Em vários casos, uma conclusão de natureza qualitattiva limita a praticidade de uso do SE pois seu usuário pretende tomar uma ação que envolva procedimentos quantitativos, tal como determinar a dosagem em ml de medicamento, determinar em Us$ o montante a ser investido numa aplicação financeira, a velocidade em Km/h a ser desenvolvida por um automóvel ou foguete, a quantidade em Kg de herbicidas a ser aplicada numa lavoura, etc. • Neste caso a conclusão, apresentada de forma qualitativa (via conjunto difuso), deve ser “mapeada” para algum valor numérico que represente a informação qualitativa. • O processo de se representar um conjunto difuso (qualitativo por natureza) através de um valor numérico denomina-se defuzificação. 67 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Defuzificação • Existem diversos métodos propostos para a implementação do processo de defuzificação. Dois processos usualmente citados na literatura são: (1) Centróide ou Centro de Gravidade ou Centro de Área Center of Gravity - COG Center of Area - COA (2) Média dos máximos Mean of Maxima - MOM 68 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Defuzificação Método do Centróide Center of Gravity (COG) ou Center of Area (COA) • O processo de defuzificação através do Método do Centróide (COG) pode ser formalmente assim definido: onde X’ é o valor numérico resultante da defuzificação e U é o universo de discurso. • Em casos onde a “área” do conjunto difuso possa ser representada pela soma de “subáreas” em formato de triângulos, retângulos e/ou trapézios, o cálculo das integrais no numerador e denominador da expressão numérica de X’ torna-se extremamente simples para implementação computacional. 69 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Defuzificação - Método do Centróide (COG) • Seja o processo de cálculo de defuzificação do conjunto difuso abaixo pelo Método do Centróide: • Problema: calcular os centróides X1’, X2’, X3’ e X4’ para determinar o valor de X’ (valor procurado !!) 70 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Defuzificação - Método do Centróide (COG) • Cálculo do centróide da área A1: • Procedendo de forma análoga para X2’, X3’ e X4’ obtemos: X2’ = 3,917; X3’ = 5.500 e X4’ = 6.333 e as “subáreas” A2, A3 e A4 A2 = 1,6; A3 = 0,6 e A4 = 0,3 71 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Defuzificação - Método do Centróide (COG) • Cálculo do centróide do conjunto difuso “completo” (valor da defuzificação): 72 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Defuzificação Método da Média dos Máximos Mean of Maxima (MOM) • O processo de defuzificação através do Método da Média dos Máximos (MOM) se caracteriza pelo cálculo da média dos elementos do universo de discurso com o valor máximo de grau de pertinência: onde J* é o conjunto com q elementos do universo de discurso X que apresentam o maior valor de grau de pertinência do conjunto difuso A definido sobre X. A é o conjunto difuso o qual se deseja “defuzificar”. 73 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Defuzificação - Método Média dos Máximos (MOM) • No exemplo acima, o conjunto J* = {3}, pois 3 é o único elemento de X que possui o grau de pertinência máximo (que vale 1 no caso). Assim, a defuzificação de tal conjunto vale x’ = 3. • No exemplo acima, o conjunto J* = {1, 3, 6}, cujos elementos apresentam o grau de pertinência máximo (que vale .7 no caso). Assim, a defuzificação de tal conjunto vale x’ = 3,333. 74 SISTEMAS ESPECIALISTAS Gerenciamento de Incertezas em Sistemas Especialistas Defuzificação - Método Média dos Máximos (MOM) • No exemplo acima, o conjunto J* é infinito pois o grau de pertinência máximo deste conjunto difuso é .7 e existem infinitos valores a serem considerados no intervalo [1,3]. Assim, como fazer o cálculo do valor defuzificado ? Não há uma forma única de cálculo: Poder-se-ia, por exemplo utilizar os pontos extremos do intervalo, além é claro, do valor 6 (pois µ(6) = .7) Assim x’ = (1+3+6)/3 = 3.333 Nada impede porém de se utilizar os valores 1; 1,1; 1,2 e 6. Assim x’ = (1 + 1,1 + 1,2 + 6)/4 = 2.325 • Para estes casos (existências de “platôs”) o critério de defuzificação deve ficar a cargo do usuário do sistema 75