PDF de programación - Lógica informática (2014–15) - Tema 12: Resolución en lógica de primer orden

Lógica informática (2014–15) - Tema 12: Resolución en lógica de primer ordengráfica de visualizaciones

Publicado el 19 de Abril del 2017
679 visualizaciones desde el 19 de Abril del 2017
228,2 KB
31 paginas
Creado hace 9a (05/09/2014)
PD Tema 12: Resolución en lógica de primer orden

Lógica informática (2014–15)

Tema 12: Resolución en lógica de primer orden

José A. Alonso Jiménez
Andrés Cordón Franco
María J. Hidalgo Doblado

Grupo de Lógica Computacional

Departamento de Ciencias de la Computación e I.A.

Universidad de Sevilla

1 / 31

PD Tema 12: Resolución en lógica de primer orden

Tema 12: Resolución en lógica de primer orden

1. Introducción

2. Unificación

3. Resolución de primer orden

2 / 31

PD Tema 12: Resolución en lógica de primer orden

Introducción

Tema 12: Resolución en lógica de primer orden

1. Introducción

Ejemplos de consecuencia mediante resolución

2. Unificación

3. Resolución de primer orden

3 / 31

PD Tema 12: Resolución en lógica de primer orden

Introducción

Ejemplos de consecuencia mediante resolución

Ejemplos de consecuencia mediante resolución

Ejemplo 1:

se reduce a

{∀x [P(x ) → Q(x )],∃x P(x )} |= ∃x Q(x )
{{¬P(x ), Q(x )},{P(a)},{¬Q(z)}} es inconsistente.

Demostración:
1 {¬P(x ), Q(x )} Hipótesis
2 {P(a)}
Hipótesis
3 {¬Q(z)}
Hipótesis
4 {Q(a)}
Resolvente de 1 y 2 con σ = [x /a]
5
Resolvente de 3 y 4 con σ = [z/a]

4 / 31

PD Tema 12: Resolución en lógica de primer orden

Introducción

Ejemplos de consecuencia mediante resolución

Ejemplos de consecuencia mediante resolución

Ejemplo 2:

se reduce a

{∀x [P(x ) → Q(x )],∀x [Q(x ) → R(x )]} |= ∀x [P(x ) → R(x )]
{{¬P(x ), Q(x )},{¬Q(y ), R(y )},{P(a)},{¬R(a)}}
es inconsistente.

Demostración:

1 {¬P(x ), Q(x )} Hipótesis
2 {¬Q(y ), R(y )} Hipótesis
3 {P(a)}
Hipótesis
4 {¬R(a)}
Hipótesis
5 {Q(a)}
Resolvente de 1 y 3 con σ = [x /a]
6 {R(a)}
Resolvente de 2 y 5 con σ = [y /a]
5
Resolvente de 4 y 6 con σ = 

5 / 31

PD Tema 12: Resolución en lógica de primer orden

Unificación

Tema 12: Resolución en lógica de primer orden

1. Introducción

2. Unificación

Unificadores
Composición de sustituciones
Comparación de sustituciones
Unificador de máxima generalidad
Algoritmo de unificación

3. Resolución de primer orden

6 / 31

PD Tema 12: Resolución en lógica de primer orden

Unificación

Unificadores

Unificadores

Def.: La sustitución σ es un unificador de los términos t1 y t2 si

t1σ = t2σ.

Def.: Los términos t1 y t2 son unificables si tienen algún unificador.
Def.: t es una instancia común de t1 y t2 si existe una sustitución σ

tal que t = t1σ = t2σ.

Ejemplos:

t1
f (x , g(z))
f (x , g(z))
f (x , g(z))
f (x , y )
f (x , y )
f (x , y )
f (x , x )
f (x )

t2
f (g(y ), x )
f (g(y ), x )
f (g(y ), x )
f (y , x )
f (y , x )
g(a, b)
f (a, b)
f (g(x ))

términos y de literales.

Unificador
[x /g(z), y /z]
[x /g(y ), z/y ]
[x /g(a), y /a]
[x /a, y /a]
[y /x ]
No tiene
No tiene
No tiene

Instancia común
f (g(z), g(z))
f (g(y ), g(y ))
f (g(a), g(a))
f (a, a)
f (x , x )
No tiene
No tiene
No tiene

Nota: Las anteriores definiciones se extienden a conjuntos de

7 / 31

PD Tema 12: Resolución en lógica de primer orden

Unificación

Composición de sustituciones

Composición de sustituciones e identidad

Composición de sustituciones:

Def.: La composición de las sustituciones σ1 y σ2 es la sustitución
Ejemplo: Si σ1 = [x /f (z, a), y /w ] y σ2 = [x /b, z/g(w )], entonces

