View
114
Download
0
Category
Preview:
Citation preview
ReasoningForward and Backward Chaining
Fábio de Azevedo Soares
fazevedo@ele.puc-rio.br
© LES/PUC-Rio
Sumário
• Introdução a Reasoning.
• Sistemas Baseados em Conhecimento.
• Forward Chaining– Apresentação
– Exemplos
• Backward Chaining– Apresentação
– Exemplos
• JTP API
• Conclusões
© LES/PUC-Rio
Reasoning
• Em Português: argumentar, justificar, raciocinar.
• Reasoning é usar a razão para chegar à conclusão.
• É um campo multidisciplinar:– Filosofia (Qualificação);
– Psicologia (Cognição);
– Matemática (Lógica);
© LES/PUC-Rio
Qual o interesse em Reasoning?
• Construção de Agentes Inteligentes.
– “A arte de criar máquinas que executam funções que exigem inteligência quando executadas por pessoas.”
– Raciocínio automatizado para usar informações armazenadas com a finalidade de responder a perguntas e chegar a novas conclusões (conhecimento):
• Sistemas Baseados em Conhecimento (Em 1969, software DENDRAL – análise estrutura molecular – primeiro sistema bem sucedido de conhecimento).
Sistemas Baseados em Conhecimento (SBC)
• Definição: são programas de computador que usam o conhecimento representado explicitamente para resolver problemas.
• Baseados no seguinte pensamento:
– Quando o ser humano é mais bem sucedido do que as máquinas para resolver um problema, então, as máquinas precisam saber o que o ser humano sabe sobre o assunto.
• Utilizados há mais de 20 anos.
• Possuem como principal característica a utilização de uma Base de Conhecimento.
© LES/PUC-Rio
SBC :: Arquitetura Básica
© LES/PUC-Rio
Motor de Inferência
BC
Usuário
UI/GUICore
Respostas
Perguntas
<- Percepção
Ação ->
AmbienteAgente
SBC :: Agentes Inteligentes
© LES/PUC-Rio
?
Am
bie
nte
Agente
Sensores
Atuadores
Percepções
Ações
• Um agente é tudo o que pode ser considerado capaz de perceber seu ambiente por meio de sensores e de agir sobre esse ambiente por intermédio de atuadores.
SBC :: Base de Conhecimento
• Contém a descrição do conhecimento necessário para a resolução do problema abordado na aplicação.
• É composta por um conjunto de representações de ações:
– Cada representação individual é chamada de sentença;
– As sentenças são expressas em uma linguagem específica, chamada linguagem de Representação de Conhecimento.
– A maioria das sentenças descreve relações de causa e efeito (SE condição, ENTÃO conclusão):
• SE temperatura está acima de 37.5°C, ENTÃO o paciente tem febre;
• SE A e B, ENTÃO C.
• Podem ser compostas por milhares de regras.
© LES/PUC-Rio
SBC :: Base de Conhecimento
• Diferente de uma codificação qualquer, a representação do conhecimento deve ser compreensível ao homem.
• Ser robusta o suficiente para que todas as situações possível de determinado problema sejam abordadas.
• Geralmente, tem seu conhecimento expresso sob representação lógica:
– PROLOG é a linguagem mais utilizada.
© LES/PUC-Rio
SBC e Reasoning
• SBCs são dotados de duas características principais:
– Conhecimento, processável pelo homem;
– Capacidade de resolver problemas;
• O processo utilizado para a resolução de problemas é baseado na capacidade de raciocínio destes sistemas.
• Esta capacidade de raciocínio aliada a base de conhecimento determina o quão boa será a estratégia de inferência destes sistemas.
© LES/PUC-Rio
SBC :: Arquitetura Básica
© LES/PUC-Rio
Motor de Inferência
BC
Usuário
UI/GUICore
Respostas
Perguntas
REASONING
SBC :: Motor de Inferência
• É responsável pelo desenvolvimento do raciocínio baseado nas informações obtidas do mundo externo e no conhecimento representado na BC.
• Inferir é derivar novas sentenças a partir de sentenças antigas.
• Existem algumas estratégias (linhas de raciocínio, reasoning) que podem ser seguidas pelos SBCs (motor de inferência):
– Encadeamento progressivo ou forward chaining;
– Encadeamento regressivo ou backward chaining.
© LES/PUC-Rio
Reasoning :: Forward Chaining
• Tenta chegar a uma conclusão a partir das informações fornecidas sobre a situação atual (BC + fatos):
– “o quê se pode concluir com os dados que tenho?”.
• Data oriented reasoning;
• Mesmo que não exista, explicitamente, na Base de Conhecimento o que se deseja concluir, o mecanismo de inferência procura pelos antecedentes que satisfaçam a situação atual para, então, tentar inferir outros antecedentes e conclusões.
• Em geral, cada solução (gerada) é inserida na Base de Conhecimento.
© LES/PUC-Rio
Reasoning :: Forward Chaining
• Exemplo (01)
– Objetivo desejado: qual a cor do Bob?
– Fatos:
• Bob come moscas;
• Bob grasna.
– Base de Conhecimento1. SE X grasna e come moscas, ENTÃO X é um sapo.
2. SE X gorjeia E canta – ENTÃO X é um canário.
3. SE X é um sapo, ENTÃO X é verde.
4. SE X é um canário, ENTÃO X é amarelo.
– Regras inferidas:
• R1, R3
© LES/PUC-Rio
Reasoning :: Forward Chaining
– Base de Conhecimento1. SE X grasna e come moscas, ENTÃO X é um sapo.
2. SE X gorjeia E canta – ENTÃO X é um canário.
3. SE X é um sapo, ENTÃO X é verde.
4. SE X é um canário, ENTÃO X é amarelo.
– Regras inferidas:
• R1, R3
• A BC é procurada e a R1 é selecionada, pois, seu antecedente combina com os fatos.
– Conseqüente “X é um sapo” é adicionado aos fatos.
– A BC é, novamente, procurada e a R3 é selecionada, pois, seus antecedente (SE X é um sapo) combina com os fatos.
– Conseqüente “X é verde”é adicionado aos fatos.
© LES/PUC-Rio
Reasoning :: Forward Chaining
• As regras inferidas também podem ser visualizadas por meio de um grafo orientado.
© LES/PUC-Rio
grasna
come mosca
Sapo Verde
R1: SE X grasna e come moscas, ENTÃO X é um sapo.
R3: SE X é um sapo, ENTÃO X é verde.
Reasoning :: Forward Chaining
• Exemplo (02)
– Objetivo desejado: Q.
– Fatos:
• A;
• B.
– Base de Conhecimento
1. SE P, ENTÃO Q.
2. SE L e M, ENTÃO P.
3. SE B e L, ENTÃO M.
4. SE A e P, ENTÃO L.
5. SE A e B, ENTÃO L.
© LES/PUC-Rio
Reasoning :: Forward Chaining
– Base de Conhecimento
1. SE P, ENTÃO Q.
2. SE L e M, ENTÃO P.
3. SE B e L, ENTÃO M.
4. SE A e P, ENTÃO L.
5. SE A e B, ENTÃO L.
– Fatos:
• A;
• B;
• L (R5).
© LES/PUC-Rio
Reasoning :: Forward Chaining
© LES/PUC-Rio
– Base de Conhecimento
1. SE P, ENTÃO Q.
2. SE L e M, ENTÃO P.
3. SE B e L, ENTÃO M.
4. SE A e P, ENTÃO L.
5. SE A e B, ENTÃO L.
– Fatos:
• A;
• B;
• L;
• M (R3).
Reasoning :: Forward Chaining
© LES/PUC-Rio
– Base de Conhecimento
1. SE P, ENTÃO Q.
2. SE L e M, ENTÃO P.
3. SE B e L, ENTÃO M.
4. SE A e P, ENTÃO L.
5. SE A e B, ENTÃO L.
– Fatos:
• A;
• B;
• L;
• M;
• P (R2);
Reasoning :: Forward Chaining
© LES/PUC-Rio
– Base de Conhecimento
1. SE P, ENTÃO Q.
2. SE L e M, ENTÃO P.
3. SE B e L, ENTÃO M.
4. SE A e P, ENTÃO L.
5. SE A e B, ENTÃO L.
– Fatos:
• A;
• B;
• L;
• M;
• P;
• Q (R1).
Reasoning :: Backward Chaining
• Parte da suposição de que cada solução é verdadeira. A partir disto, busca evidências que comprovem ser correta a solução considerada inicialmente:
– “posso concluir esta solução com os dados que tenho?”.
• Goal-driven reasoning.
• Mesmo que não exista, explicitamente, na Base de Conhecimento o que se deseja concluir, o mecanismo de inferência procura pelos consequentes que satisfaçam a situação atual para, então, tentar inferir outros antecedentes e conclusões.
© LES/PUC-Rio
Reasoning :: Backward Chaining
• Exemplo
– Objetivo desejado: Bob pode ser verde?
– Fatos:
• Bob come moscas;
• Bob grasna.
– Base de Conhecimento1. SE X grasna e come moscas, ENTÃO X é um sapo.
2. SE X gorjeia E canta – ENTÃO X é um canário.
3. SE X é um sapo, ENTÃO X é verde.
4. SE X é um canário, ENTÃO X é amarelo.
– Regras inferidas:
• R3, R4, R1, R2
© LES/PUC-Rio
Reasoning :: Backward Chaining
© LES/PUC-Rio
– Base de Conhecimento1. SE X grasna e come moscas, ENTÃO X é um sapo.
2. SE X gorjeia E canta – ENTÃO X é um canário.
3. SE X é um sapo, ENTÃO X é verde.
4. SE X é um canário, ENTÃO X é amarelo.
– Regras inferidas:
• R3, R4, R1, R2
• Bob é verde se ele for um sapo, ou, amarelo se ele for um canário.
– Como Bob grasna e como moscas, ele é um sapo, logo, não é um canário.
Reasoning :: Backward Chaining
• Exemplo (02)
– Objetivo desejado: Q.
– Fatos:
• A;
• B.
– Base de Conhecimento
1. SE P, ENTÃO Q.
2. SE L e M, ENTÃO P.
3. SE B e L, ENTÃO M.
4. SE A e P, ENTÃO L.
5. SE A e B, ENTÃO L.
© LES/PUC-Rio
Reasoning :: Backward Chaining
– Base de Conhecimento
1. SE P, ENTÃO Q.
2. SE L e M, ENTÃO P.
3. SE B e L, ENTÃO M.
4. SE A e P, ENTÃO L.
5. SE A e B, ENTÃO L.
– Fatos:
• Q;
• P (R1).
© LES/PUC-Rio
Reasoning :: Backward Chaining
– Base de Conhecimento
1. SE P, ENTÃO Q.
2. SE L e M, ENTÃO P.
3. SE B e L, ENTÃO M.
4. SE A e P, ENTÃO L.
5. SE A e B, ENTÃO L.
– Fatos:
• Q;
• P;
• L e M (R2).
© LES/PUC-Rio
Reasoning :: Backward Chaining
– Base de Conhecimento
1. SE P, ENTÃO Q.
2. SE L e M, ENTÃO P.
3. SE B e L, ENTÃO M.
4. SE A e P, ENTÃO L.
5. SE A e B, ENTÃO L.
– Fatos:
• Q;
• P;
• L;
• M;
• A e P (R4).
© LES/PUC-Rio
Reasoning :: Backward Chaining
– Base de Conhecimento
1. SE P, ENTÃO Q.
2. SE L e M, ENTÃO P.
3. SE B e L, ENTÃO M.
4. SE A e P, ENTÃO L.
5. SE A e B, ENTÃO L.
– Fatos:
• Q;
• P;
• L;
• M;
• A;
• P;
• A e B (R5);
© LES/PUC-Rio
Reasoning :: Backward Chaining
– Base de Conhecimento
1. SE P, ENTÃO Q.
2. SE L e M, ENTÃO P.
3. SE B e L, ENTÃO M.
4. SE A e P, ENTÃO L.
5. SE A e B, ENTÃO L.
– Fatos:
• Q;
• P;
• L;
• M;
• A;
• P;
• B;
• R3; R2; R1.
© LES/PUC-Rio
Reasoning :: FC x BC
Forward Chaining Backward Chaining
Presente-Futuro Presente-Passado
Data-driven Goal-driven
Busca em largura Busca em profundidade
Antecedentes determinam a busca
Conseqüentes determinam a busca
Planejamento, Monitoramento, Controle
Diagnóstico
Determinam soluções que derivam dos fatos
Determinam fatos que comprovam as soluções
© LES/PUC-Rio
SBC :: Outras Arquiteturas
© LES/PUC-Rio
Motor de Inferência
BC
Usuário
UI/GUICore
Respostas
Perguntas
REASONING
Memória de
Trabalho
SBC :: Conhecimento Incremental
© LES/PUC-Rio
Conhecimento à priori
• SBCs podem ser dotados de um processo de aprendizagem autônomo que alimente a BC incrementalmente.
SBC :: Aplicações
• SBCs são aplicados nos mais variados ramos. Entretanto, as heurísticas utilizadas podem ser classificadas da seguinte forma:
– Interpretação: análise de dados para determinação do seu significado;
– Classificação: identificação de uma classe dado um conjunto de sintomas/observações;
– Monitoramento: observação contínua do comportamento de um sistema a fim de realizar ações quando alguma falha ocorre;
– Planejamento: determinação de uma seqüência de ações que devem ser realizadas para alcançar algum objetivo.
© LES/PUC-Rio
© LES/PUC-Rio
JTP: Reasoning System OO API
• Desenvolvida pelo Knowledge Systems Laboratory of Computer Science Department in Stanford University.
• Em linguagem Java.
• JTP utiliza uma arquitetura muito simples e genérica de reasoning.
• Implementa backward chaining e forward chaining.
• Reasoner é o principal componente desta arquitetura.
Bibliografia
• ALVARES, L. O. Motor de Inferência para Sistemas Especialistas baseados em Regras de Produção. Informática, UFRGS.
• API JTP Web site. Disponível em http://www-ksl.stanford.edu/software/jtp/, Atualizado em 22/01/2008. Acesso em 18/08/2008.
• DIVERIO, T.; MENEZES, P. Teoria da Computação: máquinas universais e computabilidade. 2.ed. Porto Alegre: Sagra-Luzzatto, 2000.
© LES/PUC-Rio
Bibliografia
• PY, M. X. Sistemas Especialistas: uma introdução. Instituto de Informática, UFRGS.
• RUSSEL, S.; NORVIG, P. Inteligência Artificial. 2. ed. Rio de Janeiro: Elsevier, 2004.
© LES/PUC-Rio
Fim.
Recommended