1 / 32

Lógica de Predicados

Lógica de Predicados. Resolução. Cláusulas e literais complementares. Cláusula em lógica de predicados é uma disjunção de literais Usando a notação de conjuntos: C1={p(x),  q(f(w)),a}, C2={y, q(k,z) }, C3={z}

uyen
Télécharger la présentation

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 Resolução

  2. Cláusulas e literais complementares • Cláusula em lógica de predicados é uma disjunção de literais • Usando a notação de conjuntos: • C1={p(x),q(f(w)),a}, C2={y,q(k,z)}, C3={z} • Dois literais são complementares em lógica de predicados quando, UNIFICADOS, um é a negação do outro

  3. Resolvente em L. Proposicional • Supondo 2 cláusulas C1={A1,..., An} e C2={B1, ..., Bn}, com literais complementares • A, um conjunto de literais em C1, tal que • -A, um conjunto de literais complementares a A, estão em C2 • Resolvente de C1 e C2: • Res(C1,C2)=(C1-A)U(C2- -A) • Res(C1,C2) pode ser {} • Resolvente vazio ou trivial

  4. Em Lógica de 1ª. Ordem • Resolução não é uma simples extensão da Resolução da Lógica Proposicional • O processo é mais longo e cuidadoso: • Transformar a(s) fórmula(s) para a forma normal Prenex • Skolemizá-la(s) • Transformá-las para CNF • Transformá-las para a forma clausal • Unificá-las durante a resolução • Por outro lado, ao usar a unificação, a resolução torna-se bem mais rápida do que os métodos de Gilmore e Davis-Putnam!

  5. Resolvente em LPO • Supondo • 2 cláusulas C1={A1,..., An} e C2={B1, ..., Bn} • Ai e Bj unificáveis • O, o unificador mais geral de Ai e Bj • AiO=BjO ou vice-versa • Resolvente de C1 e C2: • Res(C1,C2)=(C1O-AiO)U(C2O-BjO) • Res(C1,C2) pode ser {} • Resolvente vazio ou trivial

  6. Do ponto de vista lógico • C1O é uma instância de C1 e C2O de C2 • C1O e C2O são conseqüências lógicas de C1UC2 • Por outro lado, AiO e BjO não poderão ser satisfeitos simultaneamente • então não estamos perdendo nada se os retirarmos, pois C1O e C2O teriam de ser satisfeitas simultaneamente • Também o Res(C1,C2) é conseqüência lógica de C1UC2

  7. Exemplo de resolvente • C1=[p(f(x),y,x),q(a,y,w1)] • C2=[p(z,g(z),w)] • C3=[q(x,g(f(a)),c)] e • C4=[q(a,g(f(w)),w1)] • Os átomos p(f(x),y,x) e p(z,g(z),w) de C1 e C2 são unificáveis e complementares quando unificados • O1={zf(w),yg(f(w)),xw} • Res(C1,C2) = (C1O1- p(f(x),y,x)O1) U (C2O2- p(z,g(z),w)O1) • Res(C1,C2) = {q(a,g(f(w)),w1)} que é uma nova cláusula • Res(C3,C4) = ???

  8. Exemplo de resolvente • C3=[q(x,g(f(a)),c)] e • C4=[q(a,g(f(w)),w1)] • O2={xa,wa,w1c} • Res(C3,C4) = (C3O2- q(x,g(f(a)),c)O2) U (C4O2- q(a,g(f(w)),w1)O2) • Res(C1,C2) = {}

  9. Sistema com Resolução • Alfabeto da Lógica de Predicados • Conjunto de cláusulas da Lógica de Predicados • A regra de resolução da Lógica de Predicados

  10. Regra de Resolução • Supondo 2 cláusulas C1={A1,..., An} e C2={B1, ..., Bn}, a Regra de Resolução aplicada a C1 e C2 é: • Deduzir Res(C1,C2) • Para verificar satisfabilidade • Empregar várias vezes até obter a cláusula vazia • Expansão por resolução

  11. Expansão por resolução • Dados os C1, C2 e C3 • 1. {p(f(x),y,x),q(a,y,w1)} • 2. {p(z,g(z),w)} • 3. {q(x,g(f(a)),c)} • 4. {q(a,g(f(w)),w1)} Res(1,2),O1={zf(w),yg(f(w)),xw} • 5. {} • Expansão fechada – contém a cláusula vazia

  12. Exercício de forma clausal • Achar a a forma clausal associada a: • H=(x)p(x)^ (x)(z) ((x)q(x))  (y)(r(x,y,z)) • Relembrando: • Prenex • Skolem • CNF • Clausal

  13. Exercício de forma clausal - Prenex • H=(x)p(x)^ (x)(z) ((x)q(x))  (y)(r(x,y,z)) • Relembrando o algoritmo Prenex: • Leis de eliminação • PQ e P  Q • Leis da negação • (H), ((z)(H)) e ((z)(H)) • Leis de De Morgan • Renomeação de variáveis • Regras Prenex

  14. Exercício de forma clausal – Prenex (cont.) • H=(x)p(x)^ (x)(z) ((x)q(x))  (y)(r(x,y,z)) • H=(x)p(x)^ (x)(z) ((x)q(x)) v(y)(r(x,y,z)) (eliminação PQ) • H=(x)p(x)^ (x)(z) ((x)q(x)) v(y)(r(x,y,z)) (negação (z)) • H=(y1)p(y1)^ (x)(z) ((y2)q(y2)) v(y)(r(x,y,z)) (Renomeação de variáveis)

  15. Exercício de forma clausal – Prenex (cont.) • H=(y1)p(y1)^ (x)(z) ((y2)q(y2)) v(y)(r(x,y,z)) • H=(y1)(x)(z)(p(y1)^ ((y2)q(y2) v(y) r(x,y,z))) Regra Prenex R1 • H=(y1)(x)(z)(p(y1)^ (y2)(y) (q(y2) vr(x,y,z))) R6 • Hp=(y1)(x)(z)(y2)(y) (p(y1)^ (q(y2) vr(x,y,z))) R7

  16. Exercício de forma clausal – Skolem (cont.) • Hp=(y1)(x)(z)(y2)(y) (p(y1)^ (q(y2) vr(x,y,z))) • Hs=(y1)(x)(z)(p(y1)^ (q(f(y1,x,z)) vr(x,g(y1,x,z),z)) • Hc= {[p(y1)], [q(f(y1,x,z)),r(x,g(y1,x,z),z)]}

  17. Prova por resolução • Dadas uma fórmula H e Hc, a forma clausal associada a H • Uma Prova de H por resolução é uma expansão fechada sobre Hc • H é um teorema do sistema de resolução

  18. Exemplo de Prova por resolução • Toda pessoa é sábia ou tucana. • Zé não é tucano. Zé é sábio? • O que quero provar??

  19. Exemplo de Prova por resolução • Toda pessoa é sábia ou tucana. • Zé não é tucano. Zé é sábio? • (x)(p(x)v q(x))^ p(a)q(a) • Por refutação: • ((x)(p(x)v q(x))^ p(a)q(a)) • (((x)(p(x)v q(x))^ p(a)) v q(a)) • (x)(p(x)v q(x))^ p(a)) v q(a)) • (x)(p(x)v q(x))^ p(a)) ^ q(a)) • {[p(x),q(x)], [p(a)], [q(a)]}

  20. Exemplo de Prova por resolução (cont.) • Agora, é só fazer a expansão por resolução! • 1. [p(x),q(x)] • 2. [p(a)] • 3. [q(a)] • 4. [q(a)] Res(1,2), O1={xa} • 5. {} Res(3,4), O2={xa}

  21. Conseqüência lógica na resolução • Dada uma fórmula H e • um conjunto de hipóteses b={H1,H2,...Hn}, • então H é conseqüência lógica de b por resolução • se existe uma prova por resolução de • (H1^H2^...^Hn)  H

  22. Notação de Conseqüência Lógica por Resolução • Dada uma fórmula H, se H é conseqüência lógica de um conjunto de hipóteses b={H1,H2,...Hn} por resolução, diz-se que: • b├ H ou • {H1,H2,...Hn}├ H

  23. Exemplo 2 de Prova por resolução • Os oficiais da alfândega revistam quem entra no país e não é VIP. • Alguns traficantes entraram no país e foram revistados por outros traficantes. • Nenhum traficante é VIP. • Alguns oficiais são traficantes?

  24. Exemplo 2 de Prova por resolução (cont.) • Analogamente, • e(x) = x entrou no país • o(x) = x é oficial • t(x) = x é traficante • v(x) = x é VIP • r(x,y) = x revistou y

  25. Exemplo 2 de Prova por resolução (cont.) • Os oficiais da alfândega revistam quem entra no país e não é VIP. • (x)(e(x)^ v(x)(y)(r(x,y)^o(y))) • Alguns traficantes entraram no país e foram revistados por outros traficantes. • (x)(e(x)^ t(x) ^ (y)(r(x,y)t(y))) • Nenhum traficante é VIP. • (x)(t(x) v(x)) • Alguns oficiais são traficantes? • (x)(o(x) ^ t(x))

  26. Exemplo 2 de Prova por resolução (cont.) • Separadamente tratando as cláusulas • (x)(e(x)^ v(x)(y)(r(x,y)^o(y))) • =(x) (e(x)^ v(x)) v (y)(r(x,y)^o(y))) • =(x) e(x) v v(x) v (r(x,f(x))^o(f(x))), distribuindo: • =(x) (e(x) v v(x) v r(x,f(x)) ^ (e(x) v v(x) o(f(x)) • (x)(e(x)^ t(x) ^ (y)(r(x,y)t(y))) • = (x) (e(x)^ t(x) ^ (y)( r(x,y) v t(y))) • = (y) (e(a)^ t(a) ^ (r(a,y) v t(y))) • (x)(t(x) v(x)) = (x)(t(x) v v(x)) • Negando o conseqüente • (x)(o(x) ^ t(x)) = (x)(o(x) ^ t(x)) = (x)(o(x) v t(x))

  27. Exemplo 2 de Prova por resolução (cont.) • (x)(e(x)v v(x)v r(x,f(x))^(e(x)v v(x)v o(f(x)) • [e(x),v(x),r(x,f(x)],[e(x),v(x),o(f(x))] • (y)(e(a)^ t(a) ^ (r(a,y) v t(y))) • [e(a)],[t(a)],[r(a,y),t(y)] • (x)(t(x) v v(x)) = [t(x),v(x)] • Conseqüente:(x)(o(x)vt(x)) = [o(x),t(x)]

  28. 1.[e(x),v(x),r(x,f(x))] 2.[e(x),v(x),o(f(x))] 3.[e(a)] 4.[t(a)] 5.[r(a,y),t(y)] 6.[t(x),v(x)] 7.[o(x), t(x)] 8.[v(a)] Res(4,6),O1={xa} 9.[v(a),o(f(a))] Res(2,3),O1 10.[o(f(a))] Res(8,9) 11.[v(a),r(a,f(a))] Res(1,3),O1 12.[r(a,f(a))] Res(8,11) 13.[t(f(a))] Res(5,12){yf(a)} 14.[o(f(a))] Res(7,13) {xf(a)} 15.{} !!!!! Exemplo 2 de Prova por resolução (cont.)

  29. Exercícios • Tonha gosta de quem não se valoriza. • Não existe ninguém que se valorize e que Tonha goste? • Aonde a vaca vai, o boi também vai. • O boi está na praia. E a vaca??? • Foi pro brejo??? 

  30. Tonha • v(x) = x se valoriza • g(x,y) = x gosta de y • a = Tonha (Antônia) • (x)(v(x)^g(a,x))(y)(v(y)^g(a,y)) • (x)(v(x)^g(a,x))(y)(v(y)^g(a,y)) • ((x)(v(x)^g(a,x)) v (y)(v(y)^g(a,y))) • (x)(v(x)^g(a,x)) ^ (y)(v(y)^g(a,y)))

  31. Tonha 2 – A vingança • (x)(v(x)^g(a,x)) ^ (y)(v(y)^g(a,y))) • Cuidado: nesses casos é interessante que a Prenex não venha dessa forma, e sim de • (y)(v(y)^g(a,y))) ^ (x)(v(x)^g(a,x)) • Por quê???

  32. Cuidado!! • Para evitar a criação de funções de Skolem desnecessariamente • Essas funções podem fazer com que a expansão tenha de ser aberta • E pode haver expansões abertas sobre tautologias!!

More Related