Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

22
Representação do Conhecimento e Raciocínio José Júlio Alves Alferes

Transcript of Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

Page 1: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

Representação do Conhecimento e Raciocínio

José Júlio Alves Alferes

Page 2: 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

Page 3: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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

Page 4: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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

Page 5: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

Que precisam saber antes?

• Lógica Computacional

• Introdução à Inteligência Artificial

• Programação em Lógica

Page 6: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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.

Page 7: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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

Page 8: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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

– ...

Page 9: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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!

Page 10: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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

Page 11: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

Default logic

• Proposta por Ray Reiter (1980)

irTrabalho → usar_carro

• Não admite excepções!

• Regras supletivas

irTrabalho : usar_carro

usar_carro

Page 12: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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)

Page 13: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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

Page 14: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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

Page 15: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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)

Page 16: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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}

Page 17: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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

Page 18: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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

Page 19: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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

Page 20: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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).

Page 21: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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!)

Page 22: Representação do Conhecimento e Raciocínio José Júlio Alves Alferes.

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