representação do conhecimento e raciocínio
DESCRIPTION
Representação do Conhecimento e Raciocínio. José Júlio Alves Alferes. 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” - PowerPoint PPT PresentationTRANSCRIPT
Representação do Conhecimento e Raciocínio
José Júlio Alves Alferes
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
Para que serve?
• Matéria de Base em Inteligência Artificial– Planeamento– Conhecimento Legal– Diagnóstico
• Sistemas Periciais• Semantic Web (http://www.w3.org)
– Web de Conhecimento
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
Que precisam saber antes?
• Lógica Computacional
• Introdução à Inteligência Artificial
• Programação em Lógica
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.
Lógica para KRR
• Linguagem concebida para representar conhecimento
• Desenvolvida para representar conhecimento matemático
• O que é apropriado para conhecimento matemático pode não o ser para conhecimento de senso comum
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
– ...
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!
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
Default logic
• Proposta por Ray Reiter (1980)
irTrabalho → usar_carro
• Não admite excepções!
• Regras supletivas
irTrabalho : usar_carro
usar_carro
Mais exemplos
aniversário(X) amigo (X) : da_prenda(X)
da_prenda(X)
amigo(X,Y) amigo(Y,Z) : amigo(X,Z)
amigo(X,Z)
acusado(X) : inocente(X)
inocente(X)
Sintaxe de Default Logic
• Uma teoria é um par (W,D), onde:– W é um conjunto de fórmulas de 1a ordem– D é um conjunto de regras supletivas da forma:
: 1, … ,n
– (pré-requisitos), i (justificações) e
(conclusão) são fórmulas de 1a ordem
Problema da semântica
• Se é verdade (onde?) e todos os i são consistentes (com o quê?) então 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
Extensões de Default
• (S) é o menor conjunto tal que:– W (S)– Th((S)) = (S)– A:Bi/C D, A (S) e Bi S → C (S)
• E é extensão de (W,D) sse E = (E)
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}
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
Semântica Operacional
• O cálculo duma extensão pode reduzir-se ao encontrar duma ordem de aplicação de regras (sem repetições).
• = (1,2,...) e [k] é o segmento inicial de com k elementos
• In() = Th(W {cons() | })– Conclusões depois de aplicadas as regras em
• Out() = { | just() e }– Fórmulas que não podem vir a ser verdadeiras, após
aplicação de regras em
Semântica operacional (cont)
• é aplicável em sse pre() In() e In() • é um processo sse k , k é aplicável em
[k-1]• Um processo é:
– sucedido sse In() ∩ Out() = {}.• Caso contrário é falhado.
– fechado sse D aplicável em → • Teorema: E é extensão sse existe , sucedido e
fechado, tal que In() = E
Cálculo de extensõesextension(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).
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!)
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),partido(dir)}
• Não cumulatividade– D = {:p/p, pvq:p/p}– deriva p v q, mas ao juntar p v q deixa de derivar