Lgica de Predicados Resoluo Clusulas e literais complementares

  • Slides: 32
Download presentation
Lógica de Predicados Resolução

Lógica de Predicados Resolução

Cláusulas e literais complementares n Cláusula em lógica de predicados é uma disjunção de

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

Resolvente em L. Proposicional n Supondo 2 cláusulas C 1={A 1, . . .

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

Em Lógica de 1ª. Ordem n n Resolução não é uma simples extensão da

Em Lógica de 1ª. Ordem n n Resolução não é uma simples extensão da Resolução da Lógica Proposicional O processo é mais longo e cuidadoso: n n n 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!

Resolvente em LPO n Supondo n n n Resolvente de C 1 e C

Resolvente em LPO n Supondo n n n Resolvente de C 1 e C 2: n n 2 cláusulas C 1={A 1, . . . , An} e C 2={B 1, . . . , Bn} Ai e Bj unificáveis O, o unificador mais geral de Ai e Bj Ai. O= Bj. O ou vice-versa Res(C 1, C 2)=(C 1 O-Ai. O)U(C 2 O-Bj. O) Res(C 1, C 2) pode ser {} n Resolvente vazio ou trivial

Do ponto de vista lógico n n n C 1 O é uma instância

Do ponto de vista lógico n n n C 1 O é uma instância de C 1 e C 2 O de C 2 C 1 O e C 2 O são conseqüências lógicas de C 1 UC 2 Por outro lado, Ai. O e Bj. O não poderão ser satisfeitos simultaneamente n n então não estamos perdendo nada se os retirarmos, pois C 1 O e C 2 O teriam de ser satisfeitas simultaneamente Também o Res(C 1, C 2) é conseqüência lógica de C 1 UC 2

Exemplo de resolvente n n n C 1=[p(f(x), y, x), q(a, y, w 1)]

Exemplo de resolvente n n n C 1=[p(f(x), y, x), q(a, y, w 1)] C 2=[ p(z, g(z), w)] C 3=[q(x, g(f(a)), c)] e C 4=[ q(a, g(f(w)), w 1)] Os átomos p(f(x), y, x) e p(z, g(z), w) de C 1 e C 2 são unificáveis e complementares quando unificados n n O 1={z f(w), y g(f(w)), x w} Res(C 1, C 2) = (C 1 O 1 - p(f(x), y, x)O 1) U (C 2 O 2 p(z, g(z), w)O 1) Res(C 1, C 2) = { q(a, g(f(w)), w 1)} que é uma nova cláusula Res(C 3, C 4) = ? ? ?

Exemplo de resolvente n n n C 3=[q(x, g(f(a)), c)] e C 4=[ q(a,

Exemplo de resolvente n n n C 3=[q(x, g(f(a)), c)] e C 4=[ q(a, g(f(w)), w 1)] O 2={x a, w 1 c} Res(C 3, C 4) = (C 3 O 2 - q(x, g(f(a)), c)O 2) U (C 4 O 2 - q(a, g(f(w)), w 1)O 2) Res(C 1, C 2) = {}

Sistema com Resolução n n n Alfabeto da Lógica de Predicados Conjunto de cláusulas

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

Regra de Resolução n Supondo 2 cláusulas C 1={A 1, . . . ,

Regra de Resolução n Supondo 2 cláusulas C 1={A 1, . . . , An} e C 2={B 1, . . . , Bn}, a Regra de Resolução aplicada a C 1 e C 2 é: n n Deduzir Res(C 1, C 2) Para verificar satisfabilidade n n Empregar várias vezes até obter a cláusula vazia Expansão por resolução

Expansão por resolução n n n n Dados os C 1, C 2 e

Expansão por resolução n n n n Dados os C 1, C 2 e C 3 1. {p(f(x), y, x), q(a, y, w 1)} 2. { p(z, g(z), w)} 3. {q(x, g(f(a)), c)} 4. { q(a, g(f(w)), w 1)} Res(1, 2), O 1={z f(w), y g(f(w)), x w} 5. {} Expansão fechada – contém a cláusula vazia

Exercício de forma clausal n n n Achar a a forma clausal associada a:

Exercício de forma clausal n n n Achar a a forma clausal associada a: H=( x)p(x)^ ( x)( z) (( x)q(x)) ( y)(r(x, y, z)) Relembrando: n n Prenex Skolem CNF Clausal

Exercício de forma clausal Prenex n n H=( x)p(x)^ ( x)( z) (( x)q(x))

Exercício de forma clausal Prenex n n H=( x)p(x)^ ( x)( z) (( x)q(x)) ( y)(r(x, y, z)) Relembrando o algoritmo Prenex: n Leis de eliminação n n Leis da negação n n P Q e P Q ( H), (( z)(H)) e (( z)(H)) Leis de De Morgan Renomeação de variáveis Regras Prenex

Exercício de forma clausal – Prenex (cont. ) n n H=( x)p(x)^ ( x)(

Exercício de forma clausal – Prenex (cont. ) n n 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=( y 1)p(y 1)^ ( x)( z) (( y 2) q(y 2)) v ( y)(r(x, y, z)) (Renomeação de variáveis)

Exercício de forma clausal – Prenex (cont. ) n n H=( y 1)p(y 1)^

Exercício de forma clausal – Prenex (cont. ) n n H=( y 1)p(y 1)^ ( x)( z) (( y 2) q(y 2)) v ( y)(r(x, y, z)) H=( y 1)( x)( z) (p(y 1)^ (( y 2) q(y 2) v ( y) r(x, y, z))) Regra Prenex R 1 H=( y 1)( x)( z) (p(y 1)^ ( y 2)( y) ( q(y 2) v r(x, y, z))) R 6 Hp=( y 1)( x)( z)( y 2)( y) (p(y 1)^ ( q(y 2) v r(x, y, z))) R 7

Exercício de forma clausal – Skolem (cont. ) n n n Hp=( y 1)(

Exercício de forma clausal – Skolem (cont. ) n n n Hp=( y 1)( x)( z)( y 2)( y) (p(y 1)^ ( q(y 2) v r(x, y, z))) Hs=( y 1)( x)( z) (p(y 1)^ ( q(f(y 1, x, z)) v r(x, g(y 1, x, z)) Hc= {[p(y 1)], [ q(f(y 1, x, z)), r(x, g(y 1, x, z)]}

Prova por resolução n n n Dadas uma fórmula H e Hc, a forma

Prova por resolução n n n 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

Exemplo de Prova por resolução n Toda pessoa é sábia ou tucana. Zé não

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

Exemplo de Prova por resolução n n n n n Toda pessoa é sábia

Exemplo de Prova por resolução n n n n n 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)) ^ q(a)) {[p(x), q(x)], [ p(a)], [ q(a)]}

Exemplo de Prova por resolução (cont. ) n n n Agora, é só fazer

Exemplo de Prova por resolução (cont. ) n n n 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), O 1={x a} 5. {} Res(3, 4), O 2={x a}

Conseqüência lógica na resolução n n Dada uma fórmula H e um conjunto de

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

Notação de Conseqüência Lógica por Resolução n Dada uma fórmula H, se H é

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

Exemplo 2 de Prova por resolução n n Os oficiais da alfândega revistam quem

Exemplo 2 de Prova por resolução n n 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?

Exemplo 2 de Prova por resolução (cont. ) n n n Analogamente, e(x) =

Exemplo 2 de Prova por resolução (cont. ) n n n 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

Exemplo 2 de Prova por resolução (cont. ) n Os oficiais da alfândega revistam

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

n n Exemplo 2 de Prova por resolução (cont. ) Separadamente tratando as cláusulas

n n Exemplo 2 de Prova por resolução (cont. ) Separadamente tratando as cláusulas n n ( 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)) n ( 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))) n ( x)(t(x) v(x)) = ( x)( t(x) v v(x)) n n Negando o conseqüente n ( x)(o(x) ^ t(x)) = ( x)( o(x) v t(x))

Exemplo 2 de Prova por resolução (cont. ) n n ( x)( e(x)v v(x)v

Exemplo 2 de Prova por resolução (cont. ) n n ( 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))] n ( y)(e(a)^ t(a) ^ ( r(a, y) v t(y))) [e(a)], [t(a)], [ r(a, y), t(y)] n ( x)( t(x) v v(x)) = [ t(x), v(x)] n Conseqüente: ( x)( o(x)v t(x)) = [ o(x), t(x)] n

Exemplo 2 de Prova por resolução (cont. ) n n n n 1. [

Exemplo 2 de Prova por resolução (cont. ) n n n n 1. [ e(x), v(x), r(x, f(x))]n 2. [ e(x), v(x), o(f(x))] n 3. [e(a)] n 4. [t(a)] n 5. [ r(a, y), t(y)] n 6. [ t(x), v(x)] n 7. [ o(x), t(x)] n n 8. [ v(a)] Res(4, 6), O 1={x a} 9. [v(a), o(f(a))] Res(2, 3), O 1 10. [o(f(a))] Res(8, 9) 11. [v(a), r(a, f(a))] Res(1, 3), O 1 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. {} !!!!!

Exercícios n n Tonha gosta de quem não se valoriza. Não existe ninguém que

Exercícios n n 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? ? ? n Foi pro brejo? ? ?

Tonha n n n n v(x) = x se valoriza g(x, y) = x

Tonha n n n n 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)) v ( y)(v(y)^g(a, y))) ( x)( v(x)^g(a, x)) ^ ( y)(v(y)^g(a, y)))

Tonha 2 – A vingança n n ( x)( v(x)^g(a, x)) ^ ( y)(v(y)^g(a,

Tonha 2 – A vingança n n ( 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ê? ? ?

Cuidado!! n n n Para evitar a criação de funções de Skolem desnecessariamente Essas

Cuidado!! n n n 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!!