Você está na página 1de 27

Givanildo Lima

RESOLUÇÃO PARA O Leonardo Alexandre


Matheus Enrique Alves

CÁLCULO DE PREDICADOS Raul Oliveira


Tarcísio Lima
PLANO DE APRESENTAÇÃO
1. INTRODUÇÃO;
2. HISTÓRIA;
3. FORMAS NORMAIS;
4. TÉCNICAS DE RESOLUÇÃO;
5. EXEMPLOS;
INTRODUÇÃO
Antes de abordar a parte de resolução, é importante lembrar o conceito de lógica de
Predicados. Há quem diga que lógica é só um pensamento, porém, além disso, ela é a
aplicação deste para a resolução de determinado problema através da análise de
diferentes situações que convergem a um mesmo ponto.
Existem várias vertentes da lógica, mas existe uma que é essencial para o cálculo de
predicado e consequentemente para as resoluções, que é a lógica de primeira
ordem, ou lógica de predicados
Há vários tipos de argumentos que não podem ser adequadamente formalizados
na lógica proposicional. Como exemplo, considere o argumento a seguir:

“Sócrates é homem.
Todo homem é mortal.
Logo, Sócrates é mortal.’’
p=”Sócrates é homem.”
q=”Todo homem é mortal. “
r=”Logo, Sócrates é mortal.’’

Intuitivamente, podemos ver que esse argumento é válido. No entanto, usando


lógica proposicional, não há como mostrar que a conclusão r é uma consequência
lógica das premissas p e q. Isso acontece porque a validade desse argumento
depende do significado da palavra todo, que não pode ser expresso na lógica
proposicional. De fato, para tratar argumentos desse tipo precisamos da lógica de
predicados.
● Símbolos Lógicos:

Operadores lógicos: ~ , ∧ , ∨ , → , ↔

Quantificadores: ∀ , ∃

● Símbolos Não-lógicos:

Variáveis: letras minúsculas , Letras predicativas: letras maiúsculas

● Equivalência entre sentenças

~∀X[brilha(X) → ouro(X)]

~∀X[~brilha(X) ∨ ouro(X)]

~X~~brilha(X) ∨ ouro(X)]

~X[brilha(X) ∧ ~ouro(X)]
HISTÓRIA
A regra de resolução pode ser rastreada até Davis e Putnam (1960);
no entanto, seu algoritmo precisa tentar todas as instâncias
fundamentais da fórmula. Esta fonte de explosão combinatória foi
eliminada em 1965 pelo algoritmo de unificação sintática de John
Alan Robinson, que permitiu instanciar a fórmula durante a prova "on
demand", tanto quanto necessário para manter a completude da
refutação.
FORMAS NORMAIS
● Forma Normal Prenexa

● Forma Normal de Skolem

● Forma Normal Clausal


FORMA NORMAL PRENEXA
Definição: Uma fórmula tem forma prenexa quando:
(Q1x1 Q2x2 . . . Qnxn)B onde Qi são os quantificadores (∀ ou ∃) para todo
(i = 1 ... n) e B é uma fórmula sem quantificador.

Exemplo:
∀x∃y∀z(p(y) v (q(z) v f(x)))

Para qualquer fórmula do cálculo dos predicados, existe uma


fórmula em forma prenex equivalente!
FORMA NORMAL PRENEXA
1. Eliminar todas as ocorrências de → e ↔ da fórmula em questão.

2. Mover todas as negações “para dentro” da fórmula, de forma que só


apareça na parte literal.

3. Padronizar as variáveis quando necessário.

4. A forma normal prenexa é obtida quando todos os quantificadores estão


na frente da fórmula.
FORMA NORMAL PRENEXA
Exemplo:
Encontre a forma normal prenexa de:
∀x(∃yR(x, y) ∧ ∀y¬S(x, y) → ¬(∃yR(x, y) ∧ P))
Solução:
• De acordo com o primeiro passo, devemos eliminar →, o que nos leva:
∀x(¬(∃yR(x, y) ∧ ∀y¬S(x, y)) ∨ ¬(∃yR(x, y) ∧ P))
• Movemos todas as negações para dentro, assim:
∀x(∀y¬R(x, y) ∨ ∃yS(x, y) ∨ ∀y¬R(x, y) ∨ ¬P).
• Depois, todas as variáveis foram padronizadas:
∀x(∀y1¬R(x, y1) ∨ ∃y2S(x, y2) ∨ ∀y3¬R(x, y3) ∨ ¬P)
• Agora podemos mover todos os quantificadores para frente, portanto:
∀x∀y1∃y2∀y3(¬R(x, y1) ∨ S(x, y2) ∨ ¬R(x, y3) ∨ ¬P).
FORMA NORMAL DE SKOLEM
Definição: Uma fórmula tem forma de Skolem quando encontra-se na forma
normal prenex e não possui quantificador existencial (∃).