σ1σ2 definida por x (σ1σ2) = (x σ1)σ2, para toda variable x.

– x σ1σ2 = (x σ1)σ2 = f (z, a)σ2 = f (zσ2, aσ2) = f (g(w ), a)
– y σ1σ2 = (y σ1)σ2 = w σ2 = w
– zσ1σ2 = (zσ1)σ2 = zσ2 = g(w )
– w σ1σ2 = (w σ1)σ2 = w σ2 = w

Por tanto, σ1σ2 = [x /f (g(w ), a), y /w , z/g(w )].

Def.: La substitución identidad es la sustitución  tal que, para

todo x, x  = x.

Propiedades:

1. Asociativa: σ1(σ2σ3) = (σ1σ2)σ3
2. Neutro: σ = σ = σ.

8 / 31

PD Tema 12: Resolución en lógica de primer orden

Unificación

Comparación de sustituciones

Comparación de sustituciones

Def.: La sustitución σ1 es más general que la σ2 si existe una
sustitución σ3 tal que σ2 = σ1σ3. Se representa por σ2 ≤ σ1.
Def.: Las sustituciones σ1 y σ2 son equivalentes si σ1 ≤ σ2 y

σ2 ≤ σ1. Se representa por σ1 ≡ σ2.
σ3 = [x /g(a), y /a]. Entonces,

Ejemplos: Sean σ1 = [x /g(z), y /z], σ2 = [x /g(y ), z/y ] y

1. σ1 = σ2[y /z]
2. σ2 = σ1[z/y ]
3. σ3 = σ1[z/a]
4. σ1 ≡ σ2
5. σ3 ≤ σ1

Ejemplo: [x /a, y /a] ≤ [y /x ], ya que [x /a, y /a] = [y /x ][x /a, y /a].

9 / 31

PD Tema 12: Resolución en lógica de primer orden

Unificación

Unificador de máxima generalidad

Unificador de máxima generalidad

Def.: La sustitución σ es un unificador de máxima generalidad

(UMG) de los términos t1 y t2 si
– σ es un unificador de t1 y t2.
– σ es más general que cualquier unificador de t1 y t2.

Ejemplos:

1. [x /g(z), y /z] es un UMG de f (x , g(z)) y f (g(y ), x ).
2. [x /g(y ), z/y ] es un UMG de f (x , g(z)) y f (g(y ), x ).
3. [x /g(a), y /a] no es un UMG de f (x , g(z)) y f (g(y ), x ).
Nota: Las anterior definición se extienden a conjuntos de

términos y de literales.

10 / 31

PD Tema 12: Resolución en lógica de primer orden

Unificación

Algoritmo de unificación

Unificación de listas de términos

Notación de lista:

(a1, . . . , an) representa una lista cuyos elementos son a1, . . . , an.
(a|R) representa una lista cuyo primer elemento es a y resto es R.
() representa la lista vacía.

Unificadores de listas de términos:

Def.: σ es un unificador de (s1 . . . , sn) y (t1 . . . , tn) si

s1σ = t1σ, . . . , snσ = tnσ.

Def.: (s1 . . . , sn) y (t1 . . . , tn) son unificables si tienen algún

unificador.

Def.: σ es un unificador de máxima generalidad (UMG) de

(s1 . . . , sn) y (t1 . . . , tn) si σ es un unificador de (s1 . . . , sn) y
(t1 . . . , tn) más general que cualquier otro.

Aplicación de una sustitución a una lista de ecuaciones:

(s1 = t1, . . . , sn = tn)σ = (s1σ = t1σ, . . . , snσ = tnσ).

11 / 31

PD Tema 12: Resolución en lógica de primer orden

Unificación

Algoritmo de unificación

Algoritmo de unificación de listas de términos

Entrada: Lista de ecuaciones L = (s1 = t1, . . . , sn = tn) y

sustitución σ.

Salida:

Un UMG de las listas (s1 . . . , sn)σ y (t1 . . . , tn)σ, si son unificables;
“No unificables”, en caso contrario.

12 / 31

PD Tema 12: Resolución en lógica de primer orden

Unificación

Algoritmo de unificación

Algoritmo de unificación de listas de términos

Procedimiento unif(L, σ):

