1 / 30

Lógica de Predicados

Lógica de Predicados. Estratégias de Resolução. Defeitos da resolução. Apesar de, para lógica de predicados, resolução ser bem melhor que o algoritmo de Gilmore Mas ainda podemos melhorá-la! Durante a resolução, em ambas as lógicas, há passos e cláusulas não usados na prova.

Download Presentation

Lógica de Predicados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lógica de Predicados Estratégias de Resolução

  2. Defeitos da resolução • Apesar de, para lógica de predicados, resolução ser bem melhor que o algoritmo de Gilmore • Mas ainda podemos melhorá-la! • Durante a resolução, em ambas as lógicas, há • passos e cláusulas não usados na prova

  3. Exemplo (proposicional) • Darcy • Darcy  Criança • Criança ^ Macho  Garoto • Infantil  Criança • Criança ^ Fêmea  Garota • Fêmea • Isto deriva • Garota????

  4. Em Cláusulas • [Darcy] • [Darcy,Criança] • [Criança,Macho,Garoto] • [(Criança ^ Macho), Garoto] • [Infantil,Criança] • [Criança,Fêmea,Garota] • [(Criança ^ Fêmea),Garota] • [Fêmea] • [Garota] (conseqüência lógica)

  5. Prova gráfica • [Darcy] [Darcy,Criança] • [Criança] [Criança,Fêmea,Garota] • [Fêmea,Garota] [Fêmea] • [Garota] [Garota] • {}

  6. Estratégias mais eficientes • Estratégias de Deleção (ou simplificação) • Tautologias • Subsunções • Literais puros • Estratégias de refinamento • Resolução de entrada • Resolução de unidade • Resolução linear • …

  7. Estratégias de Deleção -Tautologias • Tirar tautologias do conjunto de cláusulas • ANTES da unificação • Sua ausência não afeta a prova • Ex: {[P(a), P(a)], [P(a), Q(x), Q(y)]} • Depois da unificação • Ex: {[P(a), P(x)], [P(a)],[P(b)]} • Se retirarmos [P(a), P(x)], já que são complementares se unificados????

  8. Estratégias de Deleção - Subsunções • C1 subsume C2 sse existe O tal que • C1O ÍC2O • Retirar C2 não altera a prova • Exs: • P(x) subsume P(y) v Q(z) • P(x) subsume P(a) • P(y) v Q(a) subsume P(f(a)) v Q(a) v R(y)

  9. Estratégias de Deleção -Literais puros • Um literal é puro sse se seu complemento (unificável ou não) não existir nas cláusulas • Ex: {[R, P, Q], [P, S], [Q, S], [P], [Q], [R]} • S é puro • Cláusulas que o contém podem ser deletadas pois não serão eliminadas na resolução!

  10. Estratégias de refinamento • Resolução de unidade • Procura-se empregar cláusulas unitárias • Com um só literal • Eficiente mas incompleta, se o conjunto de cláusulas não contiver unitárias o suficiente • Resolução de entrada • Usar pelo menos uma cláusula do conjunto inicial • Equivalente à de unidade • Completo para cláusulas de Horn • Exemplo de falha de ambos • {[P, S], [P, S], [P, S], [P, S]}

  11. Cláusulas de Horn • Do tipo A1^...^An  B, que vira • [A1,...,An, B] • Só há um literal positivo: o conseqüente • Lê-se: se A1 e ... e An então B • Bons para estruturar conhecimento e controlar a inferência

  12. Resolução SLD • Resolução Linear com função de Seleção para cláusulas Definidas • Generalização de resolução de entrada • Sempre usam-se cláusulas do conjunto de entrada ou suas filhas em 1º. grau • Boa para cláusulas de Horn • Busca-se tentar provar diretamente a conseqüência lógica

  13. O exemplo da garota Garota Criança Fêmea Darcy No conjunto inicial tínhamos Criança ^ Fêmea  Garota ([Criança,Fêmea,Garota])

  14. Example [U. Nilsson] gp(X,Y) :- p(X,Z), p(Z,Y). p(X,Y) :- f(X,Y). p(X,Y) :- m(X,Y). f(adam,bill). f(bill,carl). m(anne,bill).

  15. Queries • A query is an expression of the form: ?- A1, ..., An. where n=0,1,2,... and A1, ..., An are atomic formulas. • Examples: ?- father(X, bill). ?- parent(X, bill), male(X).

  16. Interpretation Queries • Consider a query ?- A1, ... , An. • Declarative (logical) reading: Are there values of the variables such that A1 and...and An? • Procedural (operational) reading: First solve A1, then A2 etc

  17. ?- B1,...,Bm,A2,...,An. Ground SLD-Resolution ?- A1,A2,...,An. A1 :- B1,...,Bm. where A1 :- B1,...,Bm is an instantiated program clause.

  18. ?- father(adam,bill) ?- true A Derivation parent(X,Y) :- father(X,Y). parent(X,Y) :- mother(X,Y). father(adam,bill). mother(anne,bill). parent(X,Y) :- father(X,Y). parent(X,Y) :- mother(X,Y). father(adam,bill). mother(anne,bill). parent(X,Y) :- father(X,Y). parent(X,Y) :- mother(X,Y). father(adam,bill). mother(anne,bill). ?- parent(adam,bill)

  19. ?- mother(anne,bill) ?- true Another Derivation parent(X,Y) :- father(X,Y). parent(X,Y) :- mother(X,Y). father(adam,bill). mother(anne,bill). parent(X,Y) :- father(X,Y). parent(X,Y) :- mother(X,Y). father(adam,bill). mother(anne,bill). parent(X,Y) :- father(X,Y). parent(X,Y) :- mother(X,Y). father(adam,bill). mother(anne,bill). ?- parent(anne,bill)

  20. B0 :- B1,...,Bm. ?- A1= B0, B1,...,Bm,A2,...,An. ?- (B1,...,Bm,A2,...,An)q. where: • B0 :- B1,...,Bm is a renamed program clause. • q is a solution to the equation A1 = B0. Full SLD-Resolution ?- A1,A2,...,An.

  21. ?- X=X1, bill=Y1, father(X1,Y1). ?- father(X,bill). ?- X=adam, bill=bill. ?- true. Answer: X=adam Yet Another Derivation ?- parent(X,bill). parent(X1,Y1) :- father(X1,Y1). father(adam,bill).

  22. X=adam ?- p(bill,Y). ?- f(X,Z1), p(Z1,Y). ?- X=X2, Z1=Y2, f(X2,Y2), p(Z1,Y). ?- bill=X3, Y=Y3, f(X3,Y3). ?- true. ?- X=X1, Y=Y1, p(X1,Z1), p(Z1,Y1). ?- f(bill,Y). ?- bill=bill, Y=carl. ?- X=adam,Z1=bill, p(Z1,Y). ?- p(X,Z1), p(Z1,Y). Y=carl And Another One... ?- gp(X,Y). f(bill,carl). p(X3,Y3) :- f(X3,Y3). p(X2,Y2) :- f(X2,Y2). gp(X1,Y1) :- p(X1,Z1),p(Z1,Y1). f(adam,bill).

  23. X=bill ?- p(carl,Y). ?- fail. ?- f(X,Z1), p(Z1,Y). ?- X=X2, Z1=Y2, f(X2,Y2), p(Z1,Y). ?- X=bill,Z1=carl, p(Z1,Y). ?- p(X,Z1), p(Z1,Y). ?- X=X1, Y=Y1, p(X1,Z1), p(Z1,Y1). ?- f(carl,Y). ?- carl=X3, Y=Y3, f(X3,Y3). And a Failed One... ?- gp(X,Y). p(X3,Y3) :- f(X3,Y3). f(bill,carl). p(X2,Y2) :- f(X2,Y2). gp(X1,Y1) :- p(X1,Z1),p(Z1,Y1). FAILURE!!!

  24. ?- p(X,Z),p(Z,Y). X=anne X=adam ?- f(X,Z),p(Z,Y). ?- m(X,Z),p(Z,Y). ?- p(bill,Y). ?- p(bill,Y). ?- p(carl,Y). ?- f(carl,Y). ?- m(carl,Y). ?- f(bill,Y). ?- m(bill,Y). ?- f(bill,Y). ?- m(bill,Y). ?- fail. ?- fail. ?- true. Y=carl ?- fail. ?- true. Y=carl ?- fail. SLD-Tree ?- gp(X,Y).

  25. Logic Programming • SLD-resolution: • Soundness: if n… 21 is a computed answer, then P |=n… 21G • Completeness: if P |=G, then there exists a computed answer s such that  = s for some  Example: p(X,Z)  q(X,Y), p(Y,Z) p(X,X) q(a,b)

  26. Logic Programming • PROLOG (Alain Colmerauer 1972): • Only Horn sentences are acceptable • The occur-check is omitted from the unification  unsound Example: test  p(X,X) p(X,f(X)) • Backward chaining with depth-first search  incomplete Example: p(X,Y)  q(X,Y) p(X,X) q(X,Y)  q(Y,X)

  27. Logic Programming Infinite SLD-tree:  p(X,b)  q(X,b) {X/b} success  q(b,X)  q(X,b)

  28. Logic Programming • PROLOG (Alain Colmerauer 1972): • Unsafe cut  incomplete Example: A  B, C  A B  D, !, E D   B, C  D, !, E, C  !, E, C • Negation as failure:  P if fails to prove P

  29. Muito obg! • Gostei de trabalhar com vcs!! • Desculpem as escorregadas! • Estudem e boas provas! • E depois...

  30. BOAS FÉRIAS!

More Related