Exemplo:
∀a∀v∀x∀yM(x, y, a, v).
Onde M é a matriz dependente das variáveis x, y, a, v.
FORMA NORMAL DE SKOLEM
A partir de uma fórmula em forma prenex Q1x1 · · · QnxnM, passasse a uma
fórmula em forma de Skolem da seguinte maneira:

1. Se todos os Qi são ∀, então a fórmula já está em forma prenex.

2. Senão, seja k o menor índice tal que Qi é ∃. Existe k − 1 quantificadores ∀


a esquerda de Qk . A variável xk é substituída por f(x1, … , xk-1 ), onde f é um
novo símbolo de função, em M e a quantificação ∃xk é eliminada. f é uma
constante quando k = 1.

3. A operação é repetida para eliminar até que todas as quantificações


existenciais estejam eliminadas.
FORMA NORMAL DE SKOLEM
Exemplo:

∃x∀y∀z∃tP(x, y, z,t) =

(x pode ser substituído por uma função com zero argumentos, ou uma
constante).

= ∀y∀z∃tP(a, y, z,t).

= ∀y∀zP(a, y, z, g(y, z)).


FORMA CLAUSAL
Uma fórmula da lógica dos predicados está em forma clausal
se está em forma de Skolem e a sua matriz está em forma normal
conjuntiva.
Dada uma fórmula A, para encontrar uma forma equisatisfatível,
primeiro calcula-se a forma de Skolem e segundo calcula se uma
forma normal conjuntiva da matriz.

∃ x ∀ y p ( x, y ) ⇒ ∀ y ∃ x p ( x, y )
⇝ ~∃ x ∀ y p ( x, y ) ∨ ∀ y ∃ x p ( x, y )
⇝ ∀ x ∃ y ~ p ( x, y ) ∨ ∀ y ∃ x p ( x, y )
⇝ ∀ x ∃ y ~ p ( x, y ) ∨ ∀ u ∃ v p ( u, v )
⇝ ∀ x ∃ y ∀ u ∃ v (~ p ( x, y ) ∨ p ( u, v ))
⇝ ∀ x ∀ u (~ p ( x, f ( x )) ∨ p ( u, g ( x, u )))
Exemplo: “Todo aquele que ama todos os animais é amado por alguém”

∀x (∀y Animal(y)→ama(x,y))→(∃y ama(y, x))

∀x¬(∀y~Animal(y)∨ama(x,y))∨(∃y ama(y, x))

∀x(∃y~~Animal(y)∧~ama(x,y))∨(∃y ama(y, x))

∀x(∃y Animal(y)∧~ama(x,y))∨(∃y ama(y, x))

∀x(∃y Animal(y)∧~ama(x,y))∨(∃y ama(y, x))

∀x(∃y Animal(y)∧~ama(x,y))∨(∃z ama(z, x))

∀x(Animal(F(x))∧~ama(x,F(x)))∨ama(G(x), x)

Quando uma fórmula está em forma clausal, se existe uma convenção de notação que
diferencia símbolos de variáveis e símbolos de constantes, pode-se omitir os quantificadores.

(Animal(F(x))∧~ama(x,F(x)))∨ama(G(x), x)

(Animal(F(x))∨ama(G(x), x))∧( ~ama(x,F(x))∨ama(G(x), x))

Esta sentença gerou 2 cláusulas


TÉCNICAS DE RESOLUÇÃO
Princípio de Resolução é uma regra de inferência que dá origem a uma técnica de
demonstração por refutação de sentenças;

No princípio de resolução trabalha-se com cláusulas, isto é, dado um conjunto de


premissas e a negação da conclusão:

Cada fórmula é convertida em forma normal prenex;

Os quantificadores existenciais são substituídos por funções de Skolem;

