You are on page 1of 144

2.

Fundamentos de la
Programación Lógica

Jorge Cabrera Gámez


Departamento de Informática y Sistemas
Universidad de Las Palmas de Gran Canaria
© Todos los derechos reservados

|  

Contenidos
2. Fundamentos de la Programación Lógica
2.1 Introducción a la representación en Lógica.
2.2 Representación mediante Cláusulas.
2.3 Unificación y sustitución.
2.4 Resolución por Refutación.
2.5 Sistemas de Deducción o No-Resolución.
2.6 Programación Lógica y Prolog.
2.7 Bibliografía básica:
ƥ Principles of Artificial Intelligence, N.J. Nilsson, Springer-Verlag,
1982.
ƥ From Logic Programming to Prolog, K.R. Apt, Prentice-Hall,
1997.
|  

Ñbjetivos:
ƥ Presentar la lógica de predicados de primer
orden como formalismo de representación del
conocimiento e inferencia.

ƥ Estudiar los métodos de inferencia


automáticos aplicables a la lógica de predicados,
esencialmente el método de resolución por
refutación.

|  

Representación e inferencia en la lógica de predicados

Idea:
La lógica como sistema de representación del
conocimiento y de obtención de
consecuencias (control)

Cálculo de predicados de primer orden

Fórmulas atómicas
Fórmulas

Conectores
|  

Fórmulas atómicas
Términos

autor(quijote, cervantes)

escritor(cervantes) autor(quijote, Quién)

autor(quijote, mejor(novelista, españa))

Predicado: Un predicado es un símbolo cuyo valor


se encuentra en el dominio lógico (verdadero o
falso) y representa alguna cualidad semántica, en
un cierto contexto, acerca de las relaciones entre
objetos o entidades

|  

Fórmulas atómica :: Predicado | Predicado(Términos)

Términos :: Término | Término, Términos

Término :: Variable | Constante | Functor

Functor :: NombreFunctor(Términos)

Normas
Functor:
Variable:
léxicas:
Constante:
Es
Representa
Las
un símbolo
variables
unque
término
siempre
poseecuyo
empiezan
valorvalor
en elno
por
dominio
está
mayúscula
determinado
de las
Representa
variables
inicialmente un término
y constantes,
y su condeun
dominio
pero quevalor semántico
definición
no es nidebe
una coincidir
variable con
ni
determinado
una
el las
deconstante.
los términospor
constantes constantes
minúscula

|  

Conectores

Permiten construir fórmulas complejas a partir de


fórmulas o expresiones atómicas

Negación : ü- 
Disyunción : -ÑR
Conjunción :  -AND
Implicación :  -
Equivalencia : 

|  

Negación: Genera una fórmula que posee valores lógicos
complementarios a los de la fórmula sobre la que se
aplica. Estrictamente no es un conector, pues no conecta
dos fórmulas sino que transforma una.

ü autor-hamlet, cervantes

Disyunción: Genera una fórmula cuyo valor lógico es el


ƠÑRơ de los valores de las dos fórmulas que conecta.

estado-bombilla, encendida estado-bombilla, apagada

Conjunción: Genera una fórmula cuyo valor lógico es el


ƠANDơ de los valores de las dos fórmulas que conecta.

color-coche, rojo  color-camisa, azul


|  

Implicación: Genera una fórmula compuesta no-simétrica
que es cierta siempre, salvo cuando el antecedente es
cierto y el consecuente falso.

p  q es equivalente a üp q

p q pq üp üp q

0 0 1 1 1
0 1 1 1 1
1 0 0 0 0
1 1 1 0 1

está-cielo, azul  ü lloverá-hoy

ü está-cielo, azul ü lloverá-hoy


|  

Equivalencia o doble implicación: Genera una fórmula que
es cierta sólo si las dos componentes poseen idéntico
valor.

p  q es equivalente a -p  q  -q  p

p q pq qp -p  q  -q  p

0 0 1 1 1
0 1 1 0 0
1 0 0 1 0
1 1 1 1 1

llueve-hoy  está-cielo, nublado

|  

Equivalencias

Complemento: p üp1
Doble negación: ü-üpp
Conmutativa: p qq p
pqqp

Distributiva: p -q  r  -p q  -p r
p  -q r  -p  q -p  r

Asociativa: p -q r  -p q r
p  -q  r  -p  q  r

Leyes de De Morgan: ü -p q  ü p  ü q
ü -p  q  ü p ü q

Ley del contrapositivo:


|  
 pqüqüp
Cuantificadores Establecen el ámbito de
existencia de las variables

Cuantificador Universal -Ë:

Cuando acompaña a una variable X establece que la


fórmula es siempre válida para cada valor posible
de la variable X. La variable X se dice entonces
cuantificada universalmente.

ƠTodo cuerpo con masa caeơ

