Sie sind auf Seite 1von 36

INFERENCIA EN LÓGICA DE

PRIMER ORDEN

AUTOR: JEFFERSON MORALES ZAVALETA


COMPARACION

LOGICA PROPOSICIONAL LOGICA PRIMER ORDEN


 Representa hechos únicamente  Representa hechos mediante objetos y
mediante sentencias, los cuales pueden predicados(Funciones o propiedades de
ser V o F. los objetos).
 Ejemplo: La casa#1 es de color amarrillo  Ejemplo: La casa#1 es de color amarrillo
Objetos: Casa#1, es de color, Amarrillo
Función: es de color(Casa#1,Amarrillo)
Propiedad: Color Casa(Amarrillo)
COMPARACION

LOGICA PROPOSICIONAL LOGICA PRIMER ORDEN


 Las sentencias se representan mediante  Las sentencias son expresadas de una
un único símbolo, para su posterior forma mas expresiva, es decir utilizando el
implicación o inclusión a la BC. lenguaje común.
 Ejemplo: La Casa#1 es de color Amarrillo  Ejemplo: es de color(Casa#1,Amarrillo)
COMPARACION

LOGICA PROPOSICIONAL LOGICA PRIMER ORDEN


 Como en esta lógica se comprueban  Este tipo de lógica por ser de Predicados
hechos cada sentencia se tiene que nos permite expresar las diferentes
expresar individualmente. propiedades o relaciones de objetos de
una manera.
 Casa#1 es de color amarillo = CC1
 Es de color(Casa#1, Amarillo)
 Casa#1 es de color amarillo = CC2
 Es de color(Casa#2, Amarillo)
 Casa#1 es de color amarillo = CC3
 Es de color(Casa#3, Amarillo)
 Casa#1 es de color amarillo = CCn
 Es de color(Casa#n, Amarillo)
COMPARACION

LOGICA PROPOSICIONAL LOGICA PRIMER ORDEN


 Cada hecho se tiene que introducir  Podemos utilizar cuantificadores para
individualmente a la BC. introducir nuevos valores a la BC o
también para preguntar los valores de
 Casa#1 es de color amarillo = CC1
algún conjunto de objetos a la BC.
 Casa#1 es de color amarillo = CC2
 Asignarle a las casas el mismo color en la
 Casa#1 es de color amarillo = CC3 BC:
 Casa#1 es de color amarillo = CCn  Casa#1,Casa#2,Casa#3,Casa#n.
COMPARACION

LOGICA PROPOSICIONAL LOGICA PRIMER ORDEN


 La inferencia de nuevo conocimiento se  La inferencia se realiza mediante simples
realiza mediante la aplicación de implicaciones que no requieren de
equivalencias lógicas u otros métodos. conocimiento de matemática discreta.

Es de color(Casa#1, Amarillo)
Es de color(Casa#2, Amarillo)
Es de color(Casa#3, Amarillo)
Es de color(Casa#n, Amarillo)
MOTIVACION

- Expresividad: “María tiene un perro llamado Pancho”


· Proposiciones: p
· Primer Orden: Hm ∧ Pp ∧ Tmp

- Nº Sentencias: cuantificadores
· a1 ∧ a 2 ∧ a 3 ∧ …∧ a n → ∀xAx
· a1 ∨ a 2 ∨ a 3 ∨ …∨ a n → ∃xAx
EXPRESIVIDAD VS DEDUCCION

Cuanto más expresiva, menos


propiedades lógicas y más
difícil es hacer deducción.

Otras: Modal, Temporal, Difusa, …


LEXICO – SIMBOLOS COMUNES

- Variables: x y z …
- Constantes Lógicas: T F
- Conectivas: ¬ ∧ ∨ → ↔
- Cuantificadores:
· Universal: ∀ (para todo)
· Existencial: ∃ (existe algún)
- Símbolos Auxiliares de Puntuación: ( ) ,
- Símbolos Opcionales de Igualdad: = ≠
LEXICO – SIMBOLOS PROPIOS

- Constantes: a b c …
· Representan objetos concretos.
· Asignan un nombre a un objeto.
- Functores: f(a) g(x,y) h(x,y,a) …
· Objetos que no importa su nombre o no se conoce.
- Relatores: Rx Sxy … o R(x) S(x,y) …
· Propiedades y relaciones.
· Pueden ser verdaderos o falsos.
LEXICO - RESUMEN
SINTAXIS

- Término: constante, variable, función.


Son objetos: a, x, f(a), g(x,y), …
- Fórmula Atómica: constante lógica, relación.
Se descomponen en términos: T, F, Rx, Sab, …
Pueden ser verdaderas o falsas.
- Fórmula/Predicado: fórmula atómica, conectiva, cuantificador: Rx∧Sxy,
∃xRx, ∀xySxy
Sentencia: fórmula con todas las variables ligadas a un cuantificador.
REGLAS DE INFERENCIA PARA
CUANTIFICADORES

Suponga que nuestra base de conocimiento contiene el axioma


popular que afirma que los reyes que son codiciosos también son
malvados.

Se pueden inferir las siguientes sentencias:


REGLA DE LA ESPECIFICACION UNIVERSAL

Dice que podemos inferir cualquier sentencia obtenida por sustitución


de la variable por un término base (un término sin variables).
EJEMPLO DE EU

Se puede aplicar muchas veces para producir muchas


consecuencias diferentes
REGLA DE LA ESPECIF. EXISTENCIAL

Es ligeramente más complicada. Para cualquier sentencia α,


variable v, y símbolo de constante k que no aparezca en ninguna
otra parte de la base de conocimiento.

*La Especificación Existencial esuncasoespecial del procesomás general


llamado skolemización,quetrataremos másadelante
EJEMPLO EE

Mientras que 𝐶1 no aparezca en ningún otro sitio de la BC.

Básicamente, la sentencia existencial nos dice que hay algún objeto


que satisface una condición, y el proceso de especificación tan sólo
le da un nombre a dicho objeto (𝐶1).

Naturalmente, ese nombre no puede pertenecer a otro objeto


previamente.
EJEMPLO EE

 Supongamos que descubrimos que hay un número que es un poco


mayor que 2,71828 y que satisface la ecuación para x:

 Le podemos dar a dicho número un nombre, como 𝒆, pero sería un


error darle el nombre de un objeto ya existente, como 𝝅.
 En lógica, a este nuevo nombre se le denomina constante de Skolem*
REDUCCION A INFERENCIA PROPOSICIONAL

 Ya que podemos inferir sentencias no cuantificadas a partir de


sentencias cuantificadas, podemos reducir la inferencia de primer
orden a la inferencia proposicional.
 Como una sentencia cuantificada existencialmente se puede
sustituir por una especificación, una sentencia cuantificada
existencialmente se puede sustituir por el conjunto de todas las
especificaciones posibles.
EJEMPLO

 Supongamos que nuestra base de conocimiento contiene


tan sólo las sentencias:
EJEMPLO

 Entonces aplicamos la EU a la primera sentencia, utilizando


todas las sustituciones de términos base posibles, tomadas del
vocabulario de la base de conocimiento, en este caso {x/Juan}
y {x/Ricardo}. Obtenemos:

Ahora, la BC es esencialmente proposicional, si vemos las sentencias


atómicas base (𝑅𝑒𝑦(𝐽𝑢𝑎𝑛), 𝑐𝑜𝑑𝑖𝑐𝑖𝑜𝑠𝑜(𝐽𝑢𝑎𝑛), etc.) como símbolos
proposicionales.
EJEMPLO

 Supongamos que en vez de Codicioso[Juan), sabemos que


todo el mundo es codicioso:

Podemos concluir Malvado(Juan) por que sabemos que Juan es un rey y que Juan
es codicioso al igual que todo el mundo. Necesitamos encontrar una sustitución
para las variables en la sentencia de implicación y las variables de las sentencias
que se deben emparejar. En este caso, aplicando la sustitución {x/Juan, y/Juan} a
las premisas de implicación Rey(x) y codicioso(x) y a las sentencias de la BC
Rey(Juan) y Codicioso(y) las hará idénticas. De este modo podemos inferir la
conclusión de una implicación.
EJEMPLO

 Este proceso de inferencia se puede plasmar mediante una


única regla de inferencia a la que llamamos MODUS PONENS
GENERALIZADO*.
UNIFICACION

 Es el proceso por el cual las reglas de inferencia elevadas encuentran las sustituciones
que hacen que expresiones lógicas diferentes se hagan idénticas.
 Es el componente clave de todos los algoritmos de inferencia en lógica de primer
orden.
 El algoritmo UNIFICA toma dos sentencias y devuelve un unificador para ellas, si éste
existe:

Ejemplo: supongamos que tenemos una petición


𝐶𝑜𝑛𝑜𝑐𝑒(𝐽𝑢𝑎𝑛, 𝑥): ¿a quién conoce Juan? Debemos
encontrar todas las sentencias de la BC que se
unifiquen con 𝐶𝑜𝑛𝑜𝑐𝑒(𝐽𝑢𝑎𝑛, 𝑥)
UNIFICACION

 Estas son los resultados de la unificación con 4 sentencias que podrían estar en
la BC:

La última unificación falla por que x no puede tomar los valores 𝐽𝑢𝑎𝑛 𝑦 𝐸𝑙𝑖𝑠𝑎𝑏𝑒𝑡 al
mismo tiempo. Este problema se presenta cuando las dos sentencias tienen que
usar el mismo nombre de variable, 𝑥. Si renombramos la x de Conoce(𝑥, 𝐸𝑙𝑖𝑠𝑎𝑏𝑒𝑡) por
otro nombre de variable la unificación* tendrá éxito:
ENCADENAMIENTO HACIA DELANTE

Anteriormente se vio un algoritmo de encadenamiento hacia


adelante para cláusulas positivas proposicionales.
La idea era comenzar a partir de las sentencias atómicas de la BC y
aplicar el
𝑀𝑂𝐷𝑈𝑆 𝑃𝑂𝑁𝐸𝑁𝑆 hacia adelante, añadiendo las sentencias
atómicas nuevas hasta que no se puedan realizar más inferencias.
Las cláusulas positivas como 𝑆𝑖𝑡𝑢𝑎𝑐𝑖ó𝑛 → 𝑅𝑒𝑠𝑝𝑢𝑒𝑠𝑡𝑎 son útiles
para sistemas que realizan inferencias en respuesta a información
nueva que se ha recibido.
Vale la pena intentar construir una BC tan sólo con cláusulas
positivas de manera que se evite el coste de aplicar la resolución.
CLAUSULAS POSITIVAS DE PRIMER ORDEN

Son disyunciones de literales en los cuales sólo uno


es positivo. Ejemplos:

Al contrario que los literales proposicionales, los literales de primer orden pueden
contener variables, en cuyo caso se asume que están cuantificadas universalmente.
Son una forma normal muy adecuada para utilizar el MODUS PONENS
GENERALIZADO. No todas las BC se pueden convertir a un conjunto de cláusulas
positivas, pero si se pueden transformar.
CLAUSULAS POSITIVAS DE PRIMER ORDEN
CLAUSULAS POSITIVAS DE PRIMER ORDEN
EJEMPLO ENCADEMIENDO HACIA DELANTE
EMPAREJAMIENTO REGLAS CON HECHOS

Suponga que queremos aplicar la regla:

Necesitamos encontrar todos los hechos que se unifican con 𝑀𝑖𝑠𝑖𝑙(𝑥).


En una BC indexada de forma adecuada, esto se puede realizar en
tiempo constante por cada hecho. Ahora considere una regla como:

Podemos encontrar todos los objetos que tiene Nono en un tiempo


constante por objeto: por cada objeto podríamos comprobar si es un
misil.
EMPAREJAMIENTO REGLAS CON HECHOS

 Si la base de conocimiento tiene muchos


objetos en posesión de Nono y unos pocos
misiles, sería mejor encontrar todos los misiles
primero y entonces comprobar si son de Nono. •
Este es el problema de la ordenación de
conjuntores: encontrar una ordenación para
resolver los conjuntores de las premisas de una
regla de tal manera que el coste se minimice. •
La heurística de la variable más restringida que
se usa para PSR sugeriría ordenar primero los
misiles si hay menos misiles que objetos.
ENCADENAMIENTO HACIA ATRAS

 El algoritmo se invoca con una lista de objetivos que contiene un solo elemento, la
petición original, y devuelve el conjunto de todas las sustituciones que satisfacen la
petición. La lista de objetivos se puede ver como una «pila» a la espera de ser
procesada; si todos tos objetivos se pueden satisfacer, entonces la rama actual de la
demostración tiene éxito.
ENCADENAMIENTO HACIA ATRAS
PROGRAMACION LOGICA

 La programación lógica es una tecnología que está bastante relacionada con abarcar
el ideal declarativo: • “Los sistemas se construirían expresando el conocimiento en un
lenguaje formal y los problemas se resolverían ejecutando procesos de inferencia sobre
dicho conocimiento”.
 Prolog es, de lejos, el lenguaje de programación lógica más extensamente utilizado.
 Los programas en Prolog son conjuntos de cláusulas positivas escritas en una notación
algo diferente a la estándar de la lógica de primer orden.
 Prolog utiliza las letras mayúsculas en las variables y las minúsculas en las constantes.
PROGRAMACION LOGICA