Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Representação do Conhecimento e Raciocínio
José Júlio Alferes Luís Moniz Pereira
2
O que é? Que dados trata um “agente” inteligente?
Não são só factos ou tuplos Como é que um “agente” sabe aquilo que o rodeia? Quais as regras do jogo? Há que representar esse “conhecimento” E que fazer depois com esse conhecimento? Como tirar conclusões a partir dele? Como raciocinar? Repr. do Conhecimento e Raciocínio IA Algoritmos e estruturas de Dados Computação
3
Para que serve? Matéria de Base em Inteligência Artificial
Planeamento Conhecimento Legal Diagnóstico Baseado em Modelos Sistemas Periciais Semantic Web ( Web de Conhecimento (
4
Do que trata a disciplina?
Abordagens lógicas à repr. do conhecimento Problemática da repr. do conhecimento semântica, expressividade, estruturação, eficácia Formalismos de representação Formas de raciocínio Metodologias Aplicações
5
Que precisam saber antes?
Lógica Computacional Introdução à Inteligência Artificial Programação em Lógica
6
Bibliografia Vai sendo dada à medida que formos avançando na matéria (artigos, surveys) Para a primeira parte da matéria Reasoning with Logic Programming, J. J. Alferes and L. M. Pereira, Springer LNAI, 1996 Nonmonotonic Reasoning, G. Antoniou, MIT Press, 1996.
7
Lógica para KRR A Lógica é uma linguagem concebida para representar conhecimento Foi desenvolvida para representar conhecimento matemático O que é apropriado para conhecimento matemático pode não o ser para conhecimento de senso comum
8
Conhecimento matemático vs senso comum
Conhecimento completo vs incompleto " x : x Î N → x Î R irTrabalho → usar_carro Inferências sólidas vs supletivas Face a conhecimento incompleto Em situações de emergência Em taxonomias Em raciocínio legal ...
9
Monotonicidade da lógica
A lógica clássica é monotónica T |= F → T U T’ |= F Esta é uma propriedade de base, que faz todo o sentido para conhecimento matemático Mas não é desejável em representação do conhecimento!
10
Lógicas não monotónicas
Não obedecem àquela propriedade Default Logic Introduz regras supletivas Autoepistemic Logic Introduz operadores (modais) que falam sobre conhecimento e crenças Programação em Lógica
11
Default logic Proposta por Ray Reiter (1980) irTrabalho → usar_carro
Não admite excepções! Regras supletivas irTrabalho : usar_carro usar_carro
12
Mais exemplos aniversário(X) amigo (X) : dar_prenda(X) dar_prenda(X)
amigo(X,Y) amigo(Y,Z) : amigo(X,Z) amigo(X,Z) acusado(X) : inocente(X) inocente(X)
13
Sintaxe de Default Logic
Uma teoria é um par (W,D), onde: W é um conjunto de fórmulas de 1ª ordem D é um conjunto de regras supletivas da forma: j : Y1, … ,Yn g j (pré-requisitos), Yi (justificações) e g (conclusão) são fórmulas de 1ª ordem
14
Problema da semântica Se j é verdade (onde?) e todos os Yi são consistentes (com o quê?) então g passa a ser verdade (passa? e antes não era?) Conclusões devem: ser conjunto fechado conter W Aplicar regras de D maximamente, sem que fiquem sem suporte
15
Extensões de Default G(S) é o menor conjunto tal que:
W G(S) Th(G(S)) = G(S) A:Bi/C D, A G(S) e Bi S → C G(S) E é extensão de (W,D) sse E = G(E)
16
Definição quase-indutiva
E é extensão sse E = Ui Ei para: E0 = W Ei+1 = Th(Ei) U {C: A:Bj/C D, A Ei, Bj E}
17
Algumas propriedades (W,D) tem uma extensão inconsistente sse W é inconsistente Se existe extensão inconsistente, então é única Se W Just Conc é consistente, então só há uma extensão Se E é extensão de (W,D), então também é extensão de (W E’,D) para qq E’ E
18
Semântica Operacional
O cálculo de uma extensão pode reduzir-se ao encontrar de uma ordem de aplicação de regras (sem repetições). P = (d1,d2,...) e P[k] é o segmento inicial de P com k elementos In(P) = Th(W {cons(d) | d P}) Conclusões depois de aplicadas as regras em P Out(P) = {Y | Y just(d) e d P } Fórmulas que não podem vir a ser verdadeiras, após aplicação de regras em P
19
Semântica operacional (cont)
d é aplicável em P sse pre(d) In(P) e Y In(P) P é um processo sse dk P, dk é aplicável em P[k-1] Um processo P é: sucedido sse In(P) ∩ Out(P) = {}. Caso contrário é falhado. fechado sse d D aplicável em P → d P Teorema: E é extensão sse existe P, sucedido e fechado, tal que In(P) = E
20
Cálculo de extensões (Antoniou pág. 39)
extension(W,D,E) :- process(D,[],W,[],_,E,_). process(D,Pcur,InCur,OutCur,P,In,Out) :- getNewDefault(default(A,B,C),D,Pcur), prove(InCur,[A]), not prove(InCur,[~B]), process(D,[default(A,B,C)|Pcur],[C|InCur],[~B|OutCur],P,In,Out). process(D,P,In,Out,P,In,Out) :- closed(D,P,In), successful(In,Out). closed(D,P,In) :- not (getNewDefault(default(A,B,C),D,P), prove(In,[A]), not prove(In,[~B]) ). successful(In,Out) :- not ( member(B,Out), member(B,In) ). getNewDefault(Def,D,P) :- member(Def,D), not member(Def,P).
21
Teorias normais Toda a regra tem justificações igual a conclusão
Têm sempre extensões Se D cresce, então as extensões crescem (semi-monotonicidade) Não dão para tudo: João é recém-licenciado Normalmente os recém-licenciados são adultos Normalmente os adultos, que não recém-licenciados, têm emprego (não se codifica com regra normal!)
22
Problemas Não garantia de existência de extensões.
Deficiências no raciocínio por casos D = {italiano:vinho/vinho francês:vinho/vinho} W ={italiano v francês} Não garantia de consistência entre justificações. D = {:utilizável(X), partido(X)/utilizável(X)} W ={partido(esq) v partido(dir)} Não cumulatividade D = {:p/p, pvq:p/p} deriva p v q, mas ao juntar p v q deixa de derivar
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.