-ËX - [cuerpo-X  posee-masa, X  cae-X 

|  

Cuantificadores Establecen el ámbito de
existencia de las variables

Cuantificador Existencial -':

Establece que como mínimo existe un valor de la


variable cuantificada que hace cierta la fórmula. La
variable se dice cuantificada existencialmente.

ƠAlguién descubrió la penicilinaơ

-' X - descubrió- X, penicilina 

|  

Reglas de precedencia entre operadores
ü
Ë, ' menor precedencia
,
, 

Forma Normal de una fórmula


Una fórmula se dice que está en forma normal
si todos los cuantificadores han sido
desplazados al principio de la fórmula.

|  

Forma normal de una fórmula
Una fórmula se dice que está en forma normal si todos los
cuantificadores han sido desplazados al principio de la
fórmula.

Algunas equivalencias útiles para alcanzar una forma


normal

ü [ -' X p-X   -ËX [ü p-X 

ü [ -ËX p-X   -' X [ü p-X 

-Ë X [ p-X  q-X   [ -ËX p-X   [ -ËX q-X 

-' X [ p-X q-X   [ -' X p-X  [ -' X q-X 


|  

Reglas de Inferencia
Especialización Universal: siempre es posible deducir la
verificación de un caso concreto a partir de un cuantificador
universal.
-ËX p-X p-a


perme la 
de alqer propo

e

a f rmla por ora beqvale
e.

Mod po
e
 de 
a mpla
de la verfa
de la
prema e verfa la o
l
.
Axoma p  q
Axoma p
Teorema q

|  

´   e
 e 
a impicació
y e a
verificació
e
c
ece
e, e c
cye a
verificació
e a premia.
Axi ma p  q
Axioma: ¬q
Teorema: ¬p

 I
roi
: la fbf pq pee ser i
feria e las fbf p y q.
 Elimi
ai
: la fbf p pee ser i
feria e la fbf pq.
I
roi
: la fbf p q pee ser i
feria e la fbf p o
e la fbf q.

|  

Lógica de orden cero:

Los predicados carecen de términos y el cálculo de


predicados se reduce al cálculo de proposiciones o
proposicional.

Lógica de orden uno:

Los predicados poseen términos que pueden ser


constantes, variables o functores.

Lógica de orden superior:

Los predicados lógicos pueden ser en sí mismos


variables.

|  

Ejercicios. Expresar como fbf en lógica de predicados los
siguientes hechos

A. Marco era un hombre.


B. Marco era pompeyano -de Pompeya.
C. Todos los pompeyanos eran romanos.
D. César era un dirigente.
E. Todos los romanos o bien eran leales a César o bien le
odiaban.
F. Todo el mundo es fiel a alguien.
G. La gente sólo trata de asesinar a aquellos dirigentes a
los que no son leales.
H. Marco intentó asesinar a César.
I. Algún romano odia a César.

|  

A. hombre-marco
B. pompeyano-marco
C. -ËX-pompeyano-X  romano-X
D. dirigente-césar
E. -ËX-romano-X  leal-X,césar odia-X,césar
F. -ËX-hombre-X  -'  leal-X, 
G. -ËX-Ë  -hombre-X  dirigente- 
 intenta_asesinar-X,   ü leal-X, 
H. intenta_asesinar-marco, césar
I. -'X -romano-X  odia-X, césar

|  

Lo que queremos hacer ...

Teorema + Axiomas -como fórmulas bien formadas, fbf

+
Teorema + Axiomas -como cláusulas

Método de resolución por refutación


Unificación

Demostración automática de teoremas


|  

IMPÑRTANTE:

La demostración automática de teoremas lógicos es un


procedimiento que involucra una mera actividad
sintáctica, o de relación entre símbolos, ignorándose
completamente el contenido semántico que resulta de
la interpretación de las fórmulas.

|  

Fórmulas bien formadas -fbf
Son aquellas que cumplen ciertos requisitos en su estructura y
definen la sintaxis del cálculo de predicados

Una fórmula se dice bien formada si puede derivarse de


alguna de las siguientes reglas de formación:

1. Cualquier fórmula atómica es una fbf.


2. Si p y q son fbf, entonces también serán fbf las siguientes:
¬p, p q, p  q, p  q

3. Si X es una variable libre en la fbf p, entonces son fbf :


-ËX p-X, -'X p-X

4. Cualquier fórmula que no pueda formarse a partir de estas


reglas no es una fbf.
|  

Cláusula
Es una fórmula que sólo contiene operadores disyuntivos
y posiblemente negaciones sobre los átomos.

Este tipo de fórmulas pueden ser expresadas por una


única implicación. Así la fórmula:

a1 a2 ... an b1 b2 ... bm
se puede transformar en :

¬-¬ a1  ¬ a2  ...  ¬ an  b1 b2 ... bm


¬ a1  ¬ a2  ...  ¬ an  b1 b2 ... bm

|  

Cláusulas de Horn.

Aquellas cuyo consecuente tiene un único predicado.

a1  a2  ...  an  b

Ventajas de una representación basada en cláusulas de Horn

ƥ La demostración de teoremas o resolución de un conjunto


de cláusulas de Horn es más sencilla en general.

ƥ Las cláusulas de Horn admiten una interpretación directa


en términos de un lenguaje de programación, lo que no es
posible con cláusulas generales.

|  

Transformación a cláusulas

Para ilustrar el proceso paso a paso emplearemos la siguiente


fómula compleja como ejemplo:

-ËX p-X  -Ë [p-   p-f-X,  ü-Ë [q-X,   p- 

1. E
   b   e p
, uttuye
 p  q
p  üp q.

T ete pe p ,


uet f u e t
f  e
:

-ËX üp-X -Ë [ü p-  p-f-X,   ü-Ë [ü q-X,  p- 

|  

2. ´ e 
eg
e h  f   , p
e e epe
 eye de ´ 
y  
 
e
de 
d e exe
e y 
ee.

ü -p q  ü p  ü q
ü -p  q  ü p ü q

ü [ -' X p-X   -ËX [ü p-X 


ü [ -ËX p-X   -' X [ü p-X 

Aplicándolo sobre el ejemplo:


-ËX üp-X -Ë [ü p-  p-f-X,   ü-Ë [ü q-X,  p- 

-ËX ü p-X -Ë [ü p-  p-f-X,   -' [q-X,   ü p- 


|  

3. Re
b be, e
que  c  e
  que 
be e hy

bd de gu f . E

uet c
et cue c
 be que e
b  c  Z e
u
egu
d cue
c.

Aí
uet ejep e t
f  e
:
-ËX ü p-X -Ë [ü p-  p-f-X,   -' [q-X,   ü p- 

-ËX ü p-X -Ë [ü p-  p-f-X,   -'Z[q-X,Z  ü p-Z

|  

4. E
   
 e exe
e. L vbe

 p  ee p e 
 e eá

 p  
p e 
ó
  í
e



ó
e Sk e -p e e k ezó
.

P.e. -'Z q-X,Z se transforma en q-X, g-X

en donde g-X es la función de Skolem para este caso.


Nótese que no sólo se eliminan los cuantificadores
existenciales sino también las variables ligadas a los mismos.

La función de Skolem introducida debe ser nueva en el


universo de discurso, y además deberá ser función de todas
las variables cuantificadas universalmente cuyos ámbitos
incluyan el ámbito del cuantificador existencial que se
pretende eliminar.
|  

Así nuestro ejemplo se transforma en:
-ËX ü p-X -Ë [ü p-  p-f-X,   -'Z[q-X,Z  ü p-Z

-ËX ü p-X -Ë [ü p-  p-f-X,   [q-X, g-X  ü p-g-X

Si el cuantificador existencial no se encuentra en el ámbito de


ningún cuantificador universal, se usará una función de
Skolem sin argumentos. Como en el siguiente ejemplo:

-'Z q-Z se transforma en q-a

Donde el símbolo constante a referencia a la entidad que


sabemos existe. Evidentemente a debe ser un símbolo que no
haya sido empeado con anterioridad.
|  

5. De   
 e 
ee e m
e qe
qee
  me
 e  óm -e
ex  m. Ee
 e ee e e   

exe
y
be 
 
e mm
mbe.
-ËX ü p-X -Ë [ü p-  p-f-X,   [q-X, g-X  ü p-g-X

-ËX -Ë  ü p-X [ü p-  p-f-X,   [q-X, g-X  ü p-g-X

6. C
e   pe e 

  - e
  
exe
, p  qe e epe
 eye b.  
f  e
e e e e

 f 
 

.

Ee p e ee  be e eep e


  p :

|  

Partiendo de la última expresión,

-ËX-Ë  ü p-X [ü p-  p-f-X,   [q-X, g-X  ü p-g-X

se aplica primero la ley distributiva:

-ËX-Ë  ü p-X [ü p-  p-f-X,  


ü p-X [q-X, g-X  ü p-g-X

Aplicando de nuevo la ley distributiva y la asociativa:

-ËX-Ë  [ü p-X ü p-  p-f-X,  


[ü p-X q-X, g-X  
[ü p-X ü p-g-X

|  

7. E
   
 e 
ee. Se  e

 e
ó

e

,
eó, pe e e
qe   be qe pez eá 


ee
e. L 
ó
e Sk e qee e
 ,
 qe 
pee  be qe 

ee, pee
e
e  
 e p 

e
 . E

e ejep :

-ËX-Ë  [ü p-X ü p-  p-f-X,  


[ü p-X q-X, g-X  
[ü p-X ü p-g-X

[ü p-X ü p-  p-f-X,  


[ü p-X q-X, g-X  
[ü p-X ü p-g-X

|  

8. E
   
e e 

  ().
d qe  fó e  ep
de 

 

ó

de bfó, é debeá


efe p  epd
p qe e efqe  fó p
p.

E p de, e

e  , e ge
e 

 de
fó:

[ü p-X ü p-  p-f-X,  


[ü p-X q-X, g-X  
[ü p-X ü p-g-X

ü p-X ü p-  p-f-X, 
ü p-X q-X, g-X
ü p-X ü p-g-X

|  

9. Re
b  be. p que
pezc 
 be e
d  cáuu.

ü p-X ü p-  p-f-X, 
ü p-X q-X, g-X
ü p-X ü p-g-X

ü p-X ü p-  p-f-X, 
ü p-U q-U, g-U
ü p- ü p-g-

------ * * * ------

Mediante este proceso se termina en una representación


en forma de cláusulas. Así de una una única fórmula
pueden resultar varias cláusulas que son más modulares
y de estructura más simple.
|  

Proceso de paso a cláusulas

1. El
ar los sbolos de plcac

2. ´oer las
eaco
es hasa las  rulas a cas
3. Re
obrar arables
4. El
ar los cua
cadores exse
cales.
5. esplaar los cua
cadores u
ersales
6. Co
err los operadores  e
los ás exer
os
7. El
ar los cua
cadores u
ersales.
8. El
ar los co
ecores co
u
os ().
9. Re
obrar las arables.

|  

Un ejemplo del mundo de los bloques
Acerca de los bloques conocemos tres cosas:

A. Que un bloque est encma de alo que no es una


prmde.
B. Que no exste nnn objeto que esté debajo de un
bloque y a la e encma del msmo.
C. Que no hay nada que no sea un bloque y que
tambén sea lo msmo que el bloque.

-ËX bloque-X  [-'  -encima-X,   ü piramide- 


 ü -'  -encima-X,   encima- ,X
 -Ë  -ü bloque-   ü igual-X, 

|  

0. La fórmula inicial

-ËX bloque-X  [ -'  -encima-X,   ü piramide- 


 ü -'  -encima-X,   encima- ,X
 -Ë  -ü bloque-   ü igual-X, 

1. Eliminar las implicaciones

-ËX ü bloque-X [ -'  -encima-X,   ü piramide- 


 ü -'  -encima-X,   encima- ,X
 -Ë  -bloque-  ü igual-X, 

2. Mover las negaciones hasta las fórmulas atómicas

-ËX ü bloque-X [ -'  -encima-X,   ü piramide- 


 -Ë  -ü encima-X,  ü encima- ,X
 -Ë  -bloque-  ü igual-X, 

|  

3. Renombrar las variables

-ËX ü bloque-X [ -'  -encima-X,   ü piramide- 


 -ËZ -ü encima-X,Z ü encima-Z,X
 -Ë -bloque- ü igual-X,

4. Eliminar los cuantificadores existenciales

-ËX ü bloque-X [ -encima-X,g-X  ü piramide-g-X


 -ËZ -ü encima-X,Z ü encima-Z,X
 -Ë -bloque- ü igual-X,

5. Desplazar los cuantificadores universales

-ËX-ËZ-Ë ü bloque-X [ -encima-X,g-X  ü piramide-g-X


 -ü encima-X,Z ü encima-Z,X
 -bloque- ü igual-X,

|  

6. Convertir los operadores AND en los más externos

-ËX-ËZ-Ë ü bloque-X [ -encima-X,g-X  ü piramide-g-X


 -ü encima-X,Z ü encima-Z,X
 -bloque- ü igual-X,
paso 1.

-ËX-ËZ-Ë -ü bloque-X -encima-X,g-X  ü piramide-g-X


 -ü bloque-X ü encima-X,Z ü encima-Z,X
 -ü bloque-X bloque- ü igual-X,

paso 2.

-ËX-ËZ-Ë -ü bloque-X encima-X,g-X


 -ü bloque-X ü piramide-g-X
 -ü bloque-X ü encima-X,Z ü encima-Z,X
 -ü bloque-X bloque- ü igual-X,

|  

7. Eliminar los cuantificadores universales

-ü bloque-X encima-X,g-X
 -ü bloque-X ü piramide-g-X
 -ü bloque-X ü encima-X,Z ü encima-Z,X
 -ü bloque-X bloque- ü igual-X,

8. Eliminar los conectores AND

ü bloque-X encima-X,g-X
ü bloque-X ü piramide-g-X
ü bloque-X ü encima-X,Z ü encima-Z,X
ü bloque-X bloque- ü igual-X,

|  

9. Renombrar las variables

ü bloque-X encima-X,g-X
ü bloque-  ü piramide-g- 
ü bloque-U ü encima-U,Z ü encima-Z,U
ü bloque-V bloque- ü igual-V,

Nótese que la función de Skolem tiene la semántica de identificar el


apoyo de X. Si la renombramos a Ơsoporte-Xơ y representamos las
cláusulas como implicaciones obtenemos:

bloque-X  encima-X, soporte-X


bloque-   ü piramide-soporte- 
bloque-U  encima-U,Z  ü encima-Z,U
bloque-V  ü bloque-  ü igual-V,

|  

A. hombre-marco
B. pompeyano-marco
C. -ËX-pompeyano-X  romano-X
D. dirigente-césar
E. -ËX-romano-X  leal-X,césar odia-X,césar
F. -ËX-hombre-X  -'  leal-X, 
G. -ËX-Ë  -hombre-X  dirigente- 
 intenta_asesinar-X,   ü leal-X, 
H. intenta_asesinar-marco, césar
I. -'X -romano-X  odia-X, césar

|  

Proceso de paso a cláusulas

1. El
ar los sbolos de plcac

A. hobre-arco
B. popeya
o-arco
C. -ËX-ü pompeyano-X romano-X
D. dirigente-césar
E. -ËX-ü romano-X leal-X,césar odia-X,césar
F. -ËX-ü hombre-X -'  leal-X, 
G. -ËX -Ë   ü -hombre-X  dirigente-   intenta_asesinar-X,  
ü leal-X,  
H. intenta_asesinar-marco, césar
I. -'X -romano-X  odia-X, césar

|  

Proceso de paso a cláusulas

2. ´oer las
eaco
es hasa las  rulas a cas
A. hobre-arco
B. popeya
o-arco
C. -ËX-ü pompeyano-X romano-X
D. dirigente-césar
E. -ËX-ü romano-X leal-X,césar odia-X,césar
F. -ËX-ü hombre-X -'  leal-X, 
G. -ËX-Ë 
-ü hombre-X ü dirigente-  ü intenta_asesinar-X,  ü leal-X, 
H. intenta_asesinar-marco, césar
I. -'X -romano-X  odia-X, césar

. Renombrar las ariables


|  

Proceso de paso a cláusulas

4. El
ar los cua
cadores exse
cales
A. hobre-arco
B. popeya
o-arco
C. -ËX-ü pompeyano-X romano-X
D. dirigente-césar
E. -ËX-ü romano-X leal-X,césar odia-X,césar
F. -ËX-ü hombre-X leal-X, g-X
G. -ËX-Ë 
-ü hombre-X ü dirigente-  ü intenta_asesinar-X,  ü leal-X, 
H. intenta_asesinar-marco, césar
I. romano-f  odia-f, césar

|  

Proceso de paso a cláusulas

5. esplaar los cua


cadores u
ersales
6. Co
err los operadores  e
los ás exer
os
. hobre-arco
B. popeya
o-arco
. -ËX-ü pompeyano-X romano-X
D. dirigente-césar
E. -ËX-ü romano-X leal-X,césar odia-X,césar
F. -ËX-ü hombre-X leal-X, g-X
G. -ËX-Ë 
-ü hombre-X ü dirigente-  ü intenta_asesinar-X,  ü leal-X, 
H. intenta_asesinar-marco, césar
I. romano-f  odia-f, césar

|  

Proceso de paso a cláusulas

7. El
ar los cua
cadores u
ersales

A. hobre-arco
B. popeya
o-arco
C. ü pompeyano-X romano-X
D. dirigente-césar
E. ü romano-X leal-X,césar odia-X,césar
F. ü hombre-X leal-X, g-X
G. ü hombre-X ü dirigente-  ü intenta_asesinar-X,  ü leal-X, 
H. intenta_asesinar-marco, césar
I. romano-f  odia-f, césar

|  

Proceso de paso a cláusulas

8. El
ar los co
ecores 

. hobre-arco
B. popeya
o-arco
C. ü pompeyano-X romano-X
D. dirigente-césar
E. ü romano-X leal-X,césar odia-X,césar
F. ü hombre-X leal-X, g-X
G. ü hombre-X ü dirigente-  ü intenta_asesinar-X,  ü leal-X, 
H. intenta_asesinar-marco, césar
I1. romano-f
I2. odia-f, césar

|  

Proceso de paso a cláusulas

8. Re
obrar las arables

A. hobre-arco
B. popeya
o-arco
C. ü pompeyano-X romano-X
D. dirigente-césar
E. ü romano-  leal- ,césar odia- ,césar
F. ü hombre-Z leal-Z, g-Z
G. ü hombre- ü dirigente-K ü intenta_asesinar-,K ü leal-,K
H. intenta_asesinar-marco, césar
I1. romano-f
I2. odia-f, césar

|  

Lo que queremos hacer ...

Teorema + Axiomas -como fórmulas bien formadas, fbf

+
Teorema + Axiomas -como cláusulas

Método de resolución por refutación


Unificación

Demostración automática de teoremas


|  

Unificación y sustitución
Ejemplos:

Definir las sustituciones necesarias para unificar el predicado

p-X, f- , b

con cada uno de los siguientes predicados:

P1: p-g-Z, f-a, b

P2: p-X, f-a, b

P3: p-Z, f-U, b

P4: p-c, f-a, b

|  

Unificación y sustitución
El proceso de unificación determina las condiciones y posibilidades de
sustitución de un predicado por otro. Por ejemplo, en el caso de los
siguientes axiomas:
p-X  q-X
p-a
la demostración de q-a es consecuencia de la regla de
especialización Universal aplicada a:
p-X  q-X
para producir
p-a  q-a

También puede interpretarse como que se ha procedido a realizar la


sustitución de p-X por p-a, previa unificación de X con a.

El proceso de sustitución de términos, denominado Unificación, para


lograr que dos expresiones sean idénticas es fundamental en el
proceso de demostración de teoremas en la lógica de predicados de
primer
| orden.
 

Unificación y sustitución

Un proceso de unificación puede ser representado mediante un


operador ï constituido por un conjunto de de pares de términos
ordenados por:

ï = v1 t1, v2 t2, ..., vn tn

donde el par vi ti, indica que la variable vi es sustituida por el


término ti.

Así el predicado p se transforma mediante la sustitución indicada por


ï en p-... , vk, ... ï = p-... , tk, ....

Ñ!A: !ambién es muy habitual la notación equivalente


ï = v1/ t1, v2/ t2, ..., vn/ tn

|  

Unificación y sustitución
Ejemplos:

Definir las sustituciones necesarias para unificar el predicado

p-X, f- , b

con cada uno de los siguientes predicados:

P1: p-g-Z, f-a, b ï1 = X  g-Z,  a 

P2: p-X, f-a, b ï2 =  a 

P3: p-Z, f-U, b ï3 = X  Z,  U 

P4: p-c, f-a, b ï4 = X  c,  a 

|  

Unificación y sustitución
El proceso de unificación implica la sustitución de una variable por
otro término que puede ser variable, constante o functor. En este
último caso, el functor no puede contener la variable sustituida.

Es evidente que no siempre es posible unificar dos realizaciones de


un mismo predicado. Por ejemplo q-a, f-X, X y q-c, f-d, b
no son unificables.

La composición de dos sustituciones ï1 y ï2, se denota por ï1 ï2 y es


la sustitución que resulta de aplicar la sustitución ï2 a los términos de
ï1 y de añadir a continuación los pares de sustituciones de ï2 sobre
las variables no contenidas entre las variables de ï1.

Z  f-X, , U  X  X  a,  b,   c, Z  d  
Z  f-a,b, U  a, X  a,  b,   c 

|  

Unificación y sustitución
Se puede demostrar que :

A. [Lï1ï2 = L [ï1ï2
B. -ï1ï2 ï3 = ï1 -ï2ï3, Asociatividad
C. ï1ï2 ï2ï1 no es conmutativa

Diremos que dos predicados, E1 y E2, son unificables, y lo


representaremos por E1, E2, si existe una sustitución ï tal que se
verifica:
E1 ï = E2 ï

A la sustitución ï la denominaremos Unificador de E1 y E2.

Ejemplo: Dados p-X, f- , b y p-X, f-b, b y la sustitución


ï = X  a,  b , decimos que ï es un unificador de estos dos
predicados porque los convierte en p-a, f-b, b.

|  

Unificación y sustitución

Aunque ï = X  a,  b  es un unificador de estos dos


predicados no es el más simple de los unificadores posibles -se le
podría denominar alternativamente Ơmás generalơ para este
conjunto, que este caso sería  =  b .

Así si  es el unificador más simple de Ei  se verifica que si ï es


un unificador de Ei  entonces existe una sustitución s tal que:

Ei   s = Ei  ï

Un algoritmo recursivo nos permite descubrir si dos predicados son


unificables o no, y, en su caso, hallar el unificador más simple.

|  

Algoritmo de Unificación

Etapas del algoritmo.

1. Comprobaremos si los símbolos de los predicados son los


mismos. En caso negativo los predicados no son unificables.

2. Si los predicados son iguales, han de tener la misma aridad -nº


de argumentos. En caso negativo los predicados no son
unificables.

3. Comprobaremos los argumentos por pares correspondientes,


aplicando el algoritmo recursivamente -es necesario si los
argumentos contienen functores, abortando el proceso desde el
momento en que un par de argumentos no sea unificable.
|  

Algoritmo de Unificación
Unifica-e1, e2

1. Si e1 o e2 son ambos variables o constantes, entonces


1.a Si e1 y e2 son idénticos, entonces devolver .
1.b Si e1 es una variable, entonces
1.b.1 Si e1 aparece dentro de e2 entonces devolver FALLÑ
en otro caso, devolver e1  e2 .
1.c Si e2 es una variable, entonces
1.c.1 Si e2 aparece dentro de e1 entonces devolver FALLÑ
en otro caso, devolver e2  e1 .
1.d Devolver FALLÑ

2. Si los símbolos de los predicados e1 y e2 son diferentes o tienen


diferente aridad entonces devolver FALLÑ.

3. Hacer SUBS = NIL -al final del proceso SUBS contendrá las
sustituciones necesarias para unificar e1 y e2.
-continúa ...
|  

Algoritmo de Unificación
Unifica-e1, e2
...
4. Para cada uno de los argumentos de e1 -indexados por i
4.a Invocar Unifica con los i-ésimos argumentos de e1 y e2, poniendo el
resultado en s.
4.b Si s es igual a FALLÑ, entonces devolver FALLÑ.
4.c Si s es diferente de , entonces
4.c.1 Aplicar la sustitución s sobre el resto de argumentos de e1 y
e2
4.c.2 Añadir s a las sustituciones ya contenidas en SUBS.

5. Devolver SUBS.

|  

Algoritmo de Unificación

Ejercicios: Tracear la operación del algoritmo de unificación


para cada uno de los siguientes pares de predicados.

A. f-marcos, f-césar
B. f-X, f-g- 
C. f-marcos, g-X, , f-X, g-césar, marcos
D. p-X, X, p- g-X, g-X
E. p-X, X, p- , g-X
F. p-X, f-x, p- , 
G. p- , , b, p-Z, X, Z
H. p-f-X,X, a, p-f- , f- ,a, a

|  

Resolución por refutación

ƥ Método de demostración de teoremas


ƥ Robinson, 1965
ƥ Basado en el principio de refutación
ƥ Relativamente sencillo de automatizar

IDEA.

Si queremos demostrar un teorema dado en base a un


conjunto de axiomas que suponemos consistente, podemos
hacerlo mostrando que el conjunto formado por la neación
del teorema y el conjunto de axiomas es inconsistente.

Si tal inconsistencia se demuestra será porque el teorema


era| 
cierto.


Decidibilidad y Consistencia

Sistema formal: Un conjunto de expresiones básicas y un


conjunto de reglas de generación de
nuevas expresiones

Se dice :que
Validez de efectivos
procedimientos una expresión
desarrollos es válida un
que involucran en
una expresión: un sistema formal si es posible derivar la
número finito de operaciones elementales y de posiciones
misma a partir de las expresiones
de memoria básicas

Decidibilidad: Un sistema formal U se dice decible si


existen procedimientos efectivos para
determinar la validez dentro de U de las
expresiones V y üV

|  

Decidibilidad y Consistencia

Indecidibilidad: Un sistema formal U se dice indecible si


no es posible determinar la validez V y
üV de forma efectiva

Semi-decibilidad: Cuando sólo es posible determinar de


forma efectiva la validez de una de las
expresiones V o üV

Consistencia: Un sistema formal U se dice consistente


en sentido fuerte, si sólo una de las
expresiones V o üV es válida en U. Es
evidente que un sistema consistente
debe ser Decible.

|  

Decidibilidad y Consistencia

Inconsistencia: Un sistema formal U se dice


inconsistente si ambas expresiones V y
üV son válidas en U.

Un sistema lógico L compuesto de fórmulas básicas o


axiomas y reglas de inferencia constituye un sistema
formal.

Un sistema lógico L que contiene las expresiones F y üF


constituye un sistema inconsistente por cuanto F y üF
son válidas en L.

|  

Decidibilidad y Consistencia

Se han desarrollado procedimientos efectivos capaces de


demostrar la inconsistencia de un sistema lógico. Sin
embargo, no existen tales procedimientos para demostrar
su consistencia.

Por ello un sistema lógico es un sistema Semi-decible y no


pueden definirse criterios de consistencia fuerte, usándose
en su defecto otro criterio de consistencia débil.

Definición: un sistema lógico que no es Inconsistente se


dice que es consistente en sentido débil

|  

Decidibilidad y Consistencia

Si A es un conjunto de cláusulas lógicas consistentes,


denominadas Axiomas, y T es otra cláusula, denominada
Teorema, entonces si T es una consecuencia lógica de A
se debe verificar:

1. El conjunto A — T es consistente

2. El conjunto A — üT es inconsistente

Sólo la segunda propiedad es verificable de forma efectiva,


de donde se deduce intuitivamente un procedimiento de
demostración de teoremas que consiste en demostrar la
inconsistencia de A — üT . A este procedimiento se le
denomina de Resolución por Refutación del Teorema.
|  

Cláusula resolvente
Sean dos cláusulas, que denominaremos cláusulas padres, que
contengan respectivamente, una misma proposición, negada y sin
negar, cada una de ellas. Como es el caso de la proposición p1 en el
siguiente ejemplo:

p1 v p2 v ... v pn
ü p1 v q2 v ... v qm

Ambas cláusulas forman parte de un sistema que se asume consistente


y, por tanto, son ciertas. Puede construirse entonces una nueva
cláusula, denominada cláusula resolvente a partir de la disyunción de
ambas eliminando la proposición que aparece doblemente. Esto es:

-p1 v p2 v ... v pn v -ü p1 v q2 v ... v qm


 -p1 v ü p1 v -p2 v ... v pn v q2 v ... v qm
 p2 v ... v pn v q2 v ... v qm

|  

Cláusula resolvente
La nueva cláusula -cláusula resolvente debe ser cierta por cuanto las
cláusulas padre forman un conjunto de cláusulas consistente con lo que
el conjunto que resulta de añadir la cláusula resolvente al conjunto de
cláusulas anterior sigue siendo consistente.

Los siguientes son algunos ejemplos de la aplicación del método de la


cláusula resolvente:

-ü p v q v p  q -modus ponens
-p v q v -ü p v q  q
-ü p v p  nil -inconsistencia
-ü p v q v -ü q v r  üpvr -encadenamiento de reglas
-p v ü q v -ü p v q  qvüq -tautología

Nótese que en el último caso, también podría resolverse sobre q y


obtendríamos como cláusula resolvente p v ü p. Lo que no es correcto
es resolver doblemente sobre p y q y obtener un resolvente nulo.

|  

Cláusula resolvente
-p v ü q v -ü p v q qvüq -tautología

Una forma de ver que la doble resolución es un error es considerar el


caso sencillo anterior cuando se resuelve doblemente. En ese caso
obtendríamos la cláusula nula, indicando una inconsistencia. Sin
embargo, podemos comprobar que ambas cláusulas son consistentes
cuando ambos predicados son verdaderos, lo que indica que la
conclusión de inconsistencia que se deriva de la doble resolución es
incorrecta.

La idea que subyace en el método de resolución se basa en que la


fórmula --p v   -ü p v   - v  es una tautología -demostrarlo
empleando una tabla de verdad.

Por el contrario, puede comprobarse que la fórmula similar que debería


sustentar la doble resolución, --p v r v   -ü p v ü r v   - v  ,
donde r es q o ü q, no es válida.

|  

Resolución por Refutación
La resolución por refutación consiste esencialmente en aplicar el
método de la cláusula resolvente para eventualmente alcanzar el
resolvente nulo. Si esto es posible se habrá demostrado la
inconsistencia del conjunto formado por los axiomas -cuya validez está
garantizada y el teorema negado, en cuyo caso el teorema se
considera demostrado.

üavb übvc a üc

üavc

nil
|  

Resolución por Refutación
Para poder aplicar el método de la cláusula resolvente a predicados y
no sólo a proposiciones es preciso primeramente unificar las cláusulas
para conseguir que los términos de los predicados complementarios
sean idénticos.

Ejemplo: Sean las siguientes cláusulas padre.

p-X, f-a p-X, f-  q- 


ü p-Z, f-a ü q-Z

Se puede encontrar un resolvente empleando bien p o bien q como


predicados complementarios. Si elegimos p, el unificador será:

p-X, f-a, p-Z, f-a  con la sustitución ï = X  Z 

que produce la cláusula resolvente:

p-Z, f-  q-  ü q-Z
|  

Resolución por Refutación
Ñtra forma de generar una cláusula resolvente más sencilla consiste en
eliminar alguna de las realizaciones del mismo predicado p en alguna de
las cláusulas padre. Por ejemplo, encontrando un unificador y
absorbiendo una de las realizaciones.

p-X, f-a p-X, f-  q- 


ü p-Z, f-a ü q-Z

Así : p-X, f-a, p-X, f-   con la sustitución ï =  a 

convierte las cláusulas padre en:

p-X, f-a q-a


ü p-Z, f-a ü q-Z

Aplicando el unificador ï = Z  X  resolviendo, obtenemos como


resolvente:

|  

q-a ü q-X
Resolución por Refutación

Una idea clave:

Si el par de cláusulas padre se toma de un


conjunto de cláusulas consistentes, entonces,
dado que la cláusula resolvente es una
consecuencia lógica de las anteriores, también es
consistente el conjunto resultante de añadir el
resolvente al conjunto original.

|  

Resolución por Refutación
Idea sobre la que se desarrolla el algoritmo:

Hasta que se encuentre la cláusula nula se exploran pares de


cláusulas padre, incluyendo - en caso de fracaso - el resolvente en el
conjunto de cláusulas.

El proceso para si:

1. El resolvente generado es nulo: se ha demostrado el teorema.

2. Si no existe ningún par de cláusulas que puedan producir un


resolvente, entonces no se puede demostrar la inconsistencia del
conjunto y se dice que el conjunto no es completo. Esto significa que
el teorema no es una consecuencia lógica de los axiomas y, por
tanto, se puede suponer falso.

|  

Algoritmo: Resolución por Refutación

0. Se supone que tanto los axiomas como la negación del teorema han
sido transformados en cláusulas.

1. Incluir en el conjunto de cláusulas TRABAJÑ el conjunto de axiomas


y el teorema negado.

2. Repetir hasta que se produzca la cláusula nula, o no se encuentre


ningún resolvente:

2.a Encontrar en TRABAJÑ un par de cláusulas que puedan


resolverse y obtener el resolvente. Eliminar los elementos
duplicados.
2.b Descartar la cláusula si contiene un predicado y su negación.
2.c Si el resolvente no está en TRABAJÑ, añadirlo.

3. Si se ha encontrado la cláusula nula, el teorema es cierto. En caso


contrario, el teorema se supone falso.
|  

Ejemplo:
Axiomas
Axiomas.
A.1 ƠCualquiera que puede leer es un ilustradoơ
-ËX-r-X  l-X

A.2 ƠLos delfines no son ilustradosơ


-ËX-d-X  ü l-X

A.3 ƠAlgunos delfines son inteligentesơ


-'X-d-X  i-X

Teorema.
T. ƠAlgunos que son inteligentes, no pueden leerơ
-'X-i-X  ü r-X

|  

Ejemplo: Paso a cláusulas

Axiomas
A.1 -ËX-r-X  l-X ü r-X l-X

A.2 -ËX-d-X  ü l-X ü d-  ü l- 

A.3 -'X-d-X  i-X d-a


i-a
Teorema.
T. -'X-i-X  ü r-X ü i-Z r-Z

donde a es una función de Skolem constante

|  

Ejemplo: Grafo de resolución

ü i-Z r-Z i-a


Z a

r-a ü r-X l-X


X a

ü d-  ü l-  l-a
 a

ü d-a d-a


|  

El proceso de resolución puede simplificarse si ,
previamente o durante el proceso se realizan determinadas
eliminaciones de cláusulas, lo que equivale a una poda del
árbol de exploración.

2. Eliminación procedimental.
3.
1. de tautologías.
por absorción. PorEliminación
Cuando
definición,
un predicado
deuna
cláusulas
cláusula
puede
tales
Li
ser
queevaluado
puedan
absorbesera-debido
otra
reducidad
Mi
a mecanismos
si aexiste
una tautología.
unaextralógicos
sustitución os de
tal tipo
que
Lis
procedimental
es un subconjunto
y se evalúa
de a Mi.
cierto entonces es posible
eliminarp-A q-B que
la cláusula ¬ q-B
lo contiene. Si se evalúa a falso,
p-X
entonces simplemente elimina a p- eliminar
se puede q-U ese predicado de
p-X
la cláusula. elimina a p-a
p-X elimina a p-b q-Z
p-X q- elimina a p-f-a,b q-g-T r-V

|  

El proceso de resolución descrito previamente es claramente
un sistema de exploración de alternativas.

ESTADÑS: Cada estado está constituido por la situación del


conjunto de cláusulas.
estado inicial: conjunto de axiomas+teorema negado
...
estado final: cláusula nula.

ÑPERADÑRES: Generan nuevas cláusulas.


* Considerando diferentes pares de cláusulas padres
* Considerando un mismo para de cláusulas padres,
pero unificándolas de diferentes maneras.

|  

Para realizar todo el proceso de exploración es necesario
disponer de una estrategia que indique en cada situación
qué acción realizar, básicamente, como seleccionar los pares
de cláusulas padres.

Veremos las siguientes estrategias de control:

ƥ Estrategia por niveles


ƥ Estrategia del conjunto soporte
ƥ Estrategia de la Unidad Preferente
ƥ Estrategia de Entrada Lineal

|  

Estrategia por Niveles

A partir del conjunto de cláusulas


1. Se calculan todos los posibles resolventes
2. Se añaden éstos a la base de datos
3. ¿Algún resolvente es la cláusula nula?. En caso afirmativo
terminar. En otro caso volver a 1.

i-a ü i-Z r-Z ü r-X l-X ü d-  ü l-  d-a

r-a ü i-Z l-Z ü r-  ü d-  ü l-a

l-a ü d-a l-a


â ü i-Z ü d-Z ü i-Z âü d-Z ü r-a ü i-a

|  

Estrategia del Conjunto Soporte

ƥ El primer nivel de resolventes se genera teniendo como cláusula padre


a la cláusula que resulta de negar el teorema.
ƥ Posteriormente, para el resto de resolventes siempre se toma como
mínimo un padre del conjunto de resolventes ya generado, al que se
denomina conjunto soporte. De esta manera todos los resolventes son
descendientes de la cláusula del teorema.

El fundamento de esta estrategia radica en que si se alcanza la cláusula


nula se deberá a la cláusula del teorema, ya que es ésta la que podrá
generar la inconsistencia del conjunto.

|  

ü i-Z r-Z i-a ü r-X l-X ü d-  ü l-  d-a

r-a ü i-Z l-Z

l-a ü i-Z ü d-Z â


l-a

ü d-a ü d-a ü i-a d-a


üâ
â

|  

Estrategia de la Unidad Preferente

Modificación de la estrategia del Conjunto Soporte en la que sólo se


genera un resolvente por nivel. Para formarlo se toma una cláusula
padre del conjunto de resolventes y otra que se pueda resolver con él.
Evidentemente en el primer nivel se tomará la cláusula del teorema
como una de las cláusulas padre.

ü i-Z r-Z i-a

r-a ü r-X l-X

l-a ü d-  ü l- 

ü d-a d-a


|  

Estrategia de Entrada Lineal
En esta estrategia se toma como mínimo una cláusula del conjunto de
cláusulas iniciales. Esta estrategia no es completa, y puede no ser
adecuada en todos los problemas por cuanto puede conducir a una
situación en la que no se pueda continuar con la refutación, aunque el
teorema sea cierto.

i-a ü i-Z r-Z ü r-X l-X ü d-  ü l-  d-a

r-a ü i-Z l-Z ü r-  ü d-  ü l-a

l-a l-a
â ü i-Z ü d-Z ü i-Z âü d-Z ü r-a

¬ i-a


|  

Ñbtención de respuestas

El procedimiento de Resolución por Refutación demuestra


teoremas del tipo -'X p-X para los que, además de
concluir si el teorema es verdadero o falso, interesa
conocer el valor de X que satisface el teorema.

A este proceso se le denomina obtención de repuestas

Se pueden emplear dos procedimientos

|  

Ñbtención de respuestas

Procedimiento A:

1. Demostrar el teorema por el procedimiento ya explicado.

2. Añadir al conjunto de cláusulas inicial, no el teorema


negado -üp-X, sino la disyunción de éste con su negado,
es decir, -üp-X p-X -una tautología.

3. Seguir los mismos pasos que condujeron a la


demostración del teorema. Dado que la cláusula del teorema
contiene una tautología no se concluirá en el resolvente nulo,
sino que se concluirá en la cláusula del teorema.

4. La respuesta es el resolvente final.


|  

Ejemplo:

Axiomas: A1. -ËX- juega-pedro, X  juega-luis, X


A2. juega-pedro, fútbol.

Teorema: T. -'X juega-luis, X

El problema consiste en demostrar el teorema y, además,


en saber a qué juega luis.

|  

Expresados en forma clausular y negando el teorema:

A1. ü juega-pedro, X juega-luis, X


A2. juega-pedro, fútbol.
üT. ü juega-luis, 

El árbol de refutación sería:


ü juega-luis,  ü juega-pedro, X juega-luis, X

X

ü juega-pedro, X juega-pedro, fútbol.


Xfútbol


|  

la obtención de la respuesta sería:

ü juega-luis,  juega-luis,  ü juega-pedro, X juega-luis, X

X

ü juega-pedro, X juega-luis, X juega-pedro, fútbol.


Xfútbol

juega-luis, fútbol

|  

Puede generalizarse el procedimiento anterior de manera
que en lugar de incluir la tautología -üp-X p-X, se
incluya la cláusula:

-üp-X respuesta-X

donde Ơrespuestaơ es un predicado comodín, que no puede


aparecer en el conjunto de axiomas.

Dado que este predicado no aparece en el resto del


conjunto es imposible que pueda desaparecer del árbol
modificado de refutación y, por tanto, no se concluirá en la
cláusula nula.

|  

Ñbtención de respuestas

Procedimiento B:

1. Añadir al conjunto de cláusulas de los axiomas la cláusula


-üp-X respuesta-X. El predicado comodín debe contener
tantos términos como respuestas se deseen, p.e.
-üp-X,  respuesta-X, 

2. Realizar la demostración del teorema, utilizando como


objetivo no la cláusula nula, sino una cláusula que contiene
solamente el predicado comodín Ơrespuestaơ.

3. Las respuestas son los términos del predicado comodín en


el estado final.

|  

Con este procedimiento, la obtención de la respuesta sería:

ü juega-luis,  respuesta-  ü juega-pedro, X juega-luis, X

X

ü juega-pedro, X respuesta-X juega-pedro, fútbol.


Xfútbol

respuesta-fútbol

|  

Problema:

A partir del siguiente conjunto de axiomas,


A1. ËX -c-X  s-X
A2. ËX -ü g-X  d-X
A3. ü -'X -g-X  ü c-X

Aplicar el método de resolución por refutación para


demostrar los siguientes teoremas:

TEÑREMA 1. ËX -s-X  d-X


TEÑREMA 2. ËX -ü s-X  d-X

NÑTA: Es importante detallar bien cada paso del proceso


de demostración

|  

Problema:

Convirtiendo en cláusulas:
A1. ü c-X s-X
A2. g-  d- 
A3. ü g-Z c-Z

Negando los teoremas:


ü T1. ü -ËX -s-X  d-X
ü T2. ü -ËX -ü s-X  d-X

Conviertiendo los teoremas negados en cláusulas:


ü T1. ü s-f ü d-f
ü T2. ü s-f
ü d-f

|  

Resolvamos primero para el T2

ü d-f g-  d- 
 f

g-f ü g-Z c-Z


Z f

c-f ü c-X s-X


X f

s-f ü s-f


|  

Resolvamos para el T1

ü s-f ü d-f g-  d- 
 f

ü s-f g-f ü g-Z c-Z

Z f

ü s-f c-f ü c-X s-X

X f

ü c-f c-f

ÑJÑ: No se puede resolver doblemente

|  

Sistemas de Deducción

Un conjunto de procedimientos de demostración de


teoremas que utilizan esquemas diferentes al de
refutación.

Procedimientos directos: porque emplean el conjunto


de axiomas y el teorema sin negar

Como estrategia de control: exploración de


alternativas.

ƥ Sistemas de deducción ƠHacia-Delanteơ


ƥ Sistemas de deducción ƠHacia-Atrásơ

|  

Sistemas de Deducción

S.D. Hacia-Delante:

Se parte de los axiomas y se trata de llegar al


teorema por aplicación de reglas de inferencia.
Evidentemente, ésto sólo será posible si el teorema
es una consecuencia lógica de los axiomas.

S.D. Hacia-Atrás:

Se parte del teorema y, por aplicación de reglas de


inferencia, se intenta llegar a unos hechos
completamente ciertos.

|  

Hechos, Reglas y Ñbjetivos

Los elementos que intervienen en la deducción son:

Reglas: Son aquellos axiomas que contienen una


implicación, con antecedentes y consecuentes

Hechos: Se denominan así a los axiomas que no


contienen una implicación. Son elementos sin
condiciones.

Meta u Ñbjetivo: Designa al teorema a demostrar.

|  

Hechos, Reglas y Ñbjetivos

Nomenclatura de Kowalsky:

Reglas: b1 b2 b3 ... bm
a1  a2  ...  an

Hechos: b1 b2 b3 ... bm

Meta u Ñbjetivo:
a1  a2  ...  an

donde ai y  bj representan predicados lógicos

|  

Hechos, Reglas y Ñbjetivos

Se puede simplificar esta nomenclatura si se admite la


sustitución de operadores por comas que el antecedente
representarán conjunciones y el consecuente
disyunciones. Si nos restrigimos, además, a considerar
sólo cláusulas de Horn:

Reglas: b
a1 , a2 , ... , an
Hechos: b

Meta u Ñbjetivo:
a1 , a2 , ... , an

|  

Deducción progresiva o Hacia-Delante

Se parte de los hechos como elementos básicos de


transformación. Intuitivamente, el procedimiento puede
resumirse de la siguiente forma, suponiendo que a1 es un
predicado unificable con algún antecedente o subobjetivo:

a1

A partir de: c
a1 , a2 , ... , an

a1 , o2 , ... , om

a1

Se deduce: c
a2 , ... , an

o2 , ... , om

|  

Deducción progresiva o Hacia-Delante

Cuando se trata de una regla con un único antecedente,


el resultado es la generación de un nuevo hecho

a1

A partir de: c
a1

a1 , o2 , ... , om

a1

Se deduce: c


o2 , ... , om

|  

Deducción progresiva o Hacia-Delante

El objetivo es llegar Ơal objetivo vacíoơ, es decir:

a1

c
a1 , a2 , ... , an
A partir de:
a1

a1

Se deduce: c
a2 , ... , an

|  

Deducción progresiva o Hacia-Delante

El procedimiento consiste, en esencia, en generar

nuevos hechos por reducción de los antecedentes de

las reglas, y en reducir el objetivo, por aplicación de los

hechos originales o los generados, hasta alcanzar el

objetivo vacío, lo que equivale a haber satisfecho todos

los subojetivos.

|  

Deducción progresiva o Hacia-Delante

1. Formular el problema en términos de hechos, reglas y objetivos como


cláusulas de Horn, y añadirlos a una base de datos inicialmente vacía.
2. Hasta que el objetivo esté vacío o no existan sustituciones aplicables.
2.1 Partiendo de algún hecho disponible, encontrar una regla con un
antecedente, o un subobjetivo, que pueda ser sustituido, previa
unificación, con el hecho en cuestión
a1

c
a1 , a2 , ... , an

a1 , o2 , ... , om
2.2 Añadir a la base de datos, la siguiente regla o subobjetivo, donde
ï es la unificación más general de la sustitución:
-c
a2 , ... , an ï
-
o2 , ... , om  ï
3. Si el objetivo está vacío, entonces el objetivo es cierto y las posibles
respuestas vienen dadas por la secuencia de unificaciones. En otro caso,
|  

el objetivo no se puede verificar.
Ejemplo:

Antonio y Miguel son dos amigos miembros de un club


alpino. Cada miembro de este club que no es esquiador
es escalador.

A los escaladores les disgusta la lluvia y, por otra parte,


a los que les disgusta la nieve no son esquiadores.

Ambos amigos tienen gustos diferentes, de tal forma que


a Miguel le disgusta los que a Antonio le gusta, y le
gusta lo que a Antonio le disgusta.

A Antonio le gustan la nieve y la lluvia.

¿Existe algún miembro del club que sea escalador?.


¿Quién?.
|  

Antonio y Miguel son dos amigos
miembros de un club alpino.
Cada miembro de este club que
escalador-X
no_esquiador-X
no es esquiador es escalador.

A los escaladores les disgusta la disgusta- , lluvia


escalador- 
lluvia y,por otra parte,
a los que les disgusta la nieve no
no_esquiador-Z
disgusta-Z, nieve
son esquiadores.

Ambos amigos tienen gustos


diferentes, de tal forma que a
Miguel le disgusta los que a
disgusta-miguel, C
gusta-antonio, C
Antonio le gusta,
y le gusta lo que a Antonio le
gusta-miguel, A
disgusta-antonio, A
disgusta.

A Antonio le gustan la nieve y la gusta-antonio, lluvia

lluvia. gusta-antonio, nieve

¿Existe
| algún miembro del club


escalador-Quien
que sea escalador?. ¿Quién?.
Partiendo de los dos únicos hechos iniciales, el proceso de
deducción podría ser el siguiente:
gusta-antonio, lluvia

C  lluvia  escalador-X
no_esquiador-X
disgusta-miguel, lluvia
disgusta- , lluvia
escalador- 

no_esquiador-Z
disgusta-Z, nieve

disgusta-miguel, C
gusta-antonio, C

gusta-miguel, A
disgusta-antonio, A

gusta-antonio, lluvia

gusta-antonio, nieve


escalador-Quien

|  

Partiendo de los dos únicos hechos iniciales, el proceso de
deducción podría ser el siguiente:
gusta-antonio, nieve

C  nieve escalador-X
no_esquiador-X
disgusta-miguel, nieve
disgusta- , lluvia
escalador- 
Z  miguel
no_esquiador-miguel
no_esquiador-Z
disgusta-Z, nieve

X  miguel
disgusta-miguel, C
gusta-antonio, C
escalador-miguel

Quien  miguel gusta-miguel, A


disgusta-antonio, A

gusta-antonio, lluvia

Conclusión: al menos gusta-antonio, nieve

un escalador, miguel

escalador-Quien

escalador-Quien

|  

Deducción regresiva o Hacia-Atrás

Intuitivamente el procedimiento consiste en deducir el


objetivo por aplicación sobre el mismo de las reglas y
hechos.
Si existe algún subobjetivo a1 que pueda ser sustituido por
un hecho, entonces el mismo está satisfecho:

A partir de: a1


a1 , o2 , ... , om

a1

Se deduce:

o2 , ... , om

|  

Deducción regresiva o Hacia-Atrás

En caso contrario, y cuando el subobjetivo b puede ser


sustituido por el consecuente de una regla, entonces el
objetivo se modifica sustituyendo el subobjetivo por los
antecedentes de la regla:

A partir de: b
a1 , a2 , ..., an

b , o2 , ... , om

Se deduce: b
a1 , a2 , ..., an

a1 , a2 , ..., an , o2 , ... , om

|  

Deducción regresiva o Hacia-Atrás

En este último caso, el nuevo objetivo es más complejo


al poseer más subobjetivos, pero se supone que cada
uno de ellos es de menor complejidad, esto es, más
cercanos a un hecho.

El resultado final se alcanza cuando se reduce al vacío el


objetivo, lo que indicará que se han satisfecho todos los
subobjetivos.

|  

Deducción regresiva o Hacia-Atrás

1. Formular el problema en términos de hechos, reglas y objetivos como


cláusulas de Horn, y añadirlos a una base de datos inicialmente vacía.
2. Hasta que el objetivo esté vacío o no existan sustituciones aplicables.
2.1 Partiendo del objetivo, encontrar algún hecho o consecuente de
regla que pueda que pueda ser sustituido, previa unificación, con
algún subobjetivo
p

p
a1 , a2 , ... , an

p , o2 , ... , om
2.2 Añadir a la base de datos, el siguiente objetivo, donde ï es la
unificación más general de la sustitución:
-
o2 , ... , om  ï
-
a1 , a2 , ... , an , o2 , ... , om  ï
3. Si el objetivo está vacío, entonces el objetivo es cierto y las posibles
respuestas vienen dadas por la secuencia de unificaciones. En otro caso,
|  

el objetivo no se puede verificar.
Antonio y Miguel son dos amigos
miembros de un club alpino.
Cada miembro de este club que
escalador-X
no_esquiador-X
no es esquiador es escalador.

A los escaladores les disgusta la disgusta- , lluvia


escalador- 
lluvia y,por otra parte,
a los que les disgusta la nieve no
no_esquiador-Z
disgusta-Z, nieve
son esquiadores.

Ambos amigos tienen gustos


diferentes, de tal forma que a
Miguel le disgusta los que a
disgusta-miguel, C
gusta-antonio, C
Antonio le gusta,
y le gusta lo que a Antonio le
gusta-miguel, A
disgusta-antonio, A
disgusta.

A Antonio le gustan la nieve y la gusta-antonio, lluvia

lluvia. gusta-antonio, nieve

¿Existe
| algún miembro del club


escalador-Quien
que sea escalador?. ¿Quién?.
Partiendo del teorema:

escalador-Quien

X  Quien escalador-X
no_esquiador-X
no_esquiador-Quien
disgusta- , lluvia
escalador- 
Z  Quien
disgusta-Quien, nieve
no_esquiador-Z
disgusta-Z, nieve

Quien  miguel,
disgusta-miguel, C
gusta-antonio, C
C  nieve 
gusta-antonio, nieve
gusta-miguel, A
disgusta-antonio, A


gusta-antonio, lluvia

Conclusión: al menos gusta-antonio, nieve


gusta-antonio, nieve

un escalador, miguel

escalador-Quien

|  

En el proceso de exploración pueden producirse diversas
situaciones anómalas como las siguientes

Bucles: Cuando la resolución de un objetivo conduce a que


el mismo objetivo o alguno de sus sucesores se vuelva a
plantear de nuevo como objetivo.

Desbordamientos: Cuando la resolución de un objetivo


conduzca a un objetivo, que ni pueda ser reducido, ni
presente condición de parada, es decir, que siempre
existen reglas aplicables.

Duplicación de objetivos: Cuando se suscita la resolución


de un objetivo ya resuelto con anterioridad.

|  

Ejemplo de bucle debido a un problema mal definido.

rel-a, D
D  b D  c
rel-a, b

A  a
rel-a, c
rel-a, b B  D rel-a, c
alt-a, d

alt-a, D
rel-A, B
alt-A, B
D  b X  a,  D
alt-X, 
rel -a, 

rel-a, D alt-a, d rel-a, D

|  

[rel-a, D
1rel-a, b

[1rel-a, D [2rel-a, D [3rel-a, D


2rel-a, c

D  b
1alt-a, d

[1rel-a, b [2rel-a, D [3rel-a, D 3rel-A, B


alt-A, B
[  [2rel-a, D [3rel-a, D 2alt-X, 
rel -a, 

[2rel-a, D [3rel-a, D


rel-a, D
D  c
[1alt-a, D [2alt-a, D
[2rel-a, c [3rel-a, D
D  d
[  [3rel-a, D
[1alt-a, d [2alt-a, D
[3rel-a, D
[  [2alt-a, D
A  a, B  D
[alt-a, D X  a,  D 
[1alt-a, D [ 2alt-a, D [rel-a, D
|  

Jack es dueño de un perro
Quien es dueño de un perro es un amante de los animales
Ningún amante de los animales mata a un animal
Ñ Jack o Curiosidad mató al gato, cuyo nombre era Tuna
¿Mató Curiosidad al gato?

|  

A. Jack es dueño de un perro
B. Quien es dueño de un perro es un amante de los animales
C. Ningún amante de los animales mata a un animal
D. Ñ Jack o Curiosidad mató al gato, cuyo nombre era Tuna
E. ¿Mató Curiosidad al gato?

1. Expresión como predicados de primer orden


A. -'X perro-X  dueño-jack, X
B. -ËX -'  perro-   dueño-X,   naturalista-X
C. -ËX -Ë  naturalista-X  animal-   ü mata-X, 
D1. mata-jack, tuna mata-curiosidad, tuna
D2. gato-tuna
E. mata-curiosidad, tuna

Es necesario añadir que los gatos son animales


F. -ËX gato-X  animal-X
|  

2. Transformación a cláusulas

Negación del teorema:


E. ü mata-curiosidad, tuna

2.1 Eliminación de la implicaciones

B. -ËX -'  perro-   dueño-X,   naturalista-X


C. -ËX -Ë  naturalista-X  animal-   ü mata-X, 
F. -ËX gato-X  animal-X

B. -ËX ü -'  perro-   dueño-X,  naturalista-X


C. -ËX -Ë  ü naturalista-X  animal-  ü mata-X, 
F. -ËX ü gato-X animal-X

|  

2. Transformación a cláusulas

2.2 Mover las negaciones hasta las fórmulas atómicas

B. -ËX ü -'  perro-   dueño-X,  naturalista-X


C. -ËX -Ë  ü naturalista-X  animal-  ü mata-X, 

B. -ËX -Ë  ü perro-  ü dueño-X,  naturalista-X


C. -ËX -Ë  ü naturalista-X ü animal-  ü mata-X, 

|  

2. Transformación a cláusulas

2.3 Renombrar variables

A. -'X perro-X  dueño-jack, X


B. -Ë  -ËZ ü perro-Z ü dueño- , Z naturalista- 
C. -ËU -Ë ü naturalista-U ü animal- ü mata-U,
F. -ËC ü gato-C animal-C

2.4 Eliminar los cuantificadores existenciales

A. -'X perro-X  dueño-jack, X

A. perro-a  dueño-jack, a
donde a es una función de Skolem constante
|  

2. Transformación a cláusulas

2.5 Desplazar los cuantificadores universales hasta el


comienzo de las fórmulas

B. -Ë  -ËZ ü perro-Z ü dueño- , Z naturalista- 

B. -Ë  -ËZ ü perro-Z ü dueño- , Z naturalista- 

2.6 Convertir los operadores AND en los más externos


2.7 Eliminar los cuantificadores universales
2.8 Eliminar los conectores AND

|  

2. Transformación a cláusulas

Conjunto de cláusulas resultante

A.1 perro-a
A.2 dueño-jack,a
B. ü perro-Z ü dueño- , Z naturalista- 
C. ü naturalista-U ü animal- ü mata-U,
D1. mata-jack, tuna mata-curiosidad, tuna
D2. gato-tuna
E. ü mata-curiosidad, tuna
F. ü gato-C animal-C

|  

3. Resolución por refutación

ü mata-curiosidad, tuna mata-jack, tuna mata-curiosidad, tuna

mata-jack, tuna ü naturalista-U ü animal- ü mata-U,

ü naturalista-jack ü animal-tuna U  jack,  tuna

ü perro-Z ü dueño- , Z naturalista- 

ü perro-Z ü dueño-jack, Z ü animal-tuna  jack dueño-jack, a

Z  a
ü perro-a ü animal-tuna ü gato-C animal-C
C  a
ü gato-tuna ü perro-a gato-tuna

ü perro-a perro-a

[
|  

Expresar como cláusulas de Horn:
A caballos, vacas y cerdos son mamíferos
B el hijo de un caballo es un caballo
C Ơcentellaơ es un caballo
D Ơcentellaơ es el padre de Ơchispasơ
E hijo y padre son relaciones inversas
F todo mamífero tiene un padre
y, mediante deducción hacia atrás, contestar a la pregunta:
¿Cuántos caballos conocemos?

|  

A mamífero-X
vaca-X
mamífero- 
cerdo- 
mamífero-Z
caballo-Z
B caballo-centella

C caballo-
caballo-U, hijo-, U
D padre-centella, chispas

E padre-S, R
hijo-R, S
hijo-P, Q
padre-Q, P
F padre-L, M
mamífero-M

|  

A 1mamífero-X
vaca-X
2mamífero- 
cerdo- 
3mamífero-Z
caballo-Z
B 1caballo-centella

C 2caballo-
caballo-U, hijo-, U
D 1padre-centella, chispas

E 2padre-S, R
hijo-R, S
hijo-P, Q
padre-Q, P
F 3padre-L, M
mamífero-M
El objetivo:
caballo-M
|  

[caballo-H
[1caballo-H [2caballo-H H  centella
[caballo-centella [2caballo-H
[  [2caballo-H   H
[caballo-U, hijo-H,U
[1caballo-U, hijo-H,U [2caballo-U, hijo-H,U U  centella
[caballo-centella, hijo-H, centella [2caballo-U, hijo-H,U
[hijo-H, centella [2caballo-U, hijo-H,U P  H, Q  centella
[padre-centella, H [2caballo-U, hijo-H,U
[1padre-centella, H [2padre-centella, H
[3padre-centella, H [2caballo-U, hijo-H,U
H  chispas
[padre-centella, chispas [2padre-centella, H
[3padre-centella, H [2caballo-U, hijo-H,U
|  

[  [2padre-centella, H [3padre-centella, H [2caballo-U, hijo-H,U
S  centella, R  H
[hijo-H, centella [3padre-centella, H [2caballo-U, hijo-H,U
P  H, Q  centella
[padre-centella, H [3padre-centella, H [2caballo-U, hijo-H,U
[1padre-centella, H [2padre-centella, H
[3padre-centella, H
[3padre-centella, H [2caballo-U, hijo-H,U
...

A partir de aquí sólo obtendremos una única respuesta H= chispas

|  

¿Cuál sería ahora el resultado si cambiásemos el orden de las
definiciones del predicado caballo?
A 1mamífero-X
vaca-X
2mamífero- 
cerdo- 
3mamífero-Z
caballo-Z
C 2caballo-
caballo-U, hijo-, U
B 1caballo-centella

D 1padre-centella, chispas

E 2padre-S, R
hijo-R, S
hijo-P, Q
padre-Q, P
F 3padre-L, M
mamífero-M
El objetivo:
caballo-M
|  

[caballo-H
[2caballo-H [1caballo-H   H
[caballo-U, hijo-H, U[1caballo-centella
[2caballo-U, hijo-H, U [1caballo-U, hijo-H, U[1caballo-H
  U
[caballo-F, hijo-U, F, hijo-H, U [1caballo-U, hijo-H, U[1caballo-H
[2caballo-F, hijo-U, F, hijo-H, U
[1caballo-F, hijo-U, F, hijo-H, U
[1caballo-U, hijo-H, U[1caballo-H
...

finalmente la pila se desbordaría

|  

Supongamos ahora que intercambiamos el orden de las premisas de
la regla C. ¿Qué pasaría?
A 1mamífero-X
vaca-X
2mamífero- 
cerdo- 
3mamífero-Z
caballo-Z
B 1caballo-centella

C 2caballo-
hijo-, U, caballo-U.
D 1padre-centella, chispas

E 2padre-S, R
hijo-R, S
hijo-P, Q
padre-Q, P
F 3padre-L, M
mamífero-M
El objetivo:
caballo-M
|  

[caballo-H
[1caballo-H [2caballo-H H  centella
[caballo-centella [2caballo-H
[  [2caballo-H   H
[hijo-H,U, caballo-U P  U, Q  H
[padre-U, H, caballo-U
[1padre-U, H, caballo-U [2padre-U, H, caballo-U
[3padre-U, H, caballo-U
U  centella, H  chipas
[1padre-centella, chispas, caballo-centella [2padre-U, H, caballo-U
[3padre-U, H, caballo-U
[caballo-centella [2padre-U, H, caballo-U [3padre-U, H, caballo-U
[1caballo-centella [2caballo-centella
[2padre-U, H, caballo-U [3padre-U, H, caballo-U
|  

[1caballo-centella [2caballo-centella
[2padre-U, H, caballo-U [3padre-U, H, caballo-U
[  [2caballo-centella
[2padre-U, H, caballo-U [3padre-U, H, caballo-U
  centella
[hijo-centella, F, caballo-F
[2padre-U, H, caballo-U [3padre-U, H, caballo-U
...

Repetiríamos la misma demostración anterior, con otros


argumentos, y finalmente la pila se desbordaría

|  

Realizar la traza de la pila p-a, b

de demostración del p-a, X


r-X

teorema indicado r-c

r-d

p- , Z
q- , Z
q-a, e

q-U, V
s-, p-, V
s-a

s-f


p-a, R
|  

| 
         
              
               
 !   
       
   "     #$ %  
  &'

Ë ï (ï  ï)


Ë   * ( *    *)

|            '


' + (    +)

,  -          


  +  "      

|  

Bibliografía.
[Mend-92 J. Méndez
Apuntes del Curso de I.A.
U.L.P.G.C.

[Nils-82 N. J. Nilsson
Principles of Artificial Intelligence
Springer-Verlag, 1982.

[Apt-97 K.R. Apt,


From Logic Programming to Prolog
Prentice-Hall, 1997.

[Nils-98  N. J. Nilsson
Artificial Intelligence
Morgan Kaufmann, 1998.
|  


You might also like