Documentos de Académico
Documentos de Profesional
Documentos de Cultura
HErbrant
HErbrant
Resoluci
on
5.1.
Interpretaciones de Herbrand
5.1.1.
n 5.1 Una f
Definicio
ormula de un lenguaje de primer orden se dice que
est
a en forma normal prenexa si responde al esquema
Q1 x1 . . . Qn xn A(x1 , . . . , xn ),
en donde Qi {, } y la f
ormula A no contiene cuantificadores. La secuencia
Q1 x1 . . . Qn xn se denomina prefijo y la f
ormula A se denomina matriz.
Las equivalencias b
asicas de la L
ogica de Primer Orden demuestran que
podemos extraer los cuantificadores en una formula cualquiera y obtener una
formula equivalente.
Teorema 5.2 Toda f
ormula de la L
ogica de Primer Orden es equivalente a
una f
ormula en forma normal prenexa.
I. T. en Informatica de Sistemas. L
ogica computacional
L
ogica Computacional
Ejemplo 5.1.1
x(xP (x) yQ(x, y)) z(xP (x) yQ(z, y))
(5.1)
(5.2)
(5.3)
Para poder extraer el cuantificador x, necesitamos que la variable x no sea libre en el consecuente de la implicaci
on. Dado que esto no ocurre en la formula
inicial, necesitamos renombrar una de las variables x; esto lo hacemos en (5.1).
En el paso (5.2) extraemos el cuantificador del consecuente de la implicaci
on
y en (5.3) extraemos el cuantificador del antecedente; observese que en este
caso, cambia el tipo de cuantificador.
En este u
ltimo, hemos introducido primero el cuantificador hasta el consecuente y despues hemos extraido los tres.
Tal y como veremos m
as adelante, de las tres opciones, la mejor ser
a la
que hemos obtenido en el ejemplo 5.1.1.
n 5.3 Una f
Definicio
ormula est
a en forma normal de Skolem si est
a en
forma normal prenexa y en su prefijo no aparecen cuantificadores existenciales.
E.T.S.I.Inform
atica
Tema 5: Resolucion.
fski+1 = fski ,
fski+1 = fski {f },
Ai+1 = y1 . . . ym [xi /f (y1 , . . . , ym )]Mi .
I. T. en Informatica de Sistemas
L
ogica Computacional
5.1.2.
Interpretaciones de Herbrand
E.T.S.I.Inform
atica
Tema 5: Resolucion.
Optimizaci
on de la forma normal prenexa. El tama
no del Universo de
Herbrand y por lo tanto la complejidad del conjunto de interpretaciones de
Herbrand, depende del conjunto de constantes y funciones de Skolem generado
durante la skolemizaci
on; a su vez, el tama
no de estos conjuntos depende de
la formula en forma normal prenexa de la que partimos. Como hemos visto
en los ejemplos 5.1.1 y 5.1.2, en algunos casos podremos optar por aplicar las
equivalencias en distintos ordenes y obtener diferentes prefijos. Con el objetivo
de reducir la complejidad del Universo de Herbrand, es conveniente seguir las
siguiente reglas en el proceso de obtenci
on de la forma normal prenexa.
Cuando sea posible elegir, se extraeran en primer lugar aquellos cuantificadores que queden en el prefijo como existenciales.
Para reducir la longitud del prefijo, siempre que sea posible, renombraremos las variables para poder utilizar las equivalencias
xA xB x(A B),
xA xB x(A B),
xA xB x(A B).
5.1.3.
Algoritmo de Gilmore
La conclusion pr
actica inmediata que se obtiene una vez presentada la
sem
antica de Herbrand, es la posibilidad de trabajar en la logica de primer
orden de la misma forma que trabajamos en la logica proposicional. Podramos
construir tablas de verdad de las formulas, en donde las variables proposicionales son sustituidas por elementos de la Base de Herbrand. Naturalmente, en
este caso es posible que estas tablas de verdad sean infinitas y, por lo tanto,
no podemos considerarlas como un metodo de demostracion adecuado. Sin
embargo, si permiten entender otros metodos de demostracion.
El metodo m
as simple que se puede definir es la generalizaci
on del metodo
de Quine, y que en este caso se denomina Algoritmo de Gilmore. Su funcionamiento es identico al de Quine considerando los elementos de la base de
Herbrand para definir las evaluaciones parciales de las formulas.
Ejemplo 5.1.4 Vamos a estudiar la validez de una inferencia utilizando el
principio de refutaci
on y el algoritmo de Gilmore sobre la base de Herbrand
de la formula obtenida tras hallar una formula en forma normal de Skolem a
partir de la refutaci
on:
x(xP (x) Q(x)) |= yx(P (x) Q(y))
{x(xP (x) Q(x)), yx(P (x) Q(y))} es insatisficible,
I. T. en Informatica de Sistemas
L
ogica Computacional
P (b)
0 (Por A2 )
Q(a)
Q(a)
0 (x = a, y = b en A1 )
0 (Por A2 )
E.T.S.I.Inform
atica
Tema 5: Resolucion.
P (a)
P (a)
0 (x = a en A1 )
Q(f (a))
Q(f (a))
0 (x = a en A2 )
0 (Por A3 )
I. T. en Informatica de Sistemas
L
ogica Computacional
D(b)
D(b)
0 (por A3 )
Q(b)
Q(b)
0 (por A3 )
P (a)
P (a)
0 (por A1 )
L(a, b)
L(a, b)
0 (y = b en A1 ))
0 (x = a, y = b en A2 ))
Ejemplo 5.1.7 Vamos a estudiar la validez del siguiente razonamiento usando el metodo de Gilmore y el de las Tablas sem
anticas.
El padre del padre de una persona es su abuelo, toda persona tiene
un padre; por lo tanto todo el mundo tiene un abuelo.
Leyendo la relaci
on P (x, y) como x es padre de y y la relaci
on A(x, y) como
x es abuelo de y podemos escribir la siguiente formalizacion:
xyz((P (x, y) P (y, z)) A(x, z))
xyP (y, x)
xyA(y, x)
Este razonamiento es valido si y solo si el siguiente conjunto es satisfacible:
{xyz((P (x, y) P (y, z)) A(x, z)), xP (f (x), x), yA(y, a)}
Su dominio de Herbrand es
HS = {a, f (a), f (f (a)), f (f (f (a))), . . . }
y la base de Herbrand
BS = {P (t1 , t2 ); t1 , t2 HS } {A(t1 , t2 ); t1 , t2 HS }
Construimos el
arbol de Gilmore para A1 A2 A3 con:
A1 = xyz((P (x, y) P (y, z)) A(x, z)),
A2 = xP (f (x), x),
A3 = yA(y, a)
E.T.S.I.Inform
atica
Tema 5: Resolucion.
P (f (a), a)
P (f (a), a)
0 (x = a en A2 )
P (f (f (a)), f (a))
P (f (f (a)), f (a))
0 (x = f (a) en A2 )
A(f (f (a)), a)
A(f (f (a)), a)
0 (x = f (f (a)), y = f (a), z = a en A1 ))
0 (y = f (f (a)) en A3 ))
La tabla sem
antica que demuestra igualmente la validez del razonamiento
se muestra a continuaci
on. La diferencia de tama
no entre los dos arboles no
debe conducir a conclusiones err
oneas sobre la complejidad de los metodos.
Debe tenerse en cuenta que, por una parte, el metodo de Gilmore requiere un
proceso de normalizacion previo y que, adem
as, en ambos casos hemos elegido
un orden optimo para las sucesivas extensiones de los arboles.
A(c, a)
8
P (b, a)
8
Es interesante comparar las dos soluciones. En las dos, hemos necesitado tres
elementos para lograr las inconsistencias: a, b y c en las tablas y a, f (a) y
f (f (a)) en el arbol de Gilmore. Adem
as, en ambos casos, el significado de los
mismos en el modelo es el mismo: b es el padre de a y c es el padre de b,
as como f (a) es el padre de a y f (f (a)) es el padre de f (a).
I. T. en Informatica de Sistemas
10
L
ogica Computacional
5.2.
Resoluci
on en la L. C. Proposicional
5.2.1.
Forma clausal
A A , A A,
A ,
A A A,
A A , A A,
A ,
A (A B) A
A (A B) A.
p (q r)
A2
(q s) p
A3
rp
s (p (q r))
E.T.S.I.Inform
atica
Tema 5: Resolucion.
11
obtenemos la forma clausal del conjunto que se obtiene tras refutar la conclusi
on:
A1 = p (q r) p q r
A2 = (q s) p q s p
A3 = r p r p
C s (p q r) (q p) (r p)
Los detalles de la conversi
on en forma normal conjuntiva restringida de C
son los siguientes:
C = (s (p (q r)))
(s ((p q r) (p (q r))))
s ((p q r) (p (q r)))
s (p p) (p q r) (q p)
(q q r) (r p) (r q r)
s (p q r) (q p) (r p)
Por lo tanto, la forma clausal de {A1 , A2 , A3 , C} es
= {p q r, q s p, r p, s, p q r, q p, r p}
5.2.2.
Resoluci
on como Sistema de Demostraci
on
I. T. en Informatica de Sistemas
12
L
ogica Computacional
1. Si C es una cl
ausula restringida y es un literal de C:
2
si C =
Cr :=
1 k1 k n si C = 1 k1 k n
2. Si el literal pertenece a la cl
ausula C1 y pertenece a C2 , decimos que
C1 y C2 son resolubles respecto a y llamamos resolvente de C1 y C2
respecto de a la cl
ausula R (C1 , C2 ) que resulta de obtener la forma
restringida de
(C1 r) (C2 r)
Ejemplo 5.2.1
C = p q r; Crp = q r
C = p q r; Crr = C
C = q; Crq = 2(= )
Rp (p q r, q p t) = q r t
Rp (p, p) = 2
C1 = q r, C2 = p r no son resolubles respecto de ning
un literal.
Rp (q r, r p) NO existe.
E.T.S.I.Inform
atica
Tema 5: Resolucion.
13
1.
p r
2.
3.
= Rr (1, 2)
4.
q r
5.
= Rr (2, 4)
6.
pq
7.
= Rp (3, 6)
8.
= Rq (5, 7)
Seg
un vemos a continuaci
on, al encontrar una deduccion por resolucion para
, podemos deducir que este conjunto es insatisfacible.
si y solo si
R 2
p (q r)
A2
(q s) p
A3
rp
s (p (q r))
p q r
2.
q s p
3.
r p
4.
5.
pqr
6.
q p
I. T. en Informatica de Sistemas
14
L
ogica Computacional
7. r p
5.2.3.
8. q p
R(2,4)
9. p r
R(8,5)
10.
R(3,9)
11.
R(6,10)
12.
p r
R(1,11)
13.
R(9,12)
14.
R(7,10)
15.
R(13,14)
Resoluci
on como algoritmo
pq
2.
pr
3.
q r
4.
5.
p r
R(1, 3)
6.
R(1, 4)
7.
p q
R(2, 3)
8.
R(2, 4)
E.T.S.I.Inform
atica
Tema 5: Resolucion.
15
9. p
R(1, 7)
10.
R(3, 6)
11.
R(3, 8)
12.
R(4, 9)
5.3.
5.3.1.
Resoluci
on en la L. C. de P. de Primer Orden
Forma clausal
(5.4)
I. T. en Informatica de Sistemas
16
L
ogica Computacional
E.T.S.I.Inform
atica
Tema 5: Resolucion.
17
x(S(a, y) P (y)),
P (a),
E(a)}
P (a)
2.
P (a) V (a)
3.
V (a)
R(1,2)
4.
5.
E(a)
6.
R(4,5)
7.
C(f (a))
R(3,6)
8.
9.
R(5,8)
10.
S(a, f (a))
R(9,3)
11.
12.
P (f (a))
R(10,11)
13.
14.
C(f (a))
R(12,13)
15.
R(13,14)
I. T. en Informatica de Sistemas
18
L
ogica Computacional
5.3.2.
Unificaci
on
y(B(y) P (f (y)))
ya que todas las instancias de y(A(f (y)) P (f (y))) tambien los son de
x(A(x) P (x)). Para obtener estas resolventes, de la manera m
as general
posible, necesitamos utilizar el algoritmo de unificacion.
n 5.15 Una sustituci
Definicio
on : L1 L1 es un unificador para las
f
ormulas at
omicas A y B si A = B. Decimos que es el unificador m
as
general si dado otro unificador , existe una sustituci
on tal que = .
Teorema 5.16 El algoritmo que se describe a continuaci
on, determina si dos
f
ormulas at
omicas A y B son o no unificables y en su caso, determina el
unificador m
as general.
Algoritmo de unificaci
on. Dadas dos formulas atomicas A y B con el
mismo smbolo de predicado, el siguiente algoritmo determina en cada paso
una sustitucion i = [xi /ti ] o concluye que las dos formulas no son unificables.
Si son unificables, el algoritmo concluye con la construcci
on de una secuencia
finita de sustituciones 1 = [x1 /t1 ],. . . ,n = [xn /tn ] de tal forma que
n . . . 1 A = n . . . 1 B.
Consideramos A0 = A, 0 = Id (aplicaci
on identidad); si Am1 = m1 . . . 1 A
y Bm1 = m1 . . . 1 B, entonces:
E.T.S.I.Inform
atica
Tema 5: Resolucion.
5.3.3.
Resoluci
on en la L. C. de Primer Orden
I. T. en Informatica de Sistemas
19
20
L
ogica Computacional
n 5.17
Definicio
Sean C1 y C2 dos cl
ausulas que no comparten variables y sean 1 y 2
dos literales en C1 y C2 respectivamente tales que 1 y 2 son unificables
y es su unificador m
as general; entonces C1 y C2 son resolubles y la
forma restringida de cl
ausula
(C1 rL1 ) (C2 rL2 )
se denomina resolvente binaria de C1 y C2 respecto de L1 y se denota
R(C1 , C2 ).
(RB) Resolvente binaria: si C1 y C2 son resolubles, entonces
R(C1 , C2 ) es consecuencia inmediata a partir C1 y C2 .
Si dos literales con el mismo signo de un clausula C son unificables y su
unificador m
as general es , entonces la forma restringida de la cl
ausula
C se denomina factor de C.
(FB) Factor binario: si C es un factor de C, entonces C es
consecuencia inmediata de C.
Dado un conjunto de cl
ausulas restringidas , decimos que C es deducible por resolucion a partir de , y lo denotamos R C, si existe una
secuencia finita y ordenada de cl
ausulas C1 , . . . , Cn tal que Cn = C y
cada cl
ausula es o bien un elemento de o bien consecuencia inmediata de las anteriores por las reglas (RB) o (FB) definidas en los puntos
anteriores. La secuencia de cl
ausulas se denomina deduccion por Resoluci
on de C desde ; si C = 2 la secuencia se denomina simplemente
refutaci
on por resolucion.
Adem
as de la regla de resolucion, debemos considerar la posibilidad de
obtener factores. Estas clausulas se corresponden con las instancias b
asicas
del conjunto de cl
ausulas en las que podemos eliminar literales repetidos; no
debemos olvidar que, tambien en la logica de primer orden, trabajamos con
cl
ausulas restringidas.
Tambien debemos destacar la condici
on impuesta sobre dos clausulas antes
de comprobar si son unificables: no pueden compartir variables. Recordemos
que cada cl
ausula est
a independientemente cuantificada y, por lo tanto, siempre podemos renombrar las variables para conseguir esta condici
on.
Teorema 5.18 Un conjunto de cl
ausualas en la l
ogica de primer orden es
insatisfacible si y solo si existe una refutaci
on por resoluci
on.
Ejemplo 5.3.3 Vamos a encontrar una refutacion por resolucion para el conjunto
= {F (x, a) F (x, t) F (t, x), F (x, a) F (x, f (x)), F (x, a) F (f (x), x)}
E.T.S.I.Inform
atica
Tema 5: Resolucion.
21
1.
2.
F (x, a) F (a, x)
FB(1): = [t/a]
3.
F (a, a)
FB(2): = [x/a]
4.
5.
F (a, f (a))
6.
F (f (a), a)
7.
F (x, a) F (f (x), x)
8.
F (a, a)
9.
RB(3, 8)
Ejemplo 5.3.4 Como ya hemos dicho, la regla (FB) es necesaria para obtener un sistema deductivo completo. Consideremos el siguiente conjunto de
clausulas:
= {P (x) P (y), P (x) P (y)}
Salvo renombramientos de variables, la u
nica resolvente binaria que puede
obtenerse a partir de es P (x) P (y), y por lo tanto, no podemos generar,
de esta forma, la cl
ausula vaca. Sin embargo, es insatisfacible:
xy(P (x) P (y)) |= P (a)
xy(P (x) P (y)) |= P (a)
|= P (a) P (a)
5.4.
Resoluci
on Lineal Ordenada
I. T. en Informatica de Sistemas
22
L
ogica Computacional
Establecemos a continuaci
on, detalladamente, las definiciones necesarias
para describir el algoritmo del Resolucion Lineal Ordenada.
Consideramos las clausulas como secuencias ordenadas de literales, de tal
forma que dicho orden no puede ser alterado en el proceso de deduccion.
Para analizar si dos clausulas C1 y C2 , son resolubles, solo miramos el
primer literal por la derecha de C1 .
El literal resuelto en la clausula C1 , se mantiene en la resolvente pero
marcado con un recuadro, excepto si este queda el primero por la derecha.
RO(q p, r p q) = q p r
[= q r]
RO(q p, p) = [q p ] = q
RO(Q(x) P (x, a), R(z) P (b, z) Q(b)) =
= Q(b) P (b, a) R(a)
Las sustituciones que apliquemos posteriormente a estas resolventes actuar
an igualmente sobre los literales recuadrados.
En caso de repeticion y al obtener factores, se elimina el literal repetido
de la derecha.
ROp (q p, r p q) = [q p r q] = q p r
Sobre las cl
ausulas con literales recuadrados, definimos la operaci
on de
Reducci
on: si el primer literal por la derecha es unificable con el opuesto
de un literal recuadrado, aquel es eliminado:
Red(p q r q) = p q r = [RO(p q, p r q)]
Red(P (y) Q(x, y) R(x) Q(a, f (x)) =
= P (f (a)) Q(a, f (a)) R(a)
Los literales recuadrados guardan la informaci
on sobre clausulas que se han
obtenido previamente en el proceso de resolucion; la reduccion consiste en
obtener la resolvente entre la propia clausula y una de las clausulas recordada
por las marcas.
Algoritmo. El algoritmo de resolucion lineal ordenada consiste en la creaci
on de uno o varios arboles en donde cada nodo y cada rama se etiquetan de
una de las siguientes formas:
C1
C1
C1
F actor(C1 )
Red(C1 )
C2
RO(C1 , C2 )
E.T.S.I.Inform
atica
Tema 5: Resolucion.
I. T. en Informatica de Sistemas
23
24
L
ogica Computacional
Ejemplo 5.4.2 0 = {p q r, q r s p, r p s, r s q}
E.T.S.I.Inform
atica
Tema 5: Resolucion.
25
= {F (x, a) F (x, t) F (t, x), F (x, a) F (x, f (x)), F (x, a) F (f (x), x)}
I. T. en Informatica de Sistemas
26
L
ogica Computacional
5.5.
Cl
ausulas de Horn
Un programa l
ogico es un conjunto de formulas que responden al siguiente
esquema
(A1 An ) A
en donde A y cada Ai son atomos; en particular, no se incluye la negaci
on. Este
tipo de conjuntos responde a la idea de una base de conocimiento compuesta
por reglas. Si n = 0, la regla se reduce al atomo A; estas reglas se denominan
hechos. Cada
atomo Ai debe ser distinto de , ya que en caso contrario la
regla sera una tautologa y por lo tanto superflua en el programa. El atomo A
s puede ser ; en ese caso, la regla es equivalente a la formula (A1 An )
y se denomina restricci
on.
Si las reglas de un programa logico se convierten en forma clausal, obtenemos un conjunto de clausulas que contienen a los sumo un literal positivo.
Este tipo de cl
ausulas se denominan cl
ausulas de Horn y por lo tanto, trabajar
con programas l
ogicos es equivalente a considerar conjuntos de clausulas de
Horn.
Siguiendo con la identificaci
on de los programas los logicos con bases de
conocimiento basadas en reglas, la realizaci
on de una consulta a esta base de
conocimiento se corresponde con el estudio de la validez de una inferencias.
Concretamente, hacer una consulta es preguntarse si una afirmacion A (atomo
del lenguaje) es deducible del programa, es decir, si la inferencia P |= A es
valida. Para estudiar la validez de esta inferencia usando resolucion, debemos
E.T.S.I.Inform
atica
Tema 5: Resolucion.
I. T. en Informatica de Sistemas
27
28
L
ogica Computacional
E.T.S.I. Inform
atica
L
ogica Computacional: Relaci
on 5
b)
x(D(x) Q(x))
xyA(y, x)
E.T.S.I.Inform
atica
Tema 5: Resolucion.
29
I. T. en Informatica de Sistemas
30
L
ogica Computacional
E.T.S.I. Inform
atica
L
ogica Computacional: Ejercicios propuestos (5)
1. Estudie la insatisfacibilidad del siguiente conjunto de clausulas:
M (a, s(c), s(b))
P (a)
M (x, x, s(x))
M (x, y, z) M (y, x, z)
M (x, y, z) D(x, z)
P (x) M (y, z, u) D(x, u) D(x, y) D(x, z)
D(a, b)
2. Estudie la insatisfacibilidad del siguiente conjunto de clausulas
P (y, a) P (f (y), y)
P (y, a) P (y, f (y))
P (x, y) P (f (y), y)
P (x, y) P (y, f (y))
P (x, y) P (y, a)
3. Estudie la insatisfacibilidad del siguiente conjunto de clausulas:
P (x, y, u) P (y, z, v) P (x, v, w) P (u, z, w)
P (g(x, y), x, y)
P (x, h(x, y), y)
P (k(x), x, k(x))
4. Para cada una de las formulas siguientes, A: determine una formula en
forma normal de Skolem equisatisfacible con A y determine su universo
y base de Herbrand; determine una formula en forma normal de Skolem
equisatisfacible con A y determine su universo y base de Herbrand.
a) xP (x) xQ(x)
b) x(P (x) yR(y))
c) x(P (x) yQ(x, y))
d) x(yP (y) z(Q(z) R(x)))
e) xy(zP (z) u(Q(x, u) vQ(y, v)))
f ) xy(z(P (x, z) P (y, z)) uQ(x, y, u))
g) xyz((P (x, y)P (y, z)) Q(x, z))(xyP (x, y) xyQ(x, y))
E.T.S.I.Inform
atica