Sistemas Especialistas e Representação do Conhecimento Sistemas Especialistas e Representação do Conhecimento Sistema Especialista Sistema Especialista -programa que comporta-se como um “expert” em algum domínio restrito de aplicação. -Deve ser capaz de gerar explicações de seu comportamento e de suas decisões para que os usuários (em alguns domínios) aumentem a confiança nos conselhos e decisões das máquinas ou para que problemas de raciocínio sejam corrigidos. -capaz de resolver problemas que requerem conhecimento especializado -também conhecido como sistema baseado em conhecimento (nem todo sistema baseado em conhecimento é um sistema especialista) -Deve ser capaz de tratar incertezas e informações não completas. Sistemas Especialistas e Representação do Conhecimento Sistemas Especialistas e Representação do Conhecimento Sistema Especialista -Informações sobre o problema podem estar incompletas ou não confiáveis Sistema Especialista -As relações no domínio do problema podem ser aproximadas requerendo raciocínio probabilístico Ex.: -Um médico pode não estar completamente certo de um sintoma em paciente. -Um dado medido pode estar errado. -Um remédio pode causar problemas. Exemplos: •Diagnóstico médico •Localização de defeitos em certos equipamentos •Interpretação de dados medidos •Etc. 1 Funções necessárias para desenvolvimento de sistemas especialistas: Estrutura de um sistema especialista Base de conhecimento Função de resolução do problema – exige conhecimento específico do domínio (pode requerer tratamento de incertezas). Máquina de inferência Função de interação com o usuário – inclui explicações das intenções e decisões do sistema durante e depois do processo de solução do problema. Interface com o usuário SHELL Usuário Implementação das funções pode ser complicada. Estrutura de um sistema especialista •A separação da base conhecimento e do SHELL é importante, pois o conhecimento depende do domínio de aplicação. •Máquina de inferência define como o conhecimento será manipulado. •O SHELL (teoricamente) é menos dependente do domínio, assim deve-se procurar projetar SHELLs que possam ser usados em diferentes aplicações (funciona para aplicações parecidas). Sistema Especialista baseado em regras de produção Exemplos: •Se precondição P então conclusão C •Se situação S então ação A •Se condições C1 e C2 acontecem então condição C não acontece Propriedades: •Modular •Incremental •Modificável •Transparente 2 Propriedades: •Transparente •Transparência – habilidade do sistema explicar suas intenções e decisões. •O uso de regras facilita a geração de respostas para: •Como? (como você chegou a esta conclusão?) •Porque? (Por que você está interessado nesta informação? •As regras definem relações lógicas entre conceitos no domínio do problema. •Relações puramente lógicas podem ser caracterizadas como pertencentes ao conhecimento categórico, no sentido de que elas são sempre verdadeiras. •Há domínios nos quais o conhecimento é probabilístico ou parcial (soft) – parcial (soft) no sentido de que regularidades empíricas são válidas somente até um certo grau. •Nestes casos são acrescentados fatores de certeza (crença) às interpretações lógicas: •If condição A então conclusão B acontece com fator de certeza (crença) F if 1 the infection is primary, and 2 the site of the culture is one of the sterilesites, and 3 the suspected portal of entry of the organism is the gastrointestinal tract Exemplo: Problema de diagnóstico para descobrir um vazamento em um apartamento. -O vazamento pode aparecer no banheiro ou na cozinha then there is suggestive evidence (0.7) that the identity of the organism is bacteroides. -O vazamento mancha a parede no corredor. -O vazamento só acontece em um ambiente ou no outro (cozinha ou banheiro). janela Exemplo do MYCIN. 0.7 indica o grau de confiança na regra. cozinha banheiro corredor 3 Exemplo: Problema de diagnóstico para descobrir um vazamento em um apartamento. Rede de inferência (grafo de AND e OR): Cozinha_seca vazamento no banheiro Corredor úmido Exemplo: Problema de diagnóstico para descobrir um vazamento em um apartamento. Procedimento de raciocínio: Encadeamento para trás (backward chaining) problema na cozinha Banheiro seco vazamento na cozinha Janela fechada não entrou água de fora Não chove Encadeamento para frente (forward chaining) Escolha: a sequência do raciocínio deve ser natural (inteligível para os humanos). Exemplo: Problema de diagnóstico para descobrir um vazamento em um apartamento. Exemplo: Problema de diagnóstico para descobrir um vazamento em um apartamento. Procedimento de raciocínio: Encadeamento para trás Procedimento de raciocínio: Encadeamento para frente Hipótese: vazamento na cozinha Inicia com fatos confirmados. Para confirmar é necessário confirmar: 1 problema na cozinha Confirmados os fatos 1 problema na cozinha 2 não entrou água de fora 1 é confirmado se confirmar corredor úmido e banheiro úmido 2 não entrou água de fora Então conclui-se que o vazamento na cozinha 2 é confirmado se confirmar (por exemplo) janela fechada (exemplo – expsit1.pro) (exemplo – expsit2.pro) 4 Encadeamento para frente ou para trás? Encadeamento para frente ou para trás? •Encadeamento para frente é mais natural No exemplo do diagnóstico de vazamentos. •Dica: •Se o número de premissas for pequeno, comparado com o número de conclusões encadeamento para frente Cozinha_seca •Se o número de conclusões for pequeno, comparado com o número de premissas encadeamento para trás Há situações em que se faz necessário combinar os dois tipos de encadeamento. Ex. Diagnóstico médico. Depois de observar o paciente, um médico cria uma hipótese que precisa ser confirmada. Encadeamento para trás vazamento no banheiro Encadeamento para frente Corredor úmido problema na cozinha Banheiro seco vazamento na cozinha Janela fechada não entrou água de fora Não chove Geração de Explicação Geração de Explicação Há diferentes formas de gerar explicações em sistemas baseados em regras. Exemplo: Conclusão - Vazamento na cozinha. Explicação: Explicações mais comuns: Como? e Por quê? Como: (Como você encontrou esta resposta?) (1) Há um problema na cozinha, que foi concluído a partir do fato do corredor úmido e do banheiro seco, e Explicação típica •Mostrar os caminhos seguidos (2) Não entrou água de fora, que foi concluído a partir do fato da janela fechada. Esse tipo de explicação é uma árvore de prova: as conclusões seguem das regras e fatos na base de conhecimento. 5 Árvore de prova de uma proposição Introdução de Incerteza (1) Se P é um fato então a árvore de prova é P. (2) Se P foi gerado usando a regra •Domínios categóricos: respostas são verdadeiras ou falsas os dados e regras são categóricos Se Condicao então P •Entretanto, o comportamento típico de especialistas é baseado em “chutes” que podem (ou não) ser verdade. então a árvore de prova é P <= ProvaCondicao •A incerteza pode ser modelada através de qualificação usando descritores como: verdade, muito provável, provável, improvável, impossível. onde ProvaCondicao é árvore de prova de Condicao. (3) Sejam P1 e P2 proposições cujas árvores de provas são Prova1 e Prova2. Se P é P1 e P2 então a árvore de prova é Prova1 e Prova2. Se P é P1 ou P2 então a árvore de prova é Prova1 ou Prova2. Exemplo: Introdução de Incerteza •Pode-se usar um grau de crença representado por um número real em um intervalo entre 0 e 1 ou –5 e 5. fatores de certeza, medidas de crença, certeza subjetiva Assume-se que apenas uma regra dispara para um conjunto de premissas. Proposicao : Fator_de_certeza Uso em regras: Se Condicao então Conclusao : Fator_de_certeza Se duas ou mais regras disparam estas são combinadas por uma operação OR transformando em uma regra única. Em geral os fatores de certeza são fornecidos pelo usuário. Combinação dos fatores de certeza das regras e das proposições: Sejam duas proposições P1 e P2 com fatores de certeza C1 e C2. Qual é o fator de certeza das combinações P1 and P2 e P1 or P2? – Dados P1 c(P1) e P2 c(P2) c(P1 and P2) = min(c(P1),c(P2)) c(P1 or P2) = max(c(P1),c(P2)) Em regras: se P1 então P2 : C c(P2) = c(P1)*C 6 Dificuldades com inserção de fator de certeza: 1) Eventos sempre independentes? c(A) = 0.5 e c(B) = 0 c(A ou B) = max(c(A),c(B)) = max(0.5,0) = 0.5 Supondo que c(B) passa a ser c(B) = 0.5 c(A ou B) = 0.5 (não é intuitivo supor que os eventos são sempre independentes) 2) Como definir os fatores de certeza? Ad hoc ? Algum modelo matemático ? 7