Title: Principios de Inteligencia Artificial
1Principios de Inteligencia Artificial
Aplicación de la lógica a la IA
- Universidad de Antonio de Nebrija
- Ramiro Lago
- Curso 2004-5
2Indice del capítulo
- Repaso a la lógica proposicional
- Método de resolución en lógica proposicional
- Repaso a la lógica de predicados
- Método de resolución en lógica de predicados
3Repaso de lógica proposicional
- Veremos la sintaxis y la semántica de un cálculo
proposicional. Haremos especial hincapié en
entender el sistema proposicional como un sistema
de deducción natural.
4Lógica
- Desde los tiempos de Aristóteles la lógica se
utiliza como vehículo para formalizar los
procesos de razonamiento. - Hasta el siglo XIX hablar de lógica es hablar de
un sistema proposicional. - A partir de este siglo se utiliza el sistema de
predicados como una generalización del
proposicional. - La lógica aplicada a la IA tenía una dificultad
carecía de algorítmica para la inferencia en
problemas complejos. Por ello, no fue utilizada
ampliamente hasta la publicación del principio
de resolución por Robinson en 1965. - A partir de este principio Colmerauer (1973) y
Kowalski (1974) crean el concepto de
programación lógica y diseñan el lenguaje PROLOG
(PROgramming in LOGic).
5Sistemas lógicos
- Los diferentes sistemas lógicos tienen en común
en su presentación una etapa previa de
simbolización de las formas del lenguaje usual
que suele hacerse a dos niveles - Cálculo proposicional Representación del
lenguaje tomando como elemento básico las frases
declarativas simples,( enunciados o
proposiciones) - Cálculo de predicados Se toma como base los
componentes de algunos tipos de proposición
términos y predicados. - Dentro de cada uno de estos niveles de
representación del lenguaje, se pueden considerar
dos formas de presentar las estructuras
deductivas correctas - Sintáctica Definición axiomática de una serie de
estructuras deductivas correctas y de reglas para
obtener nuevas estructuras deductivas correctas a
partir de aquellas. Aquí se encuadran los
métodos de teoría de la demostración (Kleene
1955) y deducción natural (Gentzen 1930). - Semántica Definición de un conjunto de
significados (normalmente Verdadero, falso ...)
atribuibles a las proposiciones, y definición de
las estructuras deductivas correctas a partir de
la relación de significados de los elementos de
la deducción. Se utilizan las teorías de modelos
y las interpretativas.
6El lenguaje formal de un cálculo proposicional
componentes
- Siguiendo una orientación sintáctica vamos a
tener en un sistema proposicional - Proposiciones
- Conectivas
- Reglas de formación
- Axiomas
- Reglas de transformación (inferencia o deducción)
- Teorema de deducción
7El lenguaje formal de un cálculo proposicional
proposiciones y conectivas
- A. Proposiciones atómicas o enunciados
- Los representamos con letras de variable p, q,
r, s, etc... - Pueden ser traducidas como las frases del
lenguaje natural Hoy hace mal tiempo, Carlos
es informático. - B. Conectivas
- Negación p permite construir una frase a partir
de otra p del tipo no p, no es cierto que p, es
falso que p - Conjunción p v q representa a los elementos del
lenguaje que permiten unir dos frases de la
forma p y q, p pero q, p no obstante q, p sin
embargo q - Disyunción p Ú q uniones de la forma p ó q
- Condicional p q relación causa efecto, de la
forma si p entonces q, q sólo si p, p suficiente
para q, p luego q - Bicondicional p q forma abreviada de (p q) Ù
(q p) p si y sólo si q, p necesario y
suficiente para q
8El lenguaje formal de un cálculo proposicional
reglas de formación
- C. Reglas de formación
- Es preciso definir unas reglas de escritura
correcta de las formas lógicas, o lo que equivale
a definir una sintaxis de lo que a partir de
ahora denominaremos fórmulas. Esta sintaxis debe
tener en cuenta no deben aparecer conectivas
adyacentes y hay que definir la relación
conectivas-proposiciones, cuando hay más de una
conectiva. - Las letras proposicionales p, q, r ... son
fórmulas correctamente formadas, las
denominaremos fórmulas atómicas o simples. - Si A y B son fórmulas correctas, también son
fórmulas correctas (y las denominaremos fórmulas
compuestas) - A, B, A Ù B, A Ú B, A B, A B
- Sólo son fórmulas correctas las que cumplen las
condiciones 1 y 2. - La preferencia de las conectivas viene dada por
el orden que aparece en 2. Por ejemplo - (A Ù B) ? (C Ú D) puede escribirse A Ù B ? C Ú
D - ya que la conjunción y la disyunción tienen
preferencia sobre el condicional
9El lenguaje formal de un cálculo proposicional
axiomas y reglas de inferencia
- D. Axiomas formas o esquemas de fórmulas que se
asumen válidas por hipótesis. - Por ejemplo, siguiendo a Kleene (1955) tenemos A
Ù B ? A, A Ù B ? B, etc. - Siguiendo a Gentzen (1930) tenemos un único
axioma A ? A, donde A es una fórmula cualquiera - E. Reglas de transformación (también denominadas
de inferencia o deducción)
- Reglas de Modus Ponens y de interdefinición
- A ? B A ? B
- A _____
- ______ A Ú B
- B
- Regla de la introducción del condicional
- A
- B
- ____
- A ? B
- Regla de introducción de la conjunción
- A
- B
- ____
- A Ù B
- Reglas de eliminación de la conjunción
- A Ù B A Ù B
- ____ _____
- A B
- Reglas de la introducción de la disyunción
- A B
- ____ ____
- A Ú B A Ú B
- (es indiferente que el literal introducido esté
en la BC) - Reglas de eliminación de la disyunción
- A Ú B A Ú B
- B A
- ____ ____
- A B
- Reglas de reducción al absurdo y doble negación
- A ? B Ù B A
- __________ _____
- A A
- Reglas de De Morgan
- A Ù B A Ú B
- _______ ________
- A Ú B A Ù B
10El lenguaje formal de un cálculo proposicional
teorema de deducción
- F. Teorema de deducción
- Una deducción o estructura deductiva se describe
mediante dos sucesiones separadas por el signo ? - p1, p2, ...,pn ? q1, q2, ...,qm
- La sucesión pi es el antecedente de la deducción
y sus elementos se llaman premisas. La sucesión
qi es el consecuente de la deducción y sus
elementos se llaman conclusiones. - Una estructura deductiva se define como correcta
cuando la sucesión consecuente se obtiene de
acuerdo con alguna de las reglas siguientes - qi es una de las premisas
- qi es una fórmula válida en el sistema, es decir,
qi es un axioma o un teorema. - qi se deduce de alguna premisa o alguna
conclusión previa aplicando la regla del modus
ponens
11El lenguaje formal de un cálculo proposicional
semántica
- La teoría semántica del cálculo proposicional
utiliza la misma simbolización de las fórmulas,
pero el sistema de estructuras deductivas no se
hace mediante reglas de inferencia, si no
mediante una simbolización del significado de las
proposiciones (valoración en términos
verdadero, falso) de ahí el nombre de semántico. - Los elementos de este sistema son
- Un conjunto de significados atribuibles a las
proposiciones V y F - Definición semántica de las conectivas mediante
tablas de verdad - Definición semántica de deducción correcta
- Dada una estructura deductiva P1, P2, .....,Pn ?
Q - Se define como correcta cuando no existe ninguna
interpretación que simultáneamente haga los P
verdaderos y Q falso. Basta que exista una línea
que cumpla lo anterior para que la deducción sea
no válida. - Por ejemplo, supongamos la falacia de la
afirmación del consecuente - (r ? s) Ù s ? r
- r s r?s (r?s)Ù s (r?s)Ù s ? r
- 1 1 1 1 1
- 1 0 0 0 1
- 0 1 1 1 0 Interpretación que invalida la
deducción - 0 0 1 0 1
12Algunas propiedades
- Distributiva
- A v (B C) ? (A v B) (A v C)
- A (B v C) ? (A B) v (A C)
- Asociativa
- A v (B v C) ? (A v B) v C, que también se puede
escribir como - A v B v C
- Puede hacerse la tabla de verdad y se observará
que las tres son equivalentes fórmulas
verdaderas o falsas en las mismas
interpretaciones. - A (B C) ? (A B) C, idem, se puede
expresar ABC - El condicional no cumple la propiedad asociativa.
Pero si una muy útil propiedad transitiva. - Absorción
- A (A v B) ? A
- A v (A B) ? A
13Ejemplos de deducción natural (I)
- Aplicaremos la distinción de IA entre base de
reglas y base de hechos. Pero no olvidar que
desde el punto de vista de la lógica tanto las
reglas como los hechos son premisas. - Las reglas tendrán la letra R R1, R2, ...
- Los hechos tendrán la letra H H1, H2, ...
- Los consecuentes de las premisas tendrán la letra
Q Q1, Q2, ... - Podemos deducir D de los siguientes hechos y
reglas? - R1 AB ? C
- R2 C ? D v B
- H1 A
- H2 B
- Q1 AB Introducción de la conjunción (H1, H2)
- Q2 C MP (Modus Ponens) (R1, Q1)
- Q3 D v B MP (R2, Q2)
- Q4 D Eliminación de la disyunción (H2, Q3)
14Ejemplos de deducción natural (II)
- Podemos deducir A de los siguientes hechos y
reglas? - R1 AB ? C v D
- R2 E ? C
- H1 D
- H2 E
- Q1 C MP (R2, H2)
- Q2 C D Introducción de la conjunción (H1, Q1)
- Q3 (C v D) De Morgan (Q2)
- Q3 AB MT (Modus Tollens) (R1, Q3)
- Q4 A Eliminación de la conjunción (Q3)
- Observar que el Modus Tollens se puede deducir de
la regla de la interdefinición del condicional - R1 A ? B
- H1 B
- Q1 A v B Interdefinición (R1)
- Q2 A Eliminación de la disyunción (H1, Q1)
15Ejemplo de deducción natural y RAA
- La reducción al absurdo (RAA) es una de las
reglas de inferencia que antes hemos señalado.
Partimos de un objetivo, deducir A. Para ello
pondremos como hipótesis su contrario (A). Si de
esta hipótesis se sigue una contradicción,
entonces queda demostrado A. - En el siguiente ejemplo el objetivo es BC.
- R1 A ? C
- H1 (A v B) C
- HIP (BC) Negamos el objetivo
- Q1 (A C) v (B C) Distributiva (H1)
- Q2 A C Eliminación de disyunción (HIP, Q1)
- Q3 A Eliminación de la conjunción (Q2)
- Q4 C MP (R1, Q3)
- Q5 C Eliminación de la conjunción (Q2)
- Q6 C C Introducción de conjunción (Q4, Q5)
- Q7 B C Por RAA (HIP Q6)
- Probar con el siguiente ejemplo, donde el
objetivo es deducir D - R1 A v B
- R2 B v C
- R3 C v D
- H1 A
16El método de resolución en lógica proposicional
- El hito más importante para la aplicación de la
lógica a la IA ha sido el método de resolución de
Robinson. Un método completo para conseguir
inferencias.
17Introducción al método de resolución
- El método de resolución es un método de
inferencia completa para toda la lógica
proposicional. Al decir completo se quiere decir
que este método en conjunción con un algoritmo de
búsqueda completo puede confirmar o refutar
cualquier formula incluida en nuestra base de
conocimiento. - El método consta de tres pasos
- Traducir la base de conocimiento a una forma
normal conjuntiva. - Unificación
- Resolución
- A continuación veremos cada paso
18Método de resolución (I)
- Traducir la base de conocimiento a una forma
normal conjuntiva (FNC), que es aquella que - No tiene condicionales. Hacer esto es sencillo
gracias a la regla de la interdefinición - (A ? B) ? A V B
- Toda negación afecta solamente a un literal
(fórmula simple o atómica). Para lo cual usamos
las reglas de De Morgan - (A B) ? A V B
- Todas las fórmulas son traducibles a una
conjunción de cláusulas, entendiendo por tales un
literal o la disyunción de literales. Nos
apoyamos en la propiedad distributiva - (A B) v C ? (A v C) (B v C)
- Las siguientes expresiones son iguales y están
en FNC - R1 A v B
- R2 C v B (A v B) (C v B) (A v D)
- R3 A v D
- Pero no estaría en FNC
- (A v B) C
- Que debería ser traducida a
- A B C
19Método de resolución (II)
- Unificar buscar cláusulas con unificación de
literales, es decir, aquellas donde aparezca el
mismo literal. Por ejemplo - (A v B) (A v C) (C v D)
- Donde la primera unifica con la segunda (aparece
A) y la segunda con la tercera (aparece C). - De entre todas las cláusulas con unificación
escoger aquellas donde los literales sean
complementarios. En nuestro ejemplo anterior sólo
lo serían la primera y la segunda - (A v B) (A v C)
- Resolución aplicar la regla de resolución, que
nos dice que podemos deducir una cláusula con los
literales originales menos los complementarios.
La cláusula resultante se denomina resolvente. En
nuestro ejemplo - (B v C)
- Ejemplos
- (A v B v C) (A v B) ? C
- (A v B) B ? A
- (A v B) A (B v C) C, una contradicción,
decimos que tiene resolvente vacío. - En nuestro último ejemplo vemos que el método de
resolución nos puede ayudar a detectar
inconsistencias de nuestra base de conocimiento.
20Tipos de resolventes
- Cláusulas
- P (P v Q)
- (P v Q) (P v Q)
- (P v Q) (P v Q)
- P P
- (P v Q) (Q v R) Equivalente a (P?Q) (Q?R)
Resolventes Q Q (Q v Q), (P v P) Nada P v
R Equivalente a P?Q
Comentario El modus ponens La fórmula QvQ es
equivalente a Q. Dos posibles resolventes, ambos
son tautologías. Se pueden eliminar. Contradicci
ón, resolvente vacio Propiedad transitiva
21Ejemplo de resolución
- Ejemplo, conjunto de cláusulas 1 a 4, sus
resolventes son (5-ss) - R1 -Llueve v Clima_adverso
- R2 -Viento_fuerte v Clima_adverso
- R3 -Fumigar v Clima_adverso
- H1 Llueve
- Q1 Clima_adverso (de 1 y 4)
- Q2 -Fumigar (de 3 y 5)
- La resolución opera buscando el mismo literal, en
un caso negado y en otro afirmado. - Si se produce una contradicción, entonces decimos
que el resolvente es vacío. Imaginemos que
ocurriría si la cláusula 2 fuera - Fumigar v Clima_adverso
22Resolución y RAA
- El método de resolución y la regla de la RAA se
pueden aplicar a una base de conocimiento (BC).
De tal forma que nos permite interrogar a la BC
sobre la validez de literales o cláusulas. - En el siguiente ejemplo nuestro interrogante es
el literal E. Puesto que aplicamos la RAA
pondremos su negación (E) como nuestra hipótesis
de partida. Si llegamos a una contradicción
(resolvente vacío), entonces queda validado E.
Decimos que la conjunción (BC, E) es satisfacible
y que la conjunción (BC,E) es insatisfacible - R1 A v B
- R2 B v C
- R3 C v D
- R4 A v D V E
- HIP E
- Q1 A v C De R1, R2
- Q2 A v D De R3 y Q1
- Q3 E De R4 y Q2
- Q4 E E, contradicción De HIP y Q3
- Q5 E Por RAA de HIP Q4
23Resolución y transitividad
- La resolución es parcialmente traducible en
deducción natural a la transitividad. El ejemplo
anterior se podría hacer sin resolución y sin
RAA - Usamos la regla de la interdefinición y
convertimos las tres primeras disyunciones en
condicionales - Aplicamos la transitividad y llegamos a A ? D.
- Volvemos a aplicar la regla de la interdefinición
y obtenemos A v D. - Con ello acabamos concluyendo E por la regla de
la eliminación de la disyunción. - Por qué usamos el método? La razón de usar el
método de resolución es la facilidad de
computarlo y que tanto en lógica proposicional
como de predicados es una herramienta completa
para concluir la validez. - R1 A v B
- R2 B v C
- R3 C v D
- R4 A v D V E
- Q1 A ? B Interdefinición, de R1
- Q2 B ? C Interdefinición, de R2
- Q3 C ? D Interdefinición, de R3
- Q4 A ? D Transitividad (Q1-Q3)
- Q5 A v D Interdefinición, de Q4
- Q6 E Eliminación de la disyunción (R4, Q5)
24Ejercicios
- Interrogar a la siguiente base de conocimiento
por C, usando el método de resolución y la regla
RAA - R1 A v B
- R2 C v D
- R3 A v B v D
- Interrogar a la siguiente base de conocimiento
por A, usando el método de resolución y la regla
RAA - R1 A v C
- R2 B v C v A
- R3 A v B
25Algoritmo de resolución
- Al algoritmo se pasa la BC y la proposición que
se desea validar - Algoritmo RESOLUCION_PROPOSICIONAL( base,
objetivo) - BC ? base ? objetivo
- resolvente 0
- Repetir
- C1, C2 ? SELECCIONAR_CLAUSULAS( BC )
- resolvente ? RESOLUCION(C1, C2 )
- BC ? BC ? resolvente
- Hasta resolvente 0
- Devolver cierto
- Para la función SELECCIONAR_CLAUSULAS conviene
destacar algunas heurísticas que podemos incluir - El conjunto principal lo forma normalmente la
cláusula que pretendemos refutar y los
resolventes que vamos generando. - Dar preferencia a cláusulas unitarias, ya que
generan resolventes más cortos. - Eliminar las tautologías.
- Eliminar cláusulas más específicas que las que ya
están en la BC, por ejemplo, p v q si ya tenemos
p, o p(A) si ya tenemos p(x). - Para más información, ver Nilsson (1987,
p.148-ss) y Rusell y Norvig (2004, p. 346-7)
26Repaso a la lógica de predicados
- Recordamos los conceptos esenciales de la lógica
de predicados. Es importante que se estudien
detenidamente las reglas de inferencia que
afectan a los cuantores, ya que las usaremos en
el método de resolución
27Cálculo de predicados alfabeto y construcción de
fórmulas
- Es una generalización del cálculo planteado para
el cálculo proposicional. - Alfabeto
- Variables (x, y,...) y constantes (a, b, ....)
que simbolizan términos - Símbolos de predicado P, Q, R etc.
- Símbolos de conectivas y paréntesis (como en el
cálculo de proposiciones), ?, ?, ?, ?, ?, () - Símbolos de cuantificación ?, ?
- Sintaxis de construcción de fórmulas
- Toda proposición es una fórmula
- Si P es una letra de predicado de n plazas, P(t1,
t2, ....tn) es una fórmula - Si A es una formula que contiene libre la
variable xi , entonces son fórmulas correctas
sintácticamente las otras variables seguirán
siendo variables libres - ? x1 A(x1, x2, .......xn)
- ? x1 A(x1, x2, .......xn)
- Si A y B son fórmulas, entonces también son
fórmulas. - ?A, ?B, A ? B, A ? B, A ? B
28Cálculo de predicados otras reglas sintácticas
(I)
- Para la colocación de paréntesis se considera a
los cuantificadores como conectivas de nivel 1.
Así, la fórmula - ?x P(x) ? Q(x)
- El cuantificador solo afecta a P(x), en caso de
afectar a los dos predicados deberían encerrarse
entre paréntesis. - Orden de los cuantificadores. Cuando hay varios
cuantificadores en una fórmula, se considera que
el proceso de cuantificación se realiza en el
orden de mayor a menor proximidad del predicado.
Es decir - ?x ?y ?z P(x, y ,z, s) ? ?x ?y ?z (P(x, y,
z, s))? - El orden de los cuantificadores es importante. Y
si no lo cree así, compare estas dos opciones - ?x ?y Ama( x, y ) Todo el mundo ama a alguien
- ?y ?x Ama( x, y ) Alguien es amado por todos
- Para la simbolización de términos se supone como
base de referencia un dominio genérico, no vacío.
Los términos se representan por variables o
constantes cuyos valores pertenecen al dominio
anterior - x, y , z, t, ..... letras de variables,
representan cualquier elemento del dominio - a, b, c, d,.... letras de constantes,
representan un elemento concreto del dominio
29Cálculo de predicados otras reglas sintácticas
(II)
- Para los predicados se utiliza la notación
funcional P(t1, t2, ....tn) P representa el
predicado, y los t los lugares de los términos (
variables o constantes). Su significado es
semejante a los argumentos de una subrutina o
procedimiento. Por tanto P no debe considerarse
una proposición en tanto no se ocupen sus plazas
por variables de término. Esta ocupación se puede
hacer de dos formas - Por sustitución, en este caso se sustituye cada
plaza un símbolo de término que puede ser
constante o variable. Por ejemplo - P(x1, x2, a3, ....,an)
- Las variables que aparecen así (no ligadas a un
cuantor) se llaman variables libres. - Por cuantificación, en este caso se asigna a
cada plaza un conjunto de elementos del dominio,
caben dos posibilidades - Todo x si se asigna a una plaza todos los
elementos del dominio se simboliza mediante la
letra de variable situada en la plaza
correspondiente cuantificada universalmente fuera
de la fórmula con el símbolo ? - ?x1 P(x1, x2, .......xn)
- Algún x si se asigna un subconjunto no
especificado del dominio, se simboliza
análogamente al caso anterior mediante el símbolo
? - ?x1 P(x1, x2, .....xn)
- Las variables afectadas por los cuantificadores
se denominan variables ligadas.
30Cálculo de predicados ejemplos
- algunos republicanos son ricos ( expresada
de otra manera existen algunas personas que
son a la vez republicanos y ricos) - Predicados
- R(x) ? x es rico
- P(x) ? x es republicano
- Fórmula
- ?x (R(x) ? P(x))
- todos los republicanos son ricos ( para toda
persona si es republicano entonces es rico) - ?x( P(x) ? R(x))
- En toda pareja existe algún conductor ( En toda
pareja ,o bien x, o bien y, o ambos conducen) - Predicados
- P(x, y) ? x e y son pareja
- C(x) ? x es conductor
- Fórmula
- ?x ?y P(x, y) ? C(x) ? C(y)
- todos los estudiantes de informática son amigos
de los aficionados a la lógica (para cualquier x
e y , si x es informático e y es aficionado a
la lógica , entonces x e y son amigos) - Predicados
- I(x) ? x estudia informática
- L(x) ? x es aficionado a la lógica
- A(x, y) ? x es amigo de y
31Reglas de cuantificadores
- Externalizar cuantores (la fórmula A no tiene
ninguna variable ligada al cuantor) - A ?xPx ? ?x (A Px)
- A v ?xPx ? ?x (A v Px)
- A ?xPx ? ?x (A Px)
- A v ?xPx ? ?x (A v Px)
- Implicación y existencial
- ?xPx ? ?xQx ? ?x(Px ? Qx)
- Ley de descenso cuantificacional
- ?xPx ? ?xPx
- Mutación de variable
- ?xPx ? ?yPy ?xPx ? ?yPy
- Eliminación del generalizador
- ?xPx ? Pa
- Introducción del particularizador
- Pa ? ?xPx
- Reglas de negación
- ?xPx ? ??x?Px ( ó ??xPx ? ?x?Px )
- ?xPx ? ??x?Px ( ó ??xPx ? ?x?Px )
- Distributivas
- ?x(Px ? Qx) ? ?xPx ? ?xQx
- ?xPx v ?xQx ? ?x( Px v Qx )
- ?x(Px v Qx) ? ?xPx v ?xQx
- En un dominio finito D a, b, c , ?x equivale
a una conjunción de todos los elementos - ?xPx ? Pa ? Pb? Pc
- análogamente ?xPx ? Pa v Pb v Pc
32Lógica clásica de predicados y teoría de conjuntos
- Cantor (1845-1918) creó la teoría de conjuntos
- La lógica de predicados se puede interpretar como
una teoría de conjuntos - Existe un universo U al que pertenecen todos los
individuos ? x, x ? U - Cada predicado es un conjunto incluido en U P ?
U - Una afirmación del tipo Px tiene una
interpretación en términos de verdad o falsedad.
Ya que tenemos una función, fP(x), que puede
determinar la verdad o falsedad de Px - 1, si x ? P
- fP(x)
- 0, si x ? P
- Estamos, por tanto, ante una lógica de conjuntos
estrictos un individuo pertenece o no a un
conjunto. Ejemplo
U
P
Es verdad Pa fP(a) 1 Es verdad Pb fP(b)
1 Es falso Pb fP(b) 0
b
a
33Conectivas y teoría de conjuntos
- Negación P
- P P
- 1 0
- 0 1
- Conjunción Px Qx (intersección, ?)
- P Q PQ
- 1 1 1 (A)
- 0 1 0
- 1 0 0
- 0 0 0
- Disyunción Px v Qx (unión, ?)
- P Q PvQ
- 1 1 1 (A)
- 0 1 1 (B)
- 1 0 1 (C)
- 0 0 0
U
P
U
P
Q
(A)
U
P
Q
(A)
(B)
(C)
34Método de resolución en lógica de predicados
- La importancia del método de resolución es que
nos ofrece una técnica de inferencia completa y
aplicable a la IA. El objetivo final es
comprender la resolución por refutación como un
método para interrogar (consultar) a una base de
conocimientos.
35Método de resolución
- Robinson mostró en 1965 que existe un método
completo de inferencia. Implica los siguientes
pasos - Convertir en forma normal de Skolem, con
variables normalizadas y sin cuantores
universales - Eliminar condicionales
- Las negaciones sólo afectan a fórmulas atómicas
- Normalizar variables.
- Mover cuantores al principio de la fórmula.
Conseguimos con ello la Forma Prenex. - Eliminar cuantores existenciales.
- Eliminar cuantores universales.
- Pasar a forma normal conjuntiva
- Eliminar los símbolos de conjunción. Verticalizar
la fórmula. - Normalizar las variables por separado. Renombrar
variables para que no se repitan en cláusulas
distintas. - Resolución
- Unificación por sustitución.
- Resolución de cláusulas.
- La forma normal de Skolem implica que se han
realizado los pasos 1, 2, 4, 5 y 7. No implica
que todas las variables estén ligadas. Algunas
pueden estar libres, es decir, todavía no se ha
producido cierre existencial. El cierre
existencial implica que a todas las variables
libres se las liga a un existencial (ver
paso1.5).
361.1. Eliminación del condicional
- Partimos del ejemplo de los motores
- Para todo depósito de aceite (D) cuyo nivel (N)
es bajo, tiene un motor conectado (C) cuyo
rendimiento (R) es bajo. - Cualquier motor con un rendimiento (R) bajo
tiene un consumo alto (U). - El consumo alto y el consumo bajo son mutuamente
excluyentes - Nota para simplificar no introducimos el
predicado motor. - 1 ?x D( x ) N( x,bajo ) ? ?y ( C( x,y )
R( y,bajo) ) - 2 ?x ( R( x,bajo) ? U(x, alto) )
- 3 ?x ( U( x,bajo) ? U(x, alto) )
- 4 ?x ( U( x,alto) ? U(x, bajo) )
- Eliminación del condicional y bicondicional.
Mediante las reglas del intercambio o
interdefinición - A ? B ? A ? B
- A ? B ? (A ? B)
- Ejemplo sencillo ?x( P(x) ? ?xQ(x)) ? ?x(
P(x) ? ?xQ(x)) - Para nuestro ejemplo de las motores
- 1 ?x (D( x ) N( x,bajo ) ) v ?y ( C(
x,y ) R( y,bajo) ) - 2 ?x ( R( x,bajo) v U(x, alto) )
371.2. Negaciones en fórmulas atómicas
- Eliminación del símbolo aplicado a fórmulas
compuestas. Nos apoyaremos en las leyes de De
Morgan y las reglas de la negación en fórmulas
cuantificadas - (A ? B) ? A ? B
- (A ? B) ? A ? B
- ?xPx ? ??x?Px ( ó ??xPx ? ?x?Px )
- ?xPx ? ??x?Px ( ó ??xPx ? ?x?Px )
- Por ejemplo, partiendo de ?x( P(x) ? ?xQ(x))
- Por aplicación de regla de negación ?x ( P(x)
? ?xQ(x)) - Ahora aplicamos De Morgan ?x ( P(x) ? ?xQ(x))
- Volvemos a aplicar la regla de la negación ?x (
P(x) ? ? xQ(x)) - En nuestro ejemplo de los motores partíamos de
- ?x (D( x ) N( x,bajo ) ) v ?y ( C( x,y )
R( y,bajo) ) - Quitamos la primera negación
- ?x D( x ) v N( x,bajo ) v ?y ( C( x,y )
R( y,bajo) )
381.3. Normalizar variables
- Una variable ligada a un cuantor puede ser
reemplazada por cualquier otra variable (que no
aparezca en la fórmula). Debe ser uniformemente
reemplazada, es decir, en todas sus ocurrencias
ligadas a ese cuantor. Por tanto, cada cuantor
pasará a tener su propia variable. Esta
transformación no cambia el valor de verdad de la
fórmula. - Para hacer esto nos basamos en la regla de la
mutación de la variable - ?xPx ? ?yPy
- ?xPx ? ?yPy
- Ejemplo ?x P(x) ? ? xQ(x), se convierte en
- ?x P(x) ? ? yQ(y)
- En nuestro ejemplo de los motores partíamos de
- ?x D( x ) v N( x,bajo ) v ?y ( C( x,y )
R( y,bajo) ) - Observar que no hay ninguna variable que
normalizar
391.4. Cuantores al principio de la fórmula
- Una vez que los cuantores se hayan puesto al
principio, se dice que la fórmula resultante esta
en forma prenexa (o Prenex) y a la fórmula exenta
de cuantores la denominamos matriz. - Los cuantificadores en cabeza de la fórmula y
afectando a toda ella. Nos apoyaremos en - L1 Ax ? ?yPy ? ?y( Ax ? Py) Ax ? ?yPy ? ?y( Ax
? Py) - L2 Ax ? ?yPy ? ? y( Ax ? Py) Ax ? ? yPy ? ? y(
Ax ? Py) - Reglas de mutación de la variable x ?xPx ?
?yPy, ?xPx ? ?yPy - Las distributivas ?x(Px ? Qx) ? ?xPx ? ?xQx,
?x(Px ? Qx) ? ?xPx ? ?xQx - Ejemplo
- ?x ( P(x) ? ? yQ(y))
- Por L2 ?x ? y ( P(x) ? Q(y))
- Teorema toda fórmula del cálculo de predicados
es equivalente a otra en forma Prenex - Otro ejemplo ?y Q(y) ? ?xP(x)
- Aplicamos interdefinición ?yQ(y) ? ?xP(x)
- Interiorizo negación ? y Q(y) ? ?xP(x)
- Exteriorizo cuantor ?y ?x (Q(y) ? P(x) )
- En nuestro ejemplo de los motores tenemos (1) y
llegamos a (2) - (1) ?x D( x ) v N( x,bajo ) v ?y ( C( x,y
) R( y,bajo) ) - (2) ?x ?y D( x ) v N( x,bajo ) v ( C( x,y
) R( y,bajo) ) - Probar con ?x P(x) ? ?y?z (P(y) ? Q(z) )
401.5. Eliminar cuantores existenciales
- Se realiza el cierre existencial de la fórmula,
para ello, todas las variables libres se pasan a
ligadas añadiendo cuantores existenciales
correspondientes a las variables libres. - Eliminar los cuantores existenciales. Para ello
- Para cada cuantor existencial que no está bajo el
alcance de uno universal (no tiene a su izquierda
ningún cuantificador universal) se elimina el
existencial y se sustituye la variable por una
constante que no esté en la base de conocimiento.
Por ejemplo - ?x ?y ?z ( P(x,y) v Q(x,z) )
- Daría lugar a ?y ?z ( P(a,y) v Q(a,z) )
- Si el cuantor existencial está bajo el alcance de
uno universal (cuantor universal a la izquierda),
por ejemplo ?x?y P(x,y) entonces se presume que y
depende de x. Se elimina el cuantor existencial y
se representa dicha dependencia por una función
sustituyendo la variable por una función que no
debe coincidir con ninguna otra anterior y cuyas
variables sean las que están cuantificadas
universalmente a su izquierda. Ejemplo ?xP(x,
f(x)). Otro ejemplo - ?y ?z ?x( P(x,y) v Q(x,y) )
- ?y ?z( P( f(y,z), y) v Q(f(y,z), y) )
- En nuestro ejemplo de los motores partimos de (1)
y llegamos a (2) - (1) ?x ?y D( x ) v N( x,bajo ) v ( C( x,y
) R( y,bajo) ) - (2) ?x D( x ) v N( x,bajo ) v ( C( x,f(x)
) R( f(x),bajo) )
411.6. Eliminar cuantores universales
- Todas las variables están ligadas y cuantificadas
universalmente. Por tanto, el orden de los
cuantores universales no importa. - Puesto que podemos convenir que a partir de ahora
todas las variables están cuantificadas
universalmente, podemos eliminar su escritura
explícita - Nuestro ejemplo de los motores pasa a convertirse
en - D( x ) v N( x,bajo ) v ( C( x,f(x) ) R(
f(x),bajo) ) -
421.7. Pasar a forma normal conjuntiva
- Se dice que la matriz de una fórmula está en
forma normal conjuntiva cuando se expresa como
una conjunción de formulas A B C ... - Cada fórmula es una cláusula, es decir, una
disyunción de cero o más literales - Si ya está en forma Prenex, tan sólo hay que
apoyarse en las reglas de la distributividad - (A B) v C (A v C) (B v C).
- Nuestro ejemplo de los motores pasa de (1) a (2)
- (1) D( x ) v N( x,bajo ) v ( C( x,f(x) ) R(
f(x),bajo) ) - (2) ( D( x ) v N( x,bajo ) v C( x,f(x) ) ) (
D( x ) v N( x,bajo ) v R( f(x),bajo) )
432. Eliminar los símbolos de conjunción
- Podemos evitar la aparición explícita de los
símbolos de conjunción. Pasándolos de la forma A
B C a la forma - A
- B
- C
- Cada línea será una cláusula. En nuestro ejemplo
de los motores - R1 D( x ) v N( x,bajo ) v C( x,f(x) )
- R2 D( x ) v N( x,bajo ) v R( f(x),bajo)
443. Normalizar las variables por separado
- Normalizar las variables por separado renombrar
variables para que no se repitan en cláusulas
distintas. - Aunque una variable aparezca en cláusulas
separadas, puede referirse a objetos distintos.
Para que el procedimiento de resolución no nos
lleve a la interpretación de que necesariamente
se refieren al mismo objeto, es conveniente
renombrar las variables. - Vamos a representar el ejemplo de los motores
completo - R1 D( x ) v N( x,bajo ) v C( x,f(x) )
- R2 D( y ) v N( y,bajo ) v R( f(y),bajo)
- R3 R( z,bajo ) v U( z,alto )
- R4 U( w,bajo ) v U( w,alto )
- R5 U( r,alto ) v U( r,bajo )
454. Fundamento teórico de la resolución
- El método de resolución es un método de
inferencia completo toda fórmula que se sigue de
otra puede derivarse de ésta usando la refutación
por resolución. - El fundamento teórico del procedimiento de
resolución es el teorema de Herbrand, que nos
indica - Para demostrar que un conjunto de cláusulas S es
insatisfacible, basta con considerar las posibles
interpretaciones (sustituciones). - Si y sólo si es insatisfacible un subconjunto
finito de instancias (interpretaciones o
sustituciones de variables), entonces el conjunto
de cláusulas S es insatisfacible. Las siguientes
premisas son insatisfacibles - 1. P(x)
- 2. P(y) v R(z,y)
- 3. R(t, u)
- ___________
- 4. R(x, y) Sustituyendo x por y, con 1 y 2
- 5. R(x, y) R(x, y) Sustituyendo t por x y u
por y, con 3 y 4 - Contradicción, resolvente vacío
464.1. Unificación por sustitución la sustitución
- Los términos de una expresión pueden ser
variables, constantes o expresiones funcionales
una particularización por sustitución es una
nueva expresión que se obtiene sustituyendo
términos. Por ejemplo - Sea la expresión P(x, f(y), b), cuatro posibles
particularizaciones serían - P(z, f(w),b) P(x, f(a), b) P(g(z), f(a),
b) P(c, f(a), b). El ultimo literal se llama
particularización básica, ya que todos los
términos son constantes. - Representamos cualquier sustitución por un
conjunto de pares ordenados s v1/t1, v2/t2,
vn/tn ?. El par vi/ti significa que el término ti
sustituye a la variable vi en todas las
ocurrencias de esa variable con la única
condición que el término ti no contenga la
variable vi. El término ti está en el conjunto
(constante, variable o función) - Las sustituciones usadas en el ejemplo anterior
son s1 x/z, y/w, s2y/a, s3x/g(z),
y/a s4x/c, y/a - El principio de Resolución de Robinson
proporciona un procedimiento para encontrar
contradicciones intentando un número mínimo de
sustituciones.
474.1. Unificación por sustitución la unificación
- Por medio del método de resolución tratamos de
encontrar dos literales que sean idénticos. De
tal forma que aparezca afirmado en una cláusula y
negado en otra, es decir, literales unificados y
complementarios. Por ejemplo, las siguientes
cláusulas unifican con el predicado Q - P(x) v Q(x,a1)
- Q(x,a1) v R(x)
- ____________
- P(x) v R(x)
- Pero con las siguientes cláusulas no hay
resolución porque no pueden unificar por el
predicado Q - P(b) v Q(a1, a2)
- Q(x,a2) v R(x)
- Qué sustitución hace posible la unificación y
por tanto la resolución? - El algoritmo de unificación nos permite encontrar
un conjunto de sustituciones que haga idénticos
(unificados) a los literales complementarios.
Versiones del algoritmo en Escolano et al. (2003,
p. 64), Rusell y Norvig (2004, p. 316) y Nilsson
(1987, p. 131-2)
484.2. Resolución
- Robinson mostró en 1965 que existe un método de
inferencia - Sean dos cláusulas, supongamos que alguno de los
literales de la primera es unificable con otro
negado de la segunda - Se dice que se resuelven con el unificador s
en una única cláusula llamada resolvente que es
la disyunción de todos los literales de ambos
padres con la excepción del par T1 y ?T2 que
son los unificables mediante la sustitución s. - Es necesario un conjunto de unificaciones para
encontrar un resolvente
494.2. Resolución ejemplo (I)
- Sean
- R1 P(x) v Q(x,y)
- R2 P(a) v R(z)
- Como el predicado P es común en ambas cláusulas y
está negado en una de ellas, es posible, siempre
que pueda encontrarse un unificador, obtener un
resolvente - A continuación vemos que tenemos un unificador
general entre los literales comunes P(x) y P(x)
sx/a. - Obteniendo P(a) v Q(a,y) a partir de C1
- Eliminando el literal común se obtiene el
resolvente - Q3 Q(a,y) v R(z) De R1 y R2, sx/a
504.2. Resolución ejemplo (II)
- Vamos a ver un ejemplo en el que las
sustituciones hacen posible la unificación y, por
tanto, la resolución - Si partimos de
- R1 Afilado(x) v Cargado(y) v Preparado(x)
- H1 Preparado( Cortacescep )
- H2 Cargado( Depósito )
- Resolviendo R1 y H1, con sx/cortacesped se
obtiene - Q1 Afilado( Cortacesped ) v Cargado(y)
- Resolviendo H2 y Q1, con sy/Depósito se
obtiene - Q2 Afilado( Cortacesped )
- Resumen si se dan los hechos el cortacesped no
está preparado y el depósito está cargado,
además de R1, eso implica que el cortacesped no
está afilado
514.2. Resolución ejemplo (III)
- Supongamos un conjunto de calderas, para
simplificar eliminamos el predicado Caldera(_).
Para cualquier caldera con presión (P) alta y que
está conectada (C) a alguna otra, entonces hay
transmisión (T) de líquido de una a otra. Si esto
es así, entonces la segunda caldera se pone en
estado de alerta (A). - ?x ?y P( x,alta ) C( x,y ) ? T( x,y )
?x ?y ( T(x,y) ? A( y) ) - Eliminación del condicional
- ?x ?y ( P( x,alta ) C( x,y) ) v T( x,y )
?x ?y ( T(x,y) v A( y) ) - Quitamos la primera negación
- ?x ?y P( x,alta ) v C( x,y) v T( x,y )
?x ?y ( T(x,y) v A( y) ) - Normalizar variables
- ?x ?y P( x,alta ) v C( x,y) v T( x,y )
?r ?s ( T(r,s) v A( s) ) - Cuantores al principio de la fórmula
- ?x ?y ?r ?s P( x,alta ) v C( x,y) v T( x,y
) ( T(r,s) v A( s) ) - Eliminar cuantores y cada cláusula en una línea
- ( P( x,alta ) v C( x,y) v T( x,y ) ) (
T(r,s) v A( s) ) - R1 P( x,alta ) v C( x,y) v T( x,y )
- R2 T(r,s) v A( s) )
524.2. Resolución ejemplo (IV)
- En nuestro ejemplo de las calderas vamos a
inferir a partir de los hechos - R1 P( x,alta ) v C( x,y) v T( x,y )
- R2 T(r,s) v A( s)
- H1 P(cald1, alta)
- H2 C(cald1, cald2)
- Q1 C( cald1, cald2) v T(cald1, cald2) De R1
y H1, sx/cald1,y/cald2 - Q2 T(cald1, cald2) De Q1 y H2
- Q3 A(cald2) De R2 y Q2, sr/cald1,s/cald2
- La segunda caldera se pone en alerta.
534.2. Resolución ejemplo (V)
- Vamos a ver el ejemplo de los motores en el que
las sustituciones hacen posible la unificación y,
por tanto, la resolución. El objetivo es concluir
que el consumo del motor es alto (o que no es
bajo) - R1 D( x ) v N( x,bajo ) v C( x,f(x) )
- R2 D( y ) v N( y,bajo ) v R( f(y),bajo)
- R3 R( z,bajo ) v U( z,alto )
- R4 U( w,bajo ) v U( w,alto )
- R5 U( r,alto ) v U( r,bajo )
- H1 D( dep1 )
- H2 N( dep1, bajo)
- H3 C( dep1, motor1 )
- Q1 D( dep1 ) v N( dep1, bajo ) De H1,H2 por
introducción de disyunción. - Q2 C( dep1, f(dep1) ) De R1,Q1.
- Q3 C( dep1, motor1 ) C(dep1, motor1 ) De Q2 y
H3. S1 f(dep1)/motor1 - Q4 R( motor1, bajo) De R2,Q1. S2y/dep1 S1
- Q5 U( motor1, alto) De R3,Q3. S3z/f(dep1)
S1 - Nota Q3 es una tautología. Qué utilidad tiene?
Me permite realizar la sustitución
f(def1)/motor1, con lo que puedo concluir - U( motor1, bajo)
- Si no hubiesemos hecho Q2 y Q3 la conclusión
sería - U( f(dep1), bajo)
544.2. Resolución formas
- Cláusulas
- P (P v Q)
- (P v Q) (P v Q)
- (P v Q) (P v Q)
- P P
- (P v Q) (Q v R) Equivalente a (P?Q) (Q?R)
Resolventes Q Q (Q v Q), (P v P) Nada P v
R Equivalente a P?Q
Comentario El modus ponens La fórmula QvQ es
equivalente a Q. Dos posibles resolventes, ambos
son tautologías. Se pueden eliminar. Contradicci
ón, resolvente vacio Propiedad transitiva
554.2. Resolución y refutación
- Igual que en el cálculo de proposiciones se puede
decir si - P P1 ? P2 ?......? Pn
- es una sentencia en forma de conjunción de
cláusulas, al igual que C, entonces P ? C será
verdadera ( o C es una conclusión de P ) - Si C es una conclusión de P, podemos razonar por
el método de reducción al absurdo si de la
conjunción de P y ?C resulta una contradicción,
entonces probamos P? C - Aplicando entonces a P ? ?C la regla de
resolución , la contradicción se manifestara por
la obtención de la cláusula vacía - Utilidades del método de resolución
- Interrogar sobre la validez de una fórmula en una
base de conocimiento. Podemos actuar por
refutación negamos la fórmula y si llegamos a
una contradicción la respuesta es que la fórmula
es válida. - Probar la consistencia de la BC cuando introduces
una nueva cláusula. Si no se deriva una
contradicción (resolvente vacio), entonces
sabemos que la BC y la nueva clásula son
satisfacibles.
564.2. Resolución y refutación ejemplo (I)
- Ejemplo de los delfines
- Cualquiera que pueda leer es letrado ?x ( R(x) ?
L(x) ) - Los delfines no son letrados ?x ( D(x) ? L(x) )
- Algún delfín es inteligente ?x ( D(x) I(x)
- Queremos probar que alguien que es inteligente no
puede leer I(z)R(z) - El conjunto de cláusulas con las variables
normalizadas por separado - R1 R(x) v L(x)
- R2 D(y) v L(y)
- R3 D(a) De C a es un delfín
- R4 I(a) De C ... además, a es inteligente
- HIP I(z) v R(z) (la negación de lo que
queremos probar) - Q1 R(a) De HIP y R4, sz/a
- Q2 L(a) De R1 y Q1, sx/a
- Q3 D(a) De R2 y Q2, sy/a
- Q4 D(a) D(a) Contradicción. Resolvente vacio
- Q5 I(z) R(z) Por RAA, de HIP-Q4
574.2. Resolución y refutación ejemplo (II)
- Sea nuestro ejemplo de las calderas, al que le
hemos añadido la base de hechos y la negación de
lo que queremos demostrar (HIP) - R1 P( x,alta ) v C( x,y) v T( x,y )
- R2 T(r,s) v A( s)
- H1 P(cald1, alta)
- H2 C(cald1, cald2)
- HIP A(cald2) Negamos lo que vamos a
demostrar - Q1 T(r, cald2) De R2 e HIP, ss/cald2
- Q2 P(cald1, alta) v C(cald1, cald2) De H1,H2,
por introducción de disyun. - Q3 T(cald1, cald2) De R1 y Q2, sx/cald1,
y/cald2 - Q4 T(cald1, cald2) T(cald1, cald2) De Q1 y
Q3, sr/cald1,contradicción - Q5 A(cald2) Por RAA, de HIP a Q4
584.2. Resolución y refutación comprobar la
consistencia de una BC
- Un ejemplo de la utilidad de este método para
comprobar la consistencia de una BC. El método de
resolución nos permite comprobar la
insatisfacibilidad de un conjunto de cláusulas
(no hay sustituciones para las que sean
verdaderas todas las cláusulas), que van de la 1
a la 6. El conjunto de resolventes empieza en 7. - Q(x) v T(x)
- Q(y) v S(y)
- R(z)
- P(t) v Q(t) v R(f(t))
- P(g(u)) v Q(h(u))
- S(w) v T(w)
- Q(w) v S(w) (de 1 y 6 con ux/w)
- Q(y) (de 7 y 2 con uw/y)
- P(t) v R(f(t)) (de 8 y 4 con uy/t)
- P(t) (de 9 y 3 con uz/f(t))
- Q(h(u)) (de 10 y 5 con ut/g(u))
- Cláusula vacía (de 11 y 8 con uy/h(u))
594.2. Resolución y refutación ejercicios
- Tomar el ejemplo de los motores y llegar a la
conclusión por RAA. - Fumigación (para simplificar evitamos el
predicado árbol) - Todo árbol afectado (A) por una plaga (P) está
en una situación (S) de peligro - ?x ?y ( A( x,y ) P( y ) ? S( x,peligro ) )
- Para cualquier árbol que esté en una situación
(S) de peligro y sus condiciones climáticas sean
favorables a la fumigación (C), prepararemos el
equipo de fumigación (E) - ?x ( S( x,peligro ) C( x ) ? E( x ) )
- Para cualquier árbol, es válido que si no hay
viento (V) y no se esperan lluvias (L)
inminentes, sus condiciones climáticas son
favorables para la fumigación (C) y viceversa - ?x ( V( x ) L( x ) ?? C( x ) )
- Si hay árboles para los que preparamos el equipo
de fumigación (E) y existe algún agente químico
(Q), entonces aplicaremos (I) el agente al árbol - ?x ?y ( E( x ) Q( y ) ? I( x,y ) )
- Si y sólo si la plaga (P) es de pulgón o de
cochinilla, entonces el agente químico (Q) es el
insecticida - P( pulgón ) v P( cochinilla ) ? Q( insecticida )
- Si y sólo si la plaga (P) es de oidio o de roya,
entonces el agente químico (Q) es antihongos - P( oídio ) v P( roya ) ? Q( antihongos )
- Hechos P( pulgón ) P( oídio ) A( a, pulgón
) A( a, oídio ) V(a) L(a) - Interrogante Prepararemos el equipo de
fumigación (E) para a y le aplicaremos (I)
insecticida y antihongos? - E(a) I(a, insecticida) I(a, antihongos )