Introdução aos Sistemas Especialistas Professor Celso A A Kaestner, Dr. Eng. 1 Sistemas Especialistas • Um Sistema Especialista (SE) é um programa de computador que utiliza conhecimento específico do domínio de um problema e emula a metodologia e desempenho de um especialista para obter soluções de problemas neste domínio. 2 Tecnologia dos Sistemas Especialistas Arquitetura ESPECIALISTA/ ENG. CONHECIMENTO/ PROGRAMADOR BASE DE CONHECIMENTO SHELL INTERFACE COM USUÁRIO: MOTOR DE INFERÊNCIA DADOS ESPECÍFICOS DO CASO PERGUNTA/RESPOSTA ORIENTADO POR MENUS LINGUAGEM NATURAL GRÁFICO USUÁRIO EXPLANAÇÃO APRENDIZAGEM 3 Desenvolvimento de SE • Envolve essencialmente o Engenheiro de Conhecimento, o Especialista do domínio do problema e o Usuário final; • Criação Rápida de Protótipos: Aquisição do Conhecimento Modelagem do Sistema Correção Programação • Sucessivas iterações nas quais as possibilidades são postas à prova pelos futuros usuários. 4 Quando desenvolver um SE • O problema justifica o custo e esforço de construção do SE; • Não existem especialistas disponíveis (no local) para resolver diretamente o problema; • Existem especialistas para cooperarem na construção do SE; • O problema pode ser solucionado através de raciocínio simbólico (próximo dos humanos); • O problema não requer “senso comum”; • O problema não pode ser resolvido através de métodos computacionais tradicionais; • O problema não é demasiado grande nem demasiado genérico. 5 Construção de SE Ciclo de Vida (etapas): • Análise de viabilidade; • Projeto conceitual; • Aquisição de conhecimento; • Representação do conhecimento; • Validação; • Transferência de tecnologia e manutenção. 6 Ferramentas p/desenvolver SE • Linguagens gerais x shells; • Limitações do formalismo de representação de conhecimento escolhido: poder descritivo; • Limitações do motor de inferência: controle suficiente; • Área de aplicação: diagnóstico, monitoração e controle, configuração ... 7 Conhecimento (dicionário) • Percepção de algo; o ato, fato ou estado de conhecer e/ou compreensão; • Aprendizagem: tudo o que foi percebido ou captado pela mente; • Experiência prática: habilidade; • Familiaridade com um fato ou lugar; • Identificação: reconhecimento; • Informação: os fatos acumulados pela humanidade. 8 Conhecimento • Substância transportável; • Formulação do conhecimento: aspectos construtivos / comparativos na construção de bases de conhecimento; • Domínio: uma porção de conhecimento; • Tarefa: é o trabalho objetivo a ser realizado; • Conhecimento do domínio: de toda a área; • Conhecimento da tarefa: para resolvar uma instância de problema determinado. 9 Aquisição de Conhecimento • Entrevistas Especialista Engenheiro Conhecimento Shell Base de conhecimento 10 Aquisição de Conhecimento • Aprendizagem por interação Especialista Sistema interativo de entrevista Engenheiro Conhecimento Base de conhecimento 11 Aquisição de Conhecimento • Aprendizagem por indução Especialista Sistema de indução Exemplos e histórico Base de conhecimento 12 Tratamento da incerteza • Teoria de probabilidades, probabilidades condicionais, redes bayesianas; • Conjuntos difusos, variáveis linguísticas e distribuições de possibilidade; • Abordagem heurística: fatores de certeza, como no sistema MYCIN. 13 Fatores de Certeza • • • • • • • FC (H, E) = MC(H, E) – MD(H, E); MC: medida de crença; MD: medida de descrença; H: hipótese; E: evidência; P(H): probabilidade de hipótese H; P(H|E): probabilidade condicional da hipótese H, dada a evidência E. 14 Fatores de Certeza • Se P(H) = 1, então MC(H, E) = 1, senão MC(H, E) = max{(P(H|E), P(H)} – P(H) / (1 – P(H)) ; • Se P(H) = 0, então MD(H, E) = 1, senão MD(H, E) = min{(P(H|E), P(H)} – P(H) / (0 – P(H)) ; 15 Fatores de Certeza • Valores de MC, MD entre 0.00 e 1.00; • Valores de FC entre –1.00 e +1.00; • Certeza em H: MC = 1.00 e MD = 0.00, logo FC = +1.00; • Certeza em ~H (não H): MC = 0.00 e MD = 1.00, logo FC = – 1.00; • Contradição: MC=1.00 e MD=1.00 • Desconhecimento: MC=0.00 e MD=0.00. 16 Fatores de Certeza Regras para combinação de evidências: • Se X = FC(H, E1) e Y = FC(H, E2) tem-se: • Se X > 0 e Y > 0: FC(H, E1 AND E2) = X + Y(1 – X); • Se X < 0 e Y < 0: FC(H, E1 AND E2) = X + Y(1 + X); • Nos outros casos: FC(H, E1 AND E2) = (X + Y)/(1 – min{X,Y}). 17 Fatores de Certeza Conjunções: • FC(H1 AND H2, E) = min{FC(H1,E), FC(H2,E)}; Disjunções: • FC(H1 OR H2, E) = min{FC(H1,E), FC(H2,E)}; 18 Fatores de Certeza Composições: • H1 hipótese suportada p/ evidência E1 com FC1; • H2 hipótese derivada de H1 p/ uso de uma regra; • Então tem-se FC(H2, E1) = FC1(H2, H1) max{0, FC(H1, E1)} Aplicação de regra: • Se A então B (0.8) denota-se por A=(0.8)=>B; • Se A =(x)=> B e B =(y)=> C, então FC(C) = y.max{0, FC(B)} 19 Fatores de Certeza Exemplo: • A =(0.8)=> C C=(0.5)=>D • B =(0.6)=> C Cálculos: • FC(C, A AND B) = 0.8+0.6 – 0.48 = 0.92; • FC(D, C) = 0.92 x 0.5 = 0.46 20 Fatores de Certeza Exemplo: • A (0.7) (A AND B) =(0.8)=> W • B (0.8) (B OR C) =(0.7)=> Z • C (0.9) 21 Fatores de Certeza Exemplo: 1. FC(A AND B,{A,B}) = min{0.7, 0.8}=0.7 2. FC(W, A AND B)=0.7 x 0.8 = 0.56 3. FC(B OR C,{B,C}) = max{0.8, 0.9}=0.9 4. FC(Z, B OR C)= 0.7 x 0.9 = 0.63 22 Categorias dos Problemas • Interpretação: formar conclusões a partir de dados; • Predição: projetar consequências de situações; • Diagnóstico e reparo : determinar a causa de maus funcionamentos, e prescrever e implementar soluções; • Projeto: configurar componentes de forma a atingir um objetivo; • Planejamento: obter a sequência de passos para atingir um objetivo; • Monitoração: comparar o comportamento de um sistema com aquilo que seria de esperar; • Tutoriais: detectar e corrigir deficiências, e auxiliar processos de aprendizagem; • Controle: governar o comportamento de um sistema. 23 Classificação / Diagnóstico • Sistema MYCIN • Objetivo: diagnóstico de doenças infecciosas e recomendação de terapias; • Exemplo de regra: – Se (1) um exame de sangue está disponível E (2) a contagem de leucócitos é < que 2500 – Então (3) as seguintes bactérias podem estar estar causando a infecção: E.Coli (0.75), Pseudomonas-aeruginosa (0.5), Klebsiella-pneumoniae (0.5) 24 Configuração • Sistema X-CON • Objetivo: configurar os equipamentos dos sistemas de microcomputadores da DECDigital; • Exemplo de regra: – Se o contexto ativo é a fonte de alimentação E o adaptador unibus está no gabinete E sua posição no gabinete é conhecida E há espaço disponível para a fonte E existe uma fonte disponível E não existe regulador H7101 disponível Então adicione um regulador H7101 à ordem. 25 Monitoração • Sistema VM • Objetivo: monitoração de pacientes em recuperação após problema cardíaco (UTI). • Atividades: – Validação dos dados dos sensores; – Acompanhamento e geração de alarmes; – Geração de relatório sumarizado de acompanhamento; – Avaliação da evolução a longo termo; – Sugestão de terapias. 26 Propostas de problemas 1. Classificação / diagnóstico; 2. Configuração; 3. Monitoração e controle. 27 Problema de classificação / diagnóstico 28 Classificação / diagnóstico Considere um SE para realizar o diagnóstico de uma doença, de acordo com as seguintes indicações: • Sintomas => Causadores => Doença. • As doenças possíveis são (x1), (x2) e (x3); • R1: Com 90 % de certeza, se o doente apresenta o sintoma (a) então estão presentes os elementos causadores (b) e (c) ; • R2: no caso do sintoma (a) ocorrer, o elemento causador também pode ser (d), mas em casos raros (10%); • R3: a doença (x1) também ocorre se (b) é verificado, mas apenas em 30 % dos casos; 29 Classificação / diagnóstico • • • • • R4: Se (c) está presente, então a doença é (x2), em 98 % dos casos; R5: se os elementos causadores são (d) e (f) a doença é (x1) em 95 % dos casos; R6: se o paciente apresenta o sintoma (e), então o causador pode ser (f) com 80 % de certeza; R7: se (g) é um sintoma, então (f) pode ser o elemento causador, com 55 % de certeza; R8: Se (f) é um agente causador, então os elementos causadores (l) e (h) podem ser detectados no paciente com certeza de 75 %; 30 Classificação / diagnóstico • • • • • • R9: A presença de (l) caracteriza a doença (x3) em 40 % dos casos; R10: Se (h) ocorre, então o causador (m) também ocorre em 30 % dos casos; R11: O agente causador (f) está presente em 50 % dos casos em que o causador (k) ocorre; R12: Se (g) não é sintoma mas o sintoma (i) ocorre, então o causador é (k) em 90 % dos casos; R13: O sintoma (j) ocorre sempre que (100%) (k) é o agente causador da doença; R14: A presença de (k) ocasiona a condição causadora (h) em 80 % dos casos; 31 Classificação / diagnóstico • • R15: se a presença de (m) é detectada em conjunto com o sintoma (n), então deve-se considerar a possibilidade (20 %) de que o sintoma (g) ocorra; e R16: a presença de (m) indica que a doença é (x3) com 75 % de certeza. Utilizar Fatores de Certeza (MYCIN) para o manuseio da incerteza. 32 Classificação / diagnóstico Considerando este conhecimento, indique as doenças mais prováveis para os pacientes seguintes: • P1, que apresenta os sintomas (a), com 75 % de certeza, (i) com 80 %, (n) com 15 % e e (j) com 90 %. • P2, que apresenta os sintomas (a), com 95 % de certeza, (e) com 20 %, e (i) com 15 %. 33 Problema de configuração 34 Configuração Uma empresa de telecomunicações deseja maximizar o fluxo de informações entre suas estações, de forma a atender o maior número possível de clientes; Considere que a rede disponível é constituída de 4 nós (A), (B), (C) e (D), interligados por links de capacidade limitada, como indicado a seguir; Os pacotes são transmitidos entre as estações de acordo com capacidades fixas de 10 (tipo 1), 20 (tipo 2) ou 30 (tipo 3). 35 Configuração 30 100 (A) (B) 100 80 70 (C) 100 50 30 100 (D) 36 Configuração Os canais têm configurações limitadas, como indicado: • De (A) para (B): não admite tipo 3; • De (B) para (A): admite no máximo 2 canais de tipo 3; • De (A) para (C): não admite tipo 1; • De (C) para (B): não admite tipo 1; • De (D) para (C): não admite tipo 3; • Os canais de (B) para (C), de (C) para (D), de (B) para (D) e de (D) para (B) não tem limitação. 37 Configuração Considere a existência dos seguintes clientes: • (C1), que necessita transmitir 180 unidades entre (B) e (D) e 20 unidades entre (B) e (A); • (C2), que necessita transmitir 150 unidades a partir de (A), sendo que destas 100 devem ir para (D) e 50 para (C); • (C3), que deve transmitir 20 unidades entre (A) e (B) e 30 unidades entre (D) e (C). 38 Configuração Pretende-se vender serviço a um novo cliente que deseja empregar o canal (B)=>(D); Na configuração atual pode-se realizar os serviços já contratados ? Como deve ser feita a distribuição ótima de fluxo, de forma que se deixe este canal o mais livre possível para possibilitar a venda do serviço ? 39 Problema de monitoração e controle 40 Monitoração e controle Um sistema de abastecimento de líquidos funciona de acordo com a planta indicada a seguir; O sistema possui 4 tanques (T1, T2, T3, T4), 3 bombas (B1, B2, B3), e duas válvulas (V1 e V2); Os tanques e as conexões entre estes possuem as capacidades indicadas em unidades de volume (u) e de fluxo (u/t); Há sensores para a medição dos níveis em cada tanque. 41 Monitoração e controle 1.5 u/t 2.0 u/t X B2 X B1 Fonte (inesgotável) T1 (50 u) T2 (20 u) 1.0 u/t T4 (10u) 0.5 u/t x V1 0.5 u/t X B3 T3 (30 u) 1.0 u/t X V2 Sumidouro (min 1.0 u/t) 42 Monitoração e controle Considere o desenvolvimento de um SE para o controle das bombas e das válvulas, de forma a manter o fornecimento mínimo exigido pelo sumidouro; As condições de operação deverão ser monitoradas e modificadas incrementalmente a cada unidade de tempo (t); A situação de inicialização do processo (start-up) deve ser considerada; Também devem ser consideradas situações de operação na presença de falhas em B1, B2 ou B3. 43 Monitoração e controle Restrições adicionais: • Os volumes dos tanques devem ser respeitados; • O nível de T2 deve ser no mínimo 30% do total. Objetivo: • Definir as regras de operação para o sistema e simular sua operação. 44 • Desenvolver os correspondentes sistemas especialistas em CLIPS; • Atuação em 3 equipes na sala; • Discussão dia 28/4/5. 45