07 Resolucao_Pred

Propaganda
Unificação
O Princípio de Resolução da Lógica de Predicados
Lembre-se que já foi cons iderado o princípio de resolução para a lógica
proposicional. A partir de agora será estendido para a lógica de predicados.
Definição 1. Se dois ou mais literais (com o mesmo s inal) de uma
cláusula C tem um unificador mais geral σ, então C σ é chamado um fator
de C.
Foi mos trado que a parte mais importante da aplicação do princípio de
resolução é encontra r um literal em uma cláusula que é complementa r a
um literal em outra cláusula.
Pa ra cláusulas que não contém variáveis, isso é s imples. Entretanto, para
cláusulas contendo variáveis, isso é mais complicado. Considere, por
exemplo, as duas cláusulas C1 e C2 abaixo:
C1 : P(x) ∨ Q(x)
Ex: Seja C = P(x) ∨ P(f(y)) ∨ ∼Q(x)
P(x) e P(f(y)) tem um umg σ = {x/f(y)}. Então, C σ = P(f(y)) ∨ ∼Q(f(y))
é um fator de C.
Definição 2. Sejam C1 e C2 duas cláusulas sem variáveis comuns. Sejam
L1 e L2 literais de C1 e C2 , respectivamente. Se L1 e ∼L2 tem um unificador
mais geral σ, então a cláusula:
(C1 σ - L1 σ) ∪ (C2 σ - L2 σ)
C2 : ∼P(f(y)) ∨ R (y)
Não exis te literal em C1 que seja complementar a qualquer literal em C2 .
Entretanto, se aplicarmos as substituições s1 e s2 definidas abaixo à C1 e
C2 , respectivamente, obtemos as cláusulas C1 ’ e C2 ’:
s1 = {x/f(a )} e s2 = {y/a}
é chamada um res olvente binário de C 1 e C2 .
Ex: Sejam
C1 : P(x) ∨ Q(x)
C2 : ∼P(a ) ∨ R (y)
C1 ’: C1 s1 = (P(x) ∨ Q(x)) [x/f(a )] = P(f(a )) ∨ Q(f(a ))
Escolhendo L1 = P(x) e L2 = ∼P(a ), então, ∼L2 = P(a ). Assim, σ = {x/a}
C2 ’: C2 s2 = (∼P(f(y)) ∨ R (y)) [y/a] = ∼P(f(a)) ∨ R (a )
Então, (C1 σ - L1 σ) ∪ (C2 σ - L2 σ) = Q(a ) ∨ R (y)
Agora, podemos aplicar o Princípio da Resolução e obter o resolvente C’:
C’: Q(f(a )) ∨ R (a)
Mais geralmente, se substituirmos x por f(x) em C1 obtemos:
C1 *: P(f(x)) ∨ Q(f(x))
O lite ral P(f(x)) de C1 * é complementa r ao lite ral ∼P(f(x)) em C2 . Assim,
podemos obter um resolvente mais geral C:
C:
Q(f(x)) ∨ R (x)
A cláusula C é a cláusula mais geral no sentido de que todas as outras
cláusulas que podem ser obtidas pelo processo acima são instâncias de C.
Por exemplo, C’ é uma instância de C.
Definição 3. Um resolvente de cláus ulas C1 e C2 é um dos seguintes
resolventes binários :
(i) um resolvente binário de C1 e C2
(ii) um resolvente binário de C1 e um fator de C2
(iii) um res olvente binário de um fator de C1 e C2
(iv) um resolvente binário de um fator de C1 e um fator de C2 .
Ex: Sejam: C1 = P(x) ∨ P(f(y)) ∨ R (g(y))
C2 = ∼P(f(g(a ))) ∨ Q(b)
Um fator de C1 é: C1 ’ = P(f(y)) ∨ R (g(y))
Um res olvente binário de C1 ’ e C2 é: C = R (g(g(a ))) ∨ Q(b)
Teorema 1: Se C é um resolvente de duas cláusulas C1 e C2 então C é
conseqüência lógica de C1 e C2 .
Teorema 2: Teorema da Correção
Pa ra todo conjunto S de cláusulas, se existe uma re futação a
partir de S, então S é insatis fatível.
Teorema 3: Teorema da Completude
Pa ra todo conjunto S de cláusulas, se S é instis fatível, então
existe uma refutação a partir de S.
Definição 4. Pa ra provar que uma fórmula é conseqüência lógica de um
conjunto de fórmulas da lógica de predicados (ou provar que um
argumento é válido), basta refutar o conjunto de cláusulas formado por
estas fórmulas, onde a fórmula a ser provada (conclusão do argumento)
deve ser negada.
Ex:
Considerar o seguinte conjunto de fórmulas:
F1: (∀x) (C (x) → (W (x) ∧ R (x)))
F2: (∃x) (C (x) ∧ O(x))
G: (∃x) (O(x) ∧ R (x))
O problema é mostrar que G é uma conseqüência lógica de F1 e F2.
Trans forma-se F1 e F2 e ∼G em formas padrões e obtêm-se as cinco
cláusulas seguintes:
(1)
(2)
(3)
(4)
(5)
∼C (x) ∨ W(x)
∼C (x) ∨ R (x)
C(a)
O(a)
∼O(x) ∨ ∼R (x)
de
de
de
de
de
F1
F1
F2
F2
∼G
O conjunto de cláusulas acima é insatisfatível. Is to pode ser provado por
resolução como segue:
(6)
(7)
(8)
R(a)
∼R (a)
□
um resolvente de (3) e (2)
um resolvente de (5) e (4)
um resolvente de (7) e (6)
Portanto, G é uma conseqüência lógica de F1 e F2 .
Download