Inteligência Artificial Escola de Verão 2008 Laboratório Associado

Propaganda
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
Download