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:

Slides:



Advertisements
Apresentações semelhantes
Lógica de Predicados e Representação de Conhecimento
Advertisements

Capítulo 8 A linguagem da Lógica de Predicados
Capítulo 7 Tableaux semânticos e resolução na Lógica Proposicional
Cláusulas Conjuntos de cláusulas
Tópicos de Lógica Proposicional
Formalizar semântica da LPO
Elsa Carvalho 163 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Teoria dos Modelos.
Lógica de Predicados Sintaxe. O que não é possível expressar em Lógica Prop. Todo tricolor é um campeão. Roberto é tricolor. Logo Roberto é um campeão.
Introdução à Lógica Matemática
Introdução à Programação Lógica
Resolução.
BCC101 – Matemática Discreta
BCC 101– Matemática Discreta
Lógica para Computação
Lógica para Computação
Alunos: Vinicius Arcanjo Pedro Garagnani Curso: Engenharia de Computação, Professor: Adolfo Neto Disciplina: Lógica para Computação. Tablôs.
RESOLUÇÃO PROPOSICIONAL
Resolução Proposicional
RESOLUÇÃO PROPOSICIONAL
Lógica de Primeira Ordem -2
Aron Sebastian André Sousa Vivian Maria Márcio André
Lógica Matemática e Computacional
Curso: Licenciatura em Matemática
Lógica de Predicados Teorema de Herbrand.
UNIVERSIDADE ESTADUAL DE SANTA CRUZ
Capítulo 10 Propriedades semânticas da Lógica de Predicados
Cássio Cristo Dawyson Guerra Matheu Santos
Capítulo 11 Programação Lógica
Lógica Proposicional Tableaux semânticos.
Formas Normais e Resolução
Lógica de Predicados Implementação de Resolução. Em Lógica de 1ª. Ordem Resolução não é uma simples extensão da Resolução da Lógica Proposicional O processo.
Teorema de Herbrand e Unificação
Lógica de Predicados Semântica.
Lógica de Predicados Forma Prenex e Skolem.
Completude e Corretude do Sistema de Tableaux Semânticos
Lógica Proposicional Resolução.
Lógica de Predicados Resolução.
Lógica Proposicional Tableaux semânticos.
Lógicas e Inferência para IA
Lógica de Predicados Tableaux semânticos.
Implementação de Resolução
Lógica de Predicados Sintaxe.
Lógica de Predicados Forma Prenex e Skolem.
Lógica Proposicional Resolução.
Teorema de Herbrand e Unificação
André Luiz da Costa Carvalho
Lógica para Computação
BCC101 Matemática Discreta I
Inteligência Artificial: Lógica Proposicional e Prolog
Decidibilidade, Corretude, Completude, Consistência
Relações semânticas entre conectivos e formas normais
Decidibilidade, Corretude, Completude, Consistência, Monotonicidade
Linguagem de 1ª ordem da teoria de conjuntos
1 Lógica de Primeira Ordem -3 Métodos de Prova com Quantificadores Provas Formais com Quantificadores Formas especiais de quantificação Referência: Language,
Negação de frases quantificadas
1 Teoria de 1ª Ordem Def. 18  Dado um conjunto A, dizemos que um subconjunto A’ de A é decidível se e somente se existir um procedimento efetivo (um algoritmo)
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:
Lógica Proposicional.
Elsa Carvalho 203 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Resolução (com.
Teorema de Herbrand.
Lógica de 1ª Ordem.
Prova Automática de Teoremas
Frases de Horn Forma Normal Conjuntiva- para frases sem quantificadores conjunção de frases cada elemento da conjunção é disjunção de literais literal:
Resolução.
Lógica Proposicional Dedução Natural.
Inteligência Artificial
Interpretação do Teorema de Herbrand
Lógica de Predicados Tableaux semânticos.
1 Lógica de Predicados BCC101 Matemática Discreta I.
BCC101 Matemática Discreta I
Transcrição da apresentação:

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} Dois literais são complementares em lógica de predicados quando, UNIFICADOS, um é a negação do outro

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

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!

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

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) = ???

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) = {}

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

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

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. {  q(a,g(f(w),w1)}} Expansão fechada – contém a cláusula vazia com O2={x  a, w  a, w1  c}

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

