Lgica de Predicados Estratgias de Resoluo Defeitos da



![Em Cláusulas n n n [Darcy] [ Darcy, Criança] [ Criança, Macho, Garoto] n Em Cláusulas n n n [Darcy] [ Darcy, Criança] [ Criança, Macho, Garoto] n](https://slidetodoc.com/presentation_image/0ea149cb6808d8df797565d9a6edf015/image-4.jpg)
![Prova gráfica n [Darcy] [ Darcy, Criança] n [Criança] [ Criança, Fêmea, Garota] n Prova gráfica n [Darcy] [ Darcy, Criança] n [Criança] [ Criança, Fêmea, Garota] n](https://slidetodoc.com/presentation_image/0ea149cb6808d8df797565d9a6edf015/image-5.jpg)








![Example [U. Nilsson] gp(X, Y) : - p(X, Z), p(Z, Y). p(X, Y) : Example [U. Nilsson] gp(X, Y) : - p(X, Z), p(Z, Y). p(X, Y) :](https://slidetodoc.com/presentation_image/0ea149cb6808d8df797565d9a6edf015/image-14.jpg)
















- Slides: 30
Lógica de Predicados Estratégias de Resolução
Defeitos da resolução n Apesar de, para lógica de predicados, resolução ser bem melhor que o algoritmo de Gilmore n n Mas ainda podemos melhorá-la! Durante a resolução, em ambas as lógicas, há n passos e cláusulas não usados na prova
Exemplo (proposicional) n n n Darcy Criança ^ Macho Garoto Infantil Criança ^ Fêmea Garota Fêmea n n Isto deriva Garota? ?
Em Cláusulas n n n [Darcy] [ Darcy, Criança] [ Criança, Macho, Garoto] n n n [ Infantil, Criança] [ Criança, Fêmea, Garota] n n n [ (Criança ^ Macho), Garoto] [ (Criança ^ Fêmea), Garota] [Fêmea] [ Garota] (conseqüência lógica)
Prova gráfica n [Darcy] [ Darcy, Criança] n [Criança] [ Criança, Fêmea, Garota] n [ Fêmea, Garota] [Fêmea] n [Garota] n {} [ Garota]
Estratégias mais eficientes n Estratégias de Deleção (ou simplificação) n n Tautologias Subsunções Literais puros Estratégias de refinamento n n Resolução de entrada Resolução de unidade Resolução linear …
Estratégias de Deleção Tautologias n Tirar tautologias do conjunto de cláusulas n n n 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? ?
Estratégias de Deleção Subsunções n C 1 subsume C 2 sse existe O tal que n n n C 1 O Í C 2 O Retirar C 2 não altera a prova Exs: n n n 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)
Estratégias de Deleção Literais puros n n 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]} n n S é puro Cláusulas que o contém podem ser deletadas pois não serão eliminadas na resolução!
Estratégias de refinamento n Resolução de unidade n Procura-se empregar cláusulas unitárias n n n Eficiente mas incompleta, se o conjunto de cláusulas não contiver unitárias o suficiente Resolução de entrada n n Com um só literal Usar pelo menos uma cláusula do conjunto inicial Equivalente à de unidade Completo para cláusulas de Horn Exemplo de falha de ambos n {[ P, S], [P, S], [P, S]}
Cláusulas de Horn n n Do tipo A 1^. . . ^An B, que vira [ A 1, . . . , An, B] Só há um literal positivo: o conseqüente Lê-se: se A 1 e. . . e An então B Bons para estruturar conhecimento e controlar a inferência
Resolução SLD n Resolução Linear com função de Seleção para cláusulas Definidas n n 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
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])
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).
Queries n n A query is an expression of the form: ? - A 1, . . . , An. where n=0, 1, 2, . . . and A 1, . . . , An are atomic formulas. Examples: ? - father(X, bill). ? - parent(X, bill), male(X).
Interpretation Queries n Consider a query ? - A 1, . . . , An. n Declarative (logical) reading: Are there values of the variables such that A 1 and. . . and An? n Procedural (operational) reading: First solve A 1, then A 2 etc
Ground SLD-Resolution ? - A 1, A 2, . . . , An. A 1 : - B 1, . . . , Bm. ? - B 1, . . . , Bm, A 2, . . . , An. where A 1 : - B 1, . . . , Bm is an instantiated program clause.
A Derivation parent(X, Y) : father(X, Y). parent(X, Y) : mother(X, Y). father(adam, bill). mother(anne, bill). ? - parent(adam, bill) ? - father(adam, bill) ? - true
Another Derivation parent(X, Y) : father(X, Y). parent(X, Y) : mother(X, Y). father(adam, bill). mother(anne, bill). ? - parent(anne, bill) ? - mother(anne, bill) ? - true
Full SLD-Resolution ? - A 1, A 2, . . . , An. B 0 : - B 1, . . . , Bm. ? - (B A 1= B 0, m. B, A 1, . . . , B 2, . . . , A n). 1, . . . , B m, A 2, . . . , An. where: • B 0 : - B 1, . . . , Bm is a renamed program clause. • is a solution to the equation A 1 = B 0.
Yet Another Derivation ? - parent(X, bill). ? - father(X, bill). X=X 1, bill=Y 1, father(X 1, Y 1). ? - true. X=adam, bill=bill. parent(X 1, Y 1) father(adam, bill). Answer: : -X=adam father(X 1, Y 1).
And Another One. . . ? - gp(X, Y). X=adam ? - p(X, Z 1), X=X 1, Y=Y 1, p(Z 1, Y). p(X 1, Z 1), p(Z 1, Y 1). Y=carl ? - f(X, Z 1), X=X 2, Z 1=Y 2, p(Z 1, Y). f(X 2, Y 2), p(Z 1, Y). ? - X=adam, Z 1=bill, p(Z 1, Y). p(bill, Y). ? - f(bill, Y). bill=X 3, Y=Y 3, f(X 3, Y 3). ? - true. bill=bill, Y=carl. gp(X 1, Y 1) p(X 2, Y 2) p(X 3, Y 3) f(adam, bill). : f(bill, carl). p(X 1, Z 1), p(Z 1, Y 1). : - f(X 3, Y 3). f(X 2, Y 2).
And a Failed One. . . ? - gp(X, Y). X=bill ? - p(X, Z 1), X=X 1, Y=Y 1, p(Z 1, Y). p(X 1, Z 1), p(Z 1, Y 1). ? - f(X, Z 1), X=X 2, Z 1=Y 2, p(Z 1, Y). f(X 2, Y 2), p(Z 1, Y). ? - X=bill, Z 1=carl, p(Z 1, Y). p(carl, Y). ? - f(carl, Y). carl=X 3, Y=Y 3, f(X 3, Y 3). ? - fail. gp(X 1, Y 1) p(X 2, Y 2) p(X 3, Y 3) FAILURE!!! : f(bill, carl). p(X 1, Z 1), p(Z 1, Y 1). : - f(X 3, Y 3). f(X 2, Y 2).
SLD-Tree ? - gp(X, Y). ? - p(X, Z), p(Z, Y). X=adam ? - f(X, Z), p(Z, Y). ? - p(bill, Y). X=anne ? - m(X, Z), p(Z, Y). ? - p(carl, Y). ? - p(bill, Y). ? - f(carl, Y). ? - m(carl, Y). ? - f(bill, Y). ? - m(bill, Y). ? - true. Y=carl ? - fail. true. ? -? -fail. Y=carl ? - m(bill, Y). ? - fail.
Logic Programming • SLD-resolution: Ø Ø Soundness: if n… 2 1 is a computed answer, then P |= n… 2 1 G 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)
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)
Logic Programming Infinite SLD-tree: p(X, b) q(X, b) {X/b} q(b, X) succes s q(X, b)
Logic Programming • PROLOG (Alain Colmerauer 1972): Ø Unsafe cut incomplete Example: A B, C B D, !, E D A B, C D, !, E, C Ø Negation as failure: P if fails to prove P
Muito obg! n n Gostei de trabalhar com vcs!! Desculpem as escorregadas! Estudem e boas provas! E depois. . .
BOAS FÉRIAS!






























