Inteligência Artificial Escola de Verão 2008 Laboratório Associado de Computação e Matemática Aplicada – LAC www.lac.inpe.br/~demisio/ia_lac.html Sistemas Especialistas e Representação do Conhecimento Sistema Especialista -programa que comporta-se como um “expert” em algum domínio restrito de aplicação. -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) 1 Sistemas Especialistas e Representação do Conhecimento Sistema Especialista -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. -Deve ser capaz de tratar incertezas e informações não completas. Sistemas Especialistas e Representação do Conhecimento Sistema Especialista -Informações sobre o problema podem estar incompletas ou não confiáveis -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. 2 Sistemas Especialistas e Representação do Conhecimento Sistema Especialista Exemplos: •Diagnóstico médico •Localização de defeitos em certos equipamentos •Interpretação de dados medidos •Etc. Funções necessárias para desenvolvimento de sistemas especialistas: Função de resolução do problema – exige conhecimento específico do domínio (pode requerer tratamento de incertezas). 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. Implementação das funções pode ser complicada. 3 Estrutura de um sistema especialista Base de conhecimento Máquina de inferência Interface com o usuário SHELL Usuário 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). 4 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 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? 5 •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 then there is suggestive evidence (0.7) that the identity of the organism is bacteroides. Exemplo do MYCIN. 0.7 indica o grau de confiança na regra. 6 Exemplo: Problema de diagnóstico para descobrir um vazamento em um apartamento. -O vazamento pode aparecer no banheiro ou na cozinha -O vazamento mancha a parede no corredor. -O vazamento só acontece em um ambiente ou no outro (cozinha ou banheiro). janela cozinha banheiro corredor 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 problema na cozinha Banheiro seco vazamento na cozinha Janela fechada não entrou água de fora Não chove 7 Exemplo: Problema de diagnóstico para descobrir um vazamento em um apartamento. Procedimento de raciocínio: Encadeamento para trás (backward chaining) 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. Procedimento de raciocínio: Encadeamento para trás Hipótese: vazamento na cozinha Para confirmar é necessário confirmar: 1 problema na cozinha 2 não entrou água de fora 1 é confirmado se confirmar corredor úmido e banheiro úmido 2 é confirmado se confirmar (por exemplo) janela fechada (exemplo – expsit1.pro) 8 Exemplo: Problema de diagnóstico para descobrir um vazamento em um apartamento. Procedimento de raciocínio: Encadeamento para frente Inicia com fatos confirmados. Confirmados os fatos 1 problema na cozinha 2 não entrou água de fora Então conclui-se que o vazamento na cozinha (exemplo – expsit2.pro) Encadeamento para frente ou para trás? •Encadeamento para frente é mais natural •Dica: •Se o número de premissas for pequeno, comparado com o número de conclusões Æ encadeamento para frente •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. 9 Encadeamento para frente ou para trás? No exemplo do diagnóstico de vazamentos. Cozinha_seca 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 Há diferentes formas de gerar explicações em sistemas baseados em regras. Explicações mais comuns: Como? e Por quê? Como: (Como você encontrou esta resposta?) Explicação típica •Mostrar os caminhos seguidos 10 Geração de Explicação Exemplo: Conclusão - Vazamento na cozinha. Explicação: (1) Há um problema na cozinha, que foi concluído a partir do fato do corredor úmido e do banheiro seco, e (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. Árvore de prova de uma proposição (1) Se P é um fato então a árvore de prova é P. (2) Se P foi gerado usando a regra Se Condicao então P então a árvore de prova é P <= ProvaCondicao onde ProvaCondicao é árvore de prova de Condicao. 11 Árvore de prova de uma proposição (3) Sejam P1 e P2 proposições cujas árvores de provas são Prova1 e Prova2. Se P é P1 e P2 Æa árvore de prova é Prova1 e Prova2. Se P é P1 ou P2 Æ a árvore de prova é Prova1 ou Prova2. Introdução de Incerteza •Domínios categóricos: respostas são verdadeiras ou falsas Æ os dados e regras são categóricos •Entretanto, o comportamento típico de especialistas é baseado em “chutes” que podem (ou não) ser verdade. 12 Introdução de Incerteza •A incerteza pode ser modelada através de qualificação usando descritores como: verdade, muito provável, provável, improvável, impossível. •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 Exemplo: Incerteza Proposicao : Fator_de_certeza Uso em regras: Se Condicao então Conclusao : Fator_de_certeza 13 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 Assume-se que apenas uma regra dispara para um conjunto de premissas. 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. 14 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) Dificuldades com inserção de fator de certeza: 2) Como definir os fatores de certeza? Ad hoc ? Algum modelo matemático ? 15