Forma Prenex – Informal Quando os quantificadores estão na frente da fórmula (  x)(  y)(r(x,y) ^ p(y)) Não existem outros quantificadores Fórmula aberta em LPO – não contém quantificadores

Forma Prenex – Formal Uma fórmula está na forma prenex quando é do tipo (Qx1)...(Qxn)G, onde G é aberta (às vezes chamada de matriz) (Qxi) é um quantificador universal ou existencial (Qx1)...(Qxn) às vezes é chamado de prefixo (  x)((  y)r(x,y) ^ p(y)) está na forma prenex?

Escopo e Prenex Não!!! Na forma prenex, o escopo dos quantificadores deve ser á fórmula inteira Toda fórmula tem um equivalente na forma prenex! Como transformá-la em Prenex então?

R1=(  x)A^BR2= (  x)AvB R3=(  x)A^B (  x)(A^B) (  x)(AvB) (  x)(A^B) onde x não ocorre livre em B (válido até R4) R4=(  x)AvBR5=(  x)A^(  x)B R6=(  x)Av(  x)B (  x)(AvB)(  x)(A^B) (  x)(AvB) R7=(Q1x)A^(Q2y)B R8=(Q1x)Av(Q2y)B (Q1x)(Q2y)(A^B) (Q1x)(Q2y)(AvB) onde x não ocorre livre em B e y não ocorre livre em A

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

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)

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) v r(x,y,z))) R6 Hp=(  y1)(  x)(  z)(  y2)(  y) (p(y1)^ (  q(y2) v r(x,y,z))) R7

Forma Skolem Resolução é feita com fórmulas prenex SEM quantificadores existenciais É preciso eliminá-los!! G está na forma de Skolem se ela é veio de uma prenex H cujos  s foram retirados pelas regras de Skolem Porém H NÃO equivale a G!! Mas, H é insatisfatível sse G também for!

Exemplo 1 de Skolemização I[p(x)]=T  xI é inteligente e U=alunos do CIn I[(  x)p(x)]=T   d  aluno-CIn em que I[d]=Bio; d é inteligente Se trocarmos (  x)p(x)]= p(a)?? (  x)(  y)r(y,x) com a mesma interpretação I[r(y,x)]=T  yI é professor de xI I[(  x)(  y)r(y,x)]=T  todo aluno tem ao menos um professor Se trocarmos para (  x)r(b,x), onde I[b]=Fred??

Exemplo 2 de Skolemização Em (  x)(  y)r(y,x) Se trocarmos para (  x)r(b,x), onde I[b]=Fred?? I[(  x)r(b,x)]=T  Fred é professor de todos os alunos do CIn  I[(  x)r(b,x)]=F Note que I[(  x)(  y)r(y,x)]=T e I[(  x)r(b,x)]=F Por quê??

Função de Skolem Porque o professor de cada aluno depende de cada aluno! A idéia é que b seja “um professor genérico” de x (sem ser uma variável ) y=f(x), pois y depende de x Trocamos (  x)(  y)r(y,x) para (  x)r(f(x),x) (  z)(  x)(  y)p(z,y,x) vira (  z)(  x)p(z,g(z,x),x)

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

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

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

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)]}

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}

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

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  ={H1,H2,...Hn} por resolução, diz-se que:  ├ H ou {H1,H2,...Hn} ├ H

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?

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

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

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

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

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

Exercícios Tonha gosta de quem não se valoriza. Existe algué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???

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

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ê???

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

Resolver isso por resolução W= (  x)(Bom(x)  Alegria)  (  x) (Bom(x)  Alegria) Resolução sobre  W???

Resolvendo o problema  ((  x)(Bom(x)  Alegria)  (  x) (Bom(x)  Alegria)) Na forma clausal: {[Bom(x),  Alegria],[Bom(a), Alegria]} Com {x  a} chegamos à cláusula vazia