1. Si L = (), entonces unif(L, σ) = σ.
2. Si L = (t = t|L0), entonces unif(L, σ) = unif(L0, σ).
m)|L0), entonces
1 . . . , t0
3. Si L = (f (t1, . . . , tm) = f (t0
m|L0), σ).
1, . . . , tm = t0
unif(L, σ) = unif((t1 = t0
4. Si L = (x = t|L0) (ó L = (t = x|L0)) y x no aparece en t, entonces
unif(L, σ) = unif(L0[x /t], σ[x /t]).
5. Si L = (x = t|L0) (ó L = (t = x|L0)) y x aparece en t, entonces
6. Si L = (f (t1, . . . , tm) = g(t0
7. Si L = (f (t1, . . . , tm) = f (t0

unif(L, σ) = “No unificables”.
1 . . . , t0
unif(L, σ) = “No unificables”.
1 . . . , t0
unif(L, σ) = “No unificables”.

m)|L0), entonces
p)|L0) y m 6= p, entonces

13 / 31

PD Tema 12: Resolución en lógica de primer orden

Unificación

Algoritmo de unificación

Algoritmo de unificación de dos términos

Entrada: Dos términos t1 y t2.
Salida: Un UMG de t1 y t2, si son unificables;

“No unificables”, en caso contrario.

Procedimiento: unif((t1 = t2), ).
Ejemplo 1: Unificar f (x , g(z)) y f (g(y ), x ):

unif((f (x , g(z)) = f (g(y ), x )), )

= unif((x = g(y ), g(z) = x ), )
por 3
= unif((g(z) = x )[x /g(y )], [x /g(y )]) por 4
= unif((g(z) = g(y )), [x /g(y )])
= unif((z = y ), [x /g(y )])
= unif((), [x /g(y )][z/y ])
= unif((), [x /g(y ), z/y ])
= [x /g(y ), z/y ]

por 3
por 4

por 1

14 / 31

PD Tema 12: Resolución en lógica de primer orden

Unificación

Algoritmo de unificación

Ejemplos de unificación

Ejemplo 2: Unificar f (x , b) y f (a, y ):

unif((f (x , b) = f (a, y ), )

= unif((x = a, b = y ), )
= unif((b = y )[x /a], [x /a])
= unif((b = y ), [x /a])
= unif((), [x /a][y /b])
= [x /a, y /b])

Ejemplo 3: Unificar f (x , x ) y f (a, b):

unif((f (x , x ) = f (a, b)), )

= unif((x = a, x = b), )
= unif((x = b)[x /a], [x /a])
= unif((a = b), [x /a])
= “No unificable”

por 3
por 4

por 4
por 1

por 3
por 4

por 6

15 / 31

PD Tema 12: Resolución en lógica de primer orden

Unificación

Algoritmo de unificación

Ejemplos de unificación

Ejemplo 4: Unificar f (x , g(y )) y f (y , x ):

unif((f (x , g(y )) = f (y , x )), )

= unif((x = y , g(y ) = x ), )
= unif((g(y ) = x )[x /y ], [x /y ])
= unif((g(y ) = y ), [x /y ])
= “No unificable”

por 3
por 4

por 5
Ejemplo 5: Unificar j(w , a, h(w )) y j(f (x , y ), x , z)

unif((j(w , a, h(w )) = j(f (x , y ), x , z)))
= unif((w = f (x , y ), a = x , h(w ) = z), )
= unif((a = x , h(w ) = z)[w /f (x , y )], [w /f (x , y )])
= unif((a = x , h(f (x , y )) = z), [w /f (x , y )])
= unif((h(f (x , y )) = z)[x /a], [w /f (x , y )][x /a])
= unif((h(f (a, y )) = z), [w /f (a, y ), x /a])
= unif((), [w /f (a, y ), x /a][z/h(f (a, y ))])
= [w /f (a, y ), x /a, z/h(f (a, y ))]

por 3
por 4

por 4

por 4
por 116 / 31

PD Tema 12: Resolución en lógica de primer orden

Unificación

Algoritmo de unificación

Ejemplos de unificación

Ejemplo 6: Unificar j(w , a, h(w )) y j(f (x , y ), x , y )

unif((j(w , a, h(w )) = j(f (x , y ), x , y )))
= unif((w = f (x , y ), a = x , h(w ) = y ), )
= unif((a = x , h(w ) = y )[w /f (x , y )], [w /f (x , y )])
= unif((a = x , h(f (x , y )) = y ), [w /f (x , y )])
= unif((h(f (x , y )) = y )[x /a], [w /f (x , y )][x /a])
= unif((h(f (a, y )) = y ), [w /f (a, y ), x /a])
= “No unificable”

Ejemplo 7: Unificar f (a, y ) y f (a, b):

unif((f (a, y ) = f (a, b), ))

= unif((a = a, y = b), )
= unif((y = b), )
= unif((), [y /b])
= [y /b]

por 3
por 2
por 4
por 1

por 3
por 4

por 4

por 5

17 / 31

PD Tema 12: Resolución en lógica de primer orden

Resolución de pri
  • Links de descarga
http://lwp-l.com/pdf3104

Comentarios de: Lógica informática (2014–15) - Tema 12: Resolución en lógica de primer orden (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad