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
Download

Slides aula 6