Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Inteligência Artificial I Representação do Conhecimento (Parte VI) Prof.a Joseana Macêdo Fechine [email protected] Carga Horária: 60 horas DSC/CCT/UFC Representação do Conhecimento Como agir em meio à incerteza? 2 DSC/CCT/UFCG Representação do Conhecimento Tópicos Tratamento de Incerteza Raciocínio Estatístico 3 DSC/CCT/UFCG Representação do Conhecimento Exemplo: Definição de regras para diagnóstico odontológico utilizando a lógica de primeira ordem. p Sintoma( p, DorDeDente) Doença( p, Cárie) Está regra está correta? 4 DSC/CCT/UFCG Representação do Conhecimento Nem todos os pacientes com dores de dentes têm caries; alguns deles têm gengivite, abscessos ou outros problemas: p Sintom a( p, DorDeDente) Doença( p, Cárie) Doença( p, Gengivite) Doença( p, Abscesso) ... Tentativa de transformar a regra em uma regra causal: p Doença( p, Cárie) Sintoma( p, DorDeDente) Essa regra também não é correta; nem todas as cáries causam dor. 5 DSC/CCT/UFCG Representação do Conhecimento Tentar usar a lógica de primeira ordem para lidar com um domínio como diagnóstico médico é uma abordagem falha, por três razões principais: Preguiça Ignorância Teórica Ignorância Prática O conhecimento do agente pode, na melhor das hipóteses, fornecer apenas um grau de “crença” nas sentenças relevantes. Principal ferramenta para lidar com graus de “crença” – Teoria da Probabilidade 6 DSC/CCT/UFCG Tratamento de Incerteza Necessidade de representar imperfeições da informação, imprecisão, conflito, ignorância parcial, etc Exemplos de informação: Perfeita: a aula começa às 8h Imprecisa: a aula começa entre 8h e 9h Incerta: acho que a aula começa às 8h Vaga: a aula começa lá pelas 8h Probabilística: é provável que a aula comece às 8h Possibilista: é possível que a aula comece às 8h Inconsistente: segundo Maria, a aula começa as 8h, porém segundo João ela começa às 9h Incompleta: não sei quando a aula começa, mas usualmente as aulas têm começado às 8h 7 DSC/CCT/UFCG Tratamento de Incerteza Mesmo lidando com informações imperfeitas, ainda é possível tomar decisões razoáveis Existe um modelo formal para tratar cada um dos tipos de informações apresentadas anteriormente Probabilística: teoria de probabilidades; ou teoria da evidência (Dempster-Shafer) Imprecisa/Vaga: teoria dos conjuntos nebulosos; conjuntos de aproximação (rough sets); ou classes de referência Possibilista: teoria de possibilidades Incerta: teoria de probabilidades; possibilidades; evidência; ou modelos ad hoc Inconsistente: lógicas não clássicas Incompleta: lógicas não monotônicas como lógica de default 8 DSC/CCT/UFCG Tratamento de Incerteza Modelos numéricos mais conhecidos para a representação da informação imperfeita: Probabilista Nebuloso 9 DSC/CCT/UFCG Modelo Probabilista Teoria de probabilidades – é o modelo mais tradicional para o tratamento da informação incerta Dado um evento A X , a probabilidade de ocorrência de A é descrita por uma medida: P : 2X [0,1], que satisfaz os seguintes axiomas: A X,P(A) 0,P(A) P(X) P(X) 1 A,B X, A B , P(A B) P(A) P(B) 10 DSC/CCT/UFCG Modelo Probabilista A partir dos axiomas anteriores, pode-se derivar as seguintes propriedades: P () 0, A X,P(A) 1 - P(A ), A,B X,P(A B) P(A) P(B)- P(A B). 11 DSC/CCT/UFCG Modelo Probabilista A distribuição de probabilidade p: X [0,1] caracteriza a probabilidade dos eventos sobre um domínio discreto X A X, P(A) p(x) xA No caso contínuo X p(x)dx 1, e P(A) p( x)dx A 12 DSC/CCT/UFCG Modelo Probabilista A medida de probabilidade tem 2 interpretações: Frequentista: P(A) representa o limite da frequência da ocorrência do evento A em uma seqüência infinita de experimentos independentes Subjetiva: P(A) representa a crença de um determinado indivíduo na ocorrência de A, neste caso supõe-se que o indivíduo, que fornece as probabilidades aos eventos em X, seja capaz de exprimi-las de forma que estas obedeçam aos axiomas anteriores 13 DSC/CCT/UFCG Modelo Probabilista O teorema de Bayes provê a base para o tratamento da imperfeição da informação em diversos sistemas baseados em conhecimento. Este teorema computa a probabilidade de um dado evento, dado um conjunto de observações. 14 DSC/CCT/UFCG Modelo Probabilista Teorema de Bayes. Seja: P(Hi|E) - a probabilidade de que a hipótese Hi seja verdadeira dada a evidência E. P(E|Hi) - a probabilidade de que a evidência E será observada se a hipótese Hi for verdadeira. P(Hi) - a probabilidade “a priori” de que a hipótese Hi é verdadeira na ausência de qualquer evidência específica. 15 DSC/CCT/UFCG Modelo Probabilista Teorema de Bayes P( H i | E ) P( E | H i ) P( H i ) k P( E | H j 1 j ) P( H j ) Em sistemas baseados em conhecimento P ( H i | En E a ) P ( En | H i Ea ) P ( H i | E a ) k P( E j 1 n | H j Ea ) P ( H j | E a ) k - o número de hipóteses possíveis En e Ea representam, respectivamente, novas evidências e evidências anteriores, em relação a um dado momento do processo. DSC/CCT/UFCG 16 Modelo Probabilista Exemplo: Suponha que no meio da noite dispare o alarme contra ladrões de uma casa. Deseja-se então saber quais são as chances de que esteja havendo uma tentativa de roubo. Suponha: que existam 95% de chances de que o alarme dispare quando uma tentativa de roubo ocorre, que em 1% das vezes o alarme dispara por outros motivos, e que no bairro existe uma chance em 10.000 de uma dada casa ser assaltada em um dado dia. 17 DSC/CCT/UFCG Modelo Probabilista Tem-se então: P(alarm e| roubo) 0,95 P(alarm e| roubo) 0,01 P(roubo) 1 / 10.000 10 4 Então P(roubo| alarm e) 0,00941 18 DSC/CCT/UFCG Modelo Probabilista Este valor pode parecer estranho, mas ele pode ser intuitivamente entendido quando verifica-se que as chances de haver um roubo e do alarme tocar (0,000095) são muito pequenas em relação às chances de haver um alarme falso (0,01). 19 DSC/CCT/UFCG Modelo Probabilista Exemplo: Um médico sabe que: Meningite causa torcicolo em 50% das vezes Se uma pessoa é aleatoriamente selecionada da população dos EUA, há 1/50.000 de chance da pessoa ter meningite. Se uma pessoa é aleatoriamente selecionada da população dos EUA, há 5% de chance da pessoa ter torcicolo. Qual a probabilidade de que a causa subjacente seja meningite? 20 DSC/CCT/UFCG Modelo Probabilista Supor: P(M) = 1/50.000 P(T) = 1/20 P(T|M) = 0,5 O cálculo de P(M|T) decorre diretamente do Teorema de Bayes 1 / 50.000 0,5 P( M | T ) 0,0002 1 / 20 21 DSC/CCT/UFCG Modelo Probabilista Muitos dos sistemas baseados em conhecimento mais famosos têm o enfoque bayesiano como base para o tratamento da informação imperfeita, como, por exemplo, o MYCIN e o PROSPECTOR. No sistema MYCIN, tanto regras como fatos têm associados um par [MB MD] MB mede a “crença” na hipótese (o próprio fato, ou conclusão de uma regra quando a premissa é completamente satisfeita) MD mede a “crença” na negação dessa hipótese. A máquina de inferência então não somente cria novos fatos, mas também um par [MB MD] para este novo fato, utilizando uma variação formalmente imperfeita, porém eficaz, da regra de Bayes. 22 DSC/CCT/UFCG Modelo Nebuloso (Fuzzy) Teoria dos conjuntos nebulosos - objetiva permitir graduações na pertinência de um elemento a uma dada classe. Teoria dos conjuntos “clássica” Ou um elemento pertence (1) ou não-pertence (0) a um conjunto. Teoria nebulosa O grau de pertinência passa a ser dado por um valor no intervalo de números reais [0,1]. 23 DSC/CCT/UFCG Modelo Nebuloso (Fuzzy) Regras: Decisões binárias (sim ou não). Fuzzy Logic Se condição x Então ação y com confiança z Exemplo: Regras versus Fuzzy Logic E se não tivermos certezas? Regras: Se o objeto é redondo então é uma bola. FL: Se o objeto é muito redondo então é uma bola com grande probabilidade. Fuzzy Logic: Framework matemático para lidar com esta incerteza. 24 DSC/CCT/UFCG Modelo Nebuloso (Fuzzy) Dado um universo de discurso X, um subconjunto nebuloso A de X é definido por uma função de pertinência que associa a cada elemento x de X o grau μA(x), compreendido entre 0 e 1, com o qual x pertence a A μA(x): X [0,1] 25 DSC/CCT/UFCG Modelo Nebuloso (Fuzzy) Supondo que se deseja modelar o conceito “alto” aplicado a pessoas. Usualmente, uma pessoa que mede mais de 1,75m é alta Não é alta se tiver menos de 1,60m Já uma pessoa que mede entre 1,60m e 1,75m será considerada mais alta quanto mais a altura está próxima de 1,75m 26 DSC/CCT/UFCG Modelo Nebuloso (Fuzzy) É possível modelar o conceito “alto” pelo conjunto nebuloso A, definido no intervalo de 0,5m a 2,5m 1 A ( x) 0 x 1,6 0,15 , x 1,75m , x 1,60m , 1,60m x 1,75m 27 DSC/CCT/UFCG Modelo Nebuloso (Fuzzy) Graficamente, o conjunto nebuloso A pode ser representado como 28 DSC/CCT/UFCG Representação gráfica dos Conjuntos Fuzzy discretos A 1 -- 0 -10 A(u) = 0,0 10 , se módulo(x) > 5 (5 – módulo(x))/5, se módulo(x) <= 5 29 DSC/CCT/UFCG Representação gráfica dos Conjuntos Fuzzy contínuos 1 Baixa Alta 0.5 0,4 0,2 0 1.4 1.5 1.6 1.7 1.8 1.9 2.0 Uma pessoa de 1,77m pode se considerada tanto 20% baixa quanto 40% alta DSC/CCT/UFCG 30 Modelo Nebuloso (Fuzzy) Normalmente, uma BC Fuzzy é representada por meio de regras de produção. Regra de produção If <antecedente> then <conseqüente> Antecedente: composto por um conjunto de condições Conseqüente: composto por um conjunto de ações ou diagnósticos. Quando as condições da regra são satisfeitas (mesmo que parcialmente) dizemos que a regra é disparada o que determina o processamento do conseqüente da regra pelo sistema de inferência fuzzy. 31 DSC/CCT/UFCG Sistemas fuzzy - fases Entradas do sistema Fuzzificação Níveis de pertinência Saídas do sistema Funções de pertinência Conjunto de regras Avaliação das regras Defuzzificação Níveis de saída 32 DSC/CCT/UFCG Sistemas fuzzy - fases Estágio de entrada Processamento Fuzzificação: mapeia cada entrada de dados ao sistema em uma ou mais funções de pertinência. As regras de um conjunto de regras (predefinidas) são avaliadas verificando quais são aplicáveis e Quão fortemente cada regra deve ser disparada dependendo de como foi ativada cada função de pertinência. Saída Defuzzificação: calcula a saída, baseada nos valores mapeados em funções de pertinência de saída e em função das regras que foram disparadas. 33 DSC/CCT/UFCG Modelo Nebuloso (Fuzzy) Exemplo: Controle de velocidade de um ventilador A velocidade depende da temperatura Temperatura Velocidade Corrente relativa do motor Muito frio Desligado 0 Frio Devagar 15 Quente Média 50 Muito quente Rápida 100 34 DSC/CCT/UFCG Exemplo: Desenvolvendo o sistema fuzzy No momento de desenvolver um sistema baseado em lógica fuzzy, deve-se decidir: No exemplo, tem-se 4 funções de pertinência para a entrada Como cada variável de entrada e saída será particionada e Associar uma função de pertinência para cada partição Uma quinta (moderada) poderia ser adicionada entre frio e quente O número de funções necessárias depende da exatidão desejada para o sistema Quanto mais curvas, mais sensibilidade, maior complexidade 35 DSC/CCT/UFCG Exemplo: Conjuntos fuzzy correspondentes à variável Temperatura Funções de pertinência para a variável de entrada No exemplo tem-se apenas a variável temperatura 1 Muito_frio Frio Quente Muito_quente 0.5 0 -10 0 10 20 30 40 Os formatos mais utilizados para funções de pertinência são os trapezoidais e os triangulares. Mas qualquer função mais adequada ao caso pode ser utilizada. DSC/CCT/UFCG 36 Exemplo: Conjuntos fuzzy correspondentes à variável Velocidade Funções de pertinência para a variável de saída No exemplo tem-se apenas a variável velocidade 1 zero baixa média alta 0.5 0 0 20 40 60 80 100 37 DSC/CCT/UFCG Exemplo: Definindo as regras de produção If (temperatura is muito_frio) then (velocidade is zero) If (temperatura is frio) then (velocidade is baixa) If (temperatura is quente) then (velocidade is média) If (temperatura is muito_quente) then (velocidade is alta) Tanto as regras como os conjuntos fuzzy são especificados de acordo com o conhecimento de um especialista no domínio do SE. 38 DSC/CCT/UFCG Exemplo: Processo de fuzzificação 20ºC pode ser considerada “fria” ou “quente” 70% fria e 30% quente 1 Muito_frio Frio Quente Muito_quente 0.5 0 -10 0 10 20 30 40 Fuzzificação: transformar variáveis qualitativas, com base nas funções de pertinência, em algum significado para o computador DSC/CCT/UFCG 39 Exemplo: Regras ativadas If (temperatura is muito_frio) then (velocidade is zero) If (temperatura is frio) then (velocidade is baixa) If (temperatura is quente) then (velocidade is média) If (temperatura is muito_quente) then (velocidade is alta) 40 DSC/CCT/UFCG Exemplo: Avaliação das regras Durante a avaliação de uma regra Valores são computados baseados nos níveis de ativação alcançados Para cada uma das funções de pertinência Para cada uma das entradas Estes valores são associados às regras difusas de saída. Geralmente uma função de minimização é utilizada para determinar o valor associado a cada variável de entrada quando mais de uma função de pertinência é ativada na mesma regra. 41 DSC/CCT/UFCG Exemplo: Operações sobre conjuntos fuzzy Interseção de dois conjuntos, corresponde à função fuzzy-AND u(A AND B) = min(uA(x), uB(x)) União de dois conjuntos, corresponde à função fuzzy-OR u(A OR B) = max(uA(x), uB(x)) 42 DSC/CCT/UFCG 1 Muito_frio Frio Quente Muito_quente temperatura 0.5 0 -10 0 1 zero 10 20 30 baixa 40 média alta velocidade 0.5 DSC/CCT/UFCG 0 0 20 40 60 80 100 43 velocidade temperatura -10 20 40 Composição: DSC/CCT/UFCG 0 100 44 Exemplo: Processo de defuzzificação Uma vez que já se sabe quais regras devem ser ativadas O processo de defuzzificação da saída é necessário para: Decifrar o significado de uma ação vaga como: “a velocidade de ser baixa” e Resolver conflitos entre regras que possam parecer contraditórias Um dos métodos mais utilizados se baseia no método de determinação do centróide (determinação do centro de gravidade ou massa) 45 DSC/CCT/UFCG Exemplo: Processo de defuzzificação 1. Verificação das regras que foram ativadas; 2. Processo de composição das regras disparadas; 3. As áreas que representam o grau de ativação de cada regra são compostas formando uma área resultante; 4. Sobre esta área se calcula o ponto central, baseado no cálculo do centro de massa. Assim, o nível de ativação de cada regra age como um nível de ponderação no cálculo final. 46 DSC/CCT/UFCG velocidade temperatura -10 20 40 Composição: DSC/CCT/UFCG 0 44.1 100 47 Modelo Nebuloso A utilização mais significativa da teoria dos conjuntos nebulosos em sistemas baseados em conhecimento são os controladores nebulosos. Um controlador nebuloso pode ser visto como um sistema especialista simplificado, em que a conseqüência de uma regra não é aplicada como antecedente de outra. Isto porque as ações de controle são baseadas em um único nível de inferência. 48 DSC/CCT/UFCG Aplicações … Controle Otimização e Planejamento Elevadores (Hitachi, Fujitech, Mitsubishi) Análise do Mercado de Ações (Yamaichi) Análise de Sinais DSC/CCT/UFCG Controle de Aeronave (Rockwell Corp.) Operação do Metrô de Sendai (Hitachi) Transmissão Automática (Nissan, Subaru) Space Shuttle Docking (NASA) Ajuste da Imagem de TV (Sony) Autofocus para Câmera de Video (Canon) Estabilizador de Imagens de Video (Panasonic) 49 Aplicações … Máquinas de lavar (Hitachi) – uso otimizado de potência, água e detergente Ar condicionado industrial (Mitsubishi) – reduz o consumo de potência em 24%, usa menos sensores 50 DSC/CCT/UFCG Aplicações Outros projetos japoneses: Reconhecimento de caracteres Sistemas fuzzy óticos Robôs Helicópteros comandados por voz NASA – controle fuzzy para ancorar suas naves automaticamente no espaço 51 DSC/CCT/UFCG Perspectivas Potencial manuseio de incertezas e controle de sistemas complexos Lógica fuzzy combinada com redes neurais artificiais Capacidade de adaptação e aprendizagem Simbiose Novas classes de sistemas e de controladores neurodifusos 52 DSC/CCT/UFCG