Os quantificadores universais são descartados;

As sentenças livres de quantificadores resultantes são convertidas em cláusulas, ou


seja, elas são escritas como um conjunto de disjunções.
TÉCNICAS DE RESOLUÇÃO
A demonstração do princípio de resolução é baseada em literais.

Um literal positivo é uma fórmula atômica.

Um literal negativo é a negação de uma fórmula atômica.

Por exemplo:
P(x,y) e Q(z) são literais positivos enquanto ~P(x,y) e ~Q(x) são literais negativos

A resolução só pode ser aplicada a fórmulas que contenham literais complementares.


TÉCNICAS DE RESOLUÇÃO
Encontre a resolvente das duas cláusulas a seguir:

G(a,x,y) V H(y,x,z) V D(z)


~G(x,c,y) V H(f(x),b) V E(a)

Onde a,b,c são constantes e x,y,z são variáveis

Para obter 2 literais complementares, nós unificamos G(a,x,y) primeira cláusula com
G(x,c,y) na segunda cláusula
TÉCNICAS DE RESOLUÇÃO
Desde de que x,y,z na primeira cláusula sejam quantificadores universais, nós
podemos substituir essas variáveis por qualquer termo. Em particular, podemos
definir x := c que produz:

(*) G(a,c,y) V H(y,c) V D(z)

Da mesma forma, pode-se substituir as variáveis ​na segunda cláusula por qualquer
termo. Definimos x := a e obtemos:

(**)~G(a,c,y) V H(f(a),b) V E(a)

O resolvente de (*) e (**):

H(y,c) V D(z) V H(f(a),b) V E(a)


ALGORITMO DE UNIFICAÇÃO
Termos são expressões construídas a partir de constantes, variáveis e
símbolos funcionais de aridade finita:
t::=c | x | f(t1,t2,…,tn)

Uma substituição σ é um conjunto v1/t1,v2/t2,…,vn/tn , onde cada


variável vi é distinta das outras e cada ti é um termo distinto de vi .
Chamamos de ligação da substituição vi/ti.
ALGORITMO DE UNIFICAÇÃO
Para dois conjuntos distintos de substituições:
θ={u1/s1,…,um/sm} e σ={v1/t1,…,vn/tn}
Uma composição θσ é a substituição obtida do conjunto
{u1/s1σ,…,um/smσ,v1/t1,…,vn/tn} eliminando qualquer ligação ui/siσ ,
para qual ui=siσ e qualquer ligação vj/tj para qual vj∈{u1,…,um} .
ALGORITMO DE UNIFICAÇÃO
Seja S um conjunto finito de termos. Uma substituição θ é
denominada um unificador de S se Sθ for um conjunto unitário.
Um unificador θ para um conjunto finito S de termos é denominado
um unificador mais geral de S se ∀ unificador de σ de S ∃ uma
substituição γ tal que σ=θγ .
Seja S um conjunto finito de termos. O conjunto de conflitos de S
consiste dos sub-termos mais a esquerda dos termos de S que se
diferenciam.
Inicio
k:=0
σk=ε
Enquanto S σk nao unitario repita:
Seja D o conjunto de conflitos de Sσk
Se ∃ v,t∈D com v variavel, t termos sem ocorrencias de v
Entao
σk+1:=σkv/t
Senão
reporte que S não unificável e saia
k:=k+1
retorna σk, o unificador de S
Fim
TORRE DE HANÓI
O problema consiste em passar todos os discos de um pino
para outro qualquer, usando um dos pinos como auxiliar, de
maneira que um disco maior nunca fique em cima de outro
menor em nenhuma situação.
PROBLEMA DOS BLOCOS
REFERÊNCIAS
http://www.uomustansiriyah.edu.iq/media/lectures/6/6_2016_05_15!07_23_
01_PM.pdf
https://books.google.com.br/books?id=3oviBQAAQBAJ
https://en.wikibooks.org/wiki/Logic_for_Computer_Scientists/Predicate_Log
ic/Resolution
http://www.math.ryerson.ca/~ddelic/mth714/Ch7handout.pdf
https://www7.in.tum.de/um/courses/logic/SS11/folien/resolution-pl-english.p
df
http://www.csd.uwo.ca/faculty/lila/logic/predcalc_resolution.pdf

Você também pode gostar