SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
INFERENCIA EN LÓGICA
DE PRIMER ORDEN
I.A., RUSSEL Y NORVIG, CAPÍTULO 9
PÁGINAS 309-362(337-390 PDF)
Lógica proposicional vs. Lógica de primer
orden
La inferencia de primer orden se puede hacer convirtiendo la
base de conocimiento a lógica proposicional y utilizando la
inferencia proposicional.
Comenzamos con algunas reglas de inferencia sencillas que se
pueden aplicar a las sentencias con cuantificadores para
obtener sus sentencias equivalentes, sin cuantificar.
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:
Rey(Juan) ^ Codicioso(Juan) Malvado(Juan)
Rey(Ricardo) ^ Codicioso(Ricardo) Malvado(Ricardo)
Rey(Padre(Juan)) ^ Codicioso(Padre(Juan)) Malvado(Padre(Juan))
Regla de la Especificación Universal (EU)
La regla de la Especificación Universal (EU para abreviar) dice que podemos inferir
cualquier sentencia obtenida por sustitución de la variable por un término base (un
término sin variables)
Vamos a denotar el resultado de aplicar una sustitución Ɵ a una sentencia α mediante
Sust (Ɵ , α). Entonces la regla se escribe:
∀v α______
SUST({v/g}, α)
Reglasdeinferenciaparacuantificadores
Para cualquier variable v y término base g
Regla de la Especificación Universal (EU)
Reglasdeinferenciaparacuantificadores
∀𝑥𝑅𝑒𝑦 𝑥 ^𝐶𝑜𝑑𝑖𝑐𝑖𝑜𝑠𝑜(𝑥) → 𝑀𝑎𝑙𝑣𝑎𝑑𝑜(𝑥)
Rey(Juan) ^ Codicioso(Juan) Malvado(Juan)
Rey(Ricardo) ^ Codicioso(Ricardo) Malvado(Ricardo)
Rey(Padre(Juan)) ^ Codicioso(Padre(Juan)) Malvado(Padre(Juan))
{x/Juan},
{x/Ricardo},
{x/Padre(Juan)}
Regla de la Especificación Existencial(EE)
La correspondiente regla de Especificación Existencial para el cuantificador 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,
Ǝv α______
SUST({v/k}, α)
Reglasdeinferenciaparacuantificadores
Para cualquier variable v y símbolo
constante k
Regla de la Especificación Existencial(EE)
De la sentencia Ǝ𝑥 𝐶𝑜𝑟𝑜𝑛𝑎(𝑥) ^ 𝑆𝑜𝑏𝑟𝑒𝐶𝑎𝑏𝑒𝑧𝑎(𝑥, 𝐽𝑢𝑎𝑛)
Podemos inferir 𝐶𝑜𝑟𝑜𝑛𝑎(𝐶1) ^ 𝑆𝑜𝑏𝑟𝑒𝐶𝑎𝑏𝑒𝑧𝑎(𝐶1, 𝐽𝑢𝑎𝑛)
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.
Reglasdeinferenciaparacuantificadores
Regla de la Especificación Existencial(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*.
Reglasdeinferenciaparacuantificadores
*La Especificación Existencial es un caso especial del proceso más
general llamado skolemización, que trataremos más adelante
• La Especificación Universal se puede aplicar muchas veces para producir muchas
consecuencias diferentes, la Especificación Existencial sólo se puede aplicar una vez, y
entonces se puede descartar la sentencia cuantificada existencialmente.
• Por ejemplo:, una vez que hemos añadido la sentencia 𝑀𝑎𝑡𝑎(𝐴𝑠𝑒𝑠𝑖𝑛𝑜, 𝑉í𝑐𝑡𝑖𝑚𝑎), ya
no necesitamos más la sentencia Ǝ𝑥𝑀𝑎𝑡𝑎(𝑥, 𝑉í𝑐𝑡𝑖𝑚𝑎).
Regla de la Especificación Existencial(EE)
Reglasdeinferenciaparacuantificadores
Reducción a la 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.
Reducciónalainferenciaproposicional
Supongamos que nuestra base de conocimiento contiene tan
sólo las sentencias:
∀𝑥 𝑅𝑒𝑦 𝑥 ^
𝐶𝑜𝑑𝑖𝑐𝑖𝑜𝑠𝑜 𝑥 => 𝑀𝑎𝑙𝑣𝑎𝑑𝑜 𝑥
𝑅𝑒𝑦 𝐽𝑢𝑎𝑛
𝐶𝑜𝑑𝑖𝑐𝑖𝑜𝑠𝑜 𝐽𝑢𝑎𝑛
𝐻𝑒𝑟𝑚𝑎𝑛𝑜 𝑅𝑖𝑐𝑎𝑟𝑑𝑜, 𝐽𝑢𝑎𝑛
.
Reducciónalainferenciaproposicional
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.
Una regla de inferencia de primer orden
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
Unaregladeinferenciadeprimerorden
Este proceso de inferencia se puede plasmar mediante una única regla de inferencia a la
que llamamos MODUS PONENS GENERALIZADO*.
Para las sentencias atómicas p y q donde hay una sustitución Ɵ tal que
SUST(Ɵ, P’i)=SUST (Ɵ,Pi) para todo i
En nuestro ejemplo:
*El MODUS PONENS GENERALIZADO ERIGE AL MODUS PONENS PROPOSICIONAL A LA LÓGICA DE PRIMER ORDEN.
UNIFICACIÓN
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
𝐶𝑜𝑛𝑜𝑐𝑒(𝐽𝑢𝑎𝑛, 𝑥)
UNIFICACIÓN
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:
*Investigar Unificador más General (UMG)
ALMACENAMIENTO Y RECUPERACIÓN
Recordemos las funciones 𝐷𝐸𝐶𝐼𝑅 𝑦 𝑃𝑅𝐸𝐺𝑈𝑁𝑇𝐴𝑅, utilizadas para informar a
o interrogar la BC.
Por debajo de estas están las funciones primitivas 𝐴𝐿𝑀𝐴𝐶𝐸𝑁𝐴𝑅 𝑦 𝐵𝑈𝑆𝐶𝐴𝑅.
𝐴𝐿𝑀𝐴𝐶𝐸𝑁𝐴𝑅(𝑠) guarda una sentencia s en la base de conocimiento,
𝐵𝑈𝑆𝐶𝐴𝑅(𝑞) devuelve todos los unificadores que unifican la petición q con
alguna sentencia de la BC.
La forma más fácil, pero ineficiente* de implementar
𝐴𝐿𝑀𝐴𝐶𝐸𝑁𝐴𝑅 𝑦 𝐵𝑈𝑆𝐶𝐴𝑅 consiste en mantener todos los hechos en la BC
mediante una lista larga:
Dada una petición 𝑞, se llama a 𝑈𝑁𝐼𝐹𝐼𝐶𝐴(𝑞, 𝑠) con cada
sentencia s de la lista.
*Investigar mecanismos para realizar la búsqueda de forma más eficiente
(página 316-318 del libro)
ENCADENAMIENTO HACIA ADELANTE
• 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.
CLÁUSULASPOSITIVAS 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.
CLÁUSULASPOSITIVAS DE PRIMER ORDEN
Considere el siguiente problema:
Demostraremos que West es un Criminal.
Primero, representaremos estos hechos como cláusulas positivas de primer orden.
“Nono … tiene algunos misiles”: Ǝ𝑥 𝑇𝑖𝑒𝑛𝑒 (𝑁𝑜𝑛𝑜, 𝑥) ^ (𝑀𝑖𝑠𝑖𝑙(𝑥)
Se transforma en dos cláusulas positivas mediante la eliminación del Existencial, introduciendo la constante
M1:
𝑇𝑖𝑒𝑛𝑒 (𝑁𝑜𝑛𝑜, 𝑀1)
𝑀𝑖𝑠𝑖𝑙 (𝑀1) 9.4
CLÁUSULASPOSITIVAS DE PRIMER ORDEN
ALGORITMO SENCILLO DE ENCADENAMIENTO HACIA ADELANTE
• Comenzando con hechos conocidos, el proceso dispara todas las reglas cuyas premisas se
satisfacen, añadiendo sus conclusiones al conjunto de hechos conocidos.
• El proceso se repite hasta que la petición es respondida o no se puede añadir más
hechos
ALGORITMO SENCILLO DE ENCADENAMIENTO HACIA ADELANTE
ALGORITMO SENCILLO DE ENCADENAMIENTO HACIA ADELANTE
Hechos iniciales
Primera Iteración
Segunda Iteración
EMPAREJAMIENTO DE REGLAS CON LOS HECHOSCONOCIDOS
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 DE REGLAS CON LOS HECHOSCONOCIDOS
• 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.
EMPAREJAMIENTO DE REGLAS CON LOS HECHOSCONOCIDOS
Podemos ver cada conjuntor como una restricción sobre las variables que contiene, por
ejemplo, Misil(x) es una restricción unitaria sobre la variable x.
Ampliando esta idea, podemos expresar cada PSR de dominio finito como una única cláusula
positiva junto a algunos hechos base asociados a ella
ENCADENAMIENTO HACIA ATRÁS
Estos algoritmos trabajan hacia atrás desde el objetivo, encadenando a través de las
reglas hasta encontrar los hechos conocidos que soportan la demostración.
ENCADENAMIENTO HACIA ATRÁS
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.
PROGRAMACIÓN LÓGICA
• 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.
PROGRAMACIÓN LÓGICA
es_un_pais(paraguay). %Paraguay es un país
es_un_pais(argentina).
es_un_pais(brasil).
es_un_pais(bolivia).
es_un_pais(chile).
es_un_pais(perú).
es_un_pais(china).
false.
es_un_pais(X), write(X), nl, fail.
paraguay
argentina
brasil
bolivia
chile
perú
false. Fuente: Gustavo DeJean.
https://goo.gl/orpZDb
Es una
implementación
en open source
del lenguaje de
programación
Prolog.
Su autor
principal es Jan
Wielemaker (VU
University
Amsterdam).
En desarrollo
ininterrumpido
desde 1987.
limita_con(paraguay, brasil).%Paraguay limita con Brasil
limita_con(paraguay, argentina).
limita_con(paraguay, bolivia).
limita_con(paraguay, X).
Limita_con(X, Y).
limita_con(X, Y), write(X), write(' '), write(Y), nl, fail
limitrofes(paraguay, Brasil).
limitrofes(X,Y):- limita_con(X,Y).
limitrofes(X,Y):- limita_con(Y,X).
PROGRAMACIÓN LÓGICA
• Las cláusulas están escritas con la cabeza precediendo al cuerpo,
• “:-” se utiliza para las implicaciones a la izquierda, las comas separan los
literales del cuerpo y el punto indica el final de la sentencia.
Criminal(X) :- americano(X), arma(Y), vende(X,Y,Z), hostil (Z)
•
Como ejemplo, aquí tenemos un programa en Prolog para unir (X,Y,Z), que
tiene éxito si la lista Z es el resultado de unir las listas X y Y:
Unir([ ], Y, Y)
Unir ([A|X], Y, [A|Z]) :- unir (X, Y, Z)
PROGRAMACIÓN LÓGICA
Unir([ ], Y, Y)
Unir ([A|X], Y, [A|Z]) :- unir (X, Y, Z)
unir una lista vacía a una lista Y genera la misma lista Y
[A | Z ] es el resultado de unir [A | X] a Y, dado que z es
el resultado de unir x a Y.
Otro ejemplo: unir (A, B, [1, 2])
Obtenemos las soluciones hacia atrás:
A=[ ] B=[1, 2]
A=[1] B=[2]
A=[1, 2] B=[ ]
La ejecución de los programas en Prolog se hace mediante el encadenamiento
hacia atrás en primero en profundidad, donde las cláusulas se van intentando
en el orden en el que se han escrito en la BC.
RESOLUCIÓN
• Anteriormente vimos que la resolución proposicional es un procedimiento de
inferencia mediante refutación que es completo para la lógica proposicional.
• Veremos cómo ampliar la resolución a la lógica de primer orden
Formas normales conjuntivas(FNC) en lógica de primer orden
• Una conjunción de cláusulas, donde cada cláusula es una disyunción de literales
• Cada sentencia en lógica de primer orden se puede convertir a una sentencia en
FNC que es equivalente inferencialmente.
• La sentencia en FNC será insatisfacible sólo cuando la sentencia original lo sea
CONVERSIÓN A FNC
Mostraremos el procedimiento transformando la sentencia
“Todo el mundo que ama a los animales es amado por alguien”
• Eliminación de las implicaciones:
• Anidar las ¬:
La sentencia ahora se lee «Hay algún animal que x no ama, o (si éste no es el caso) alguien
ama a x»
CONVERSIÓN A FNC
• Estandarizar las variables: para las sentencias que utilizan el mismo nombre de variable
dos veces, se cambia una de las dos variables.
• Skolemnizar: la Skolemización es el proceso de borrar los cuantificadores existenciales
mediante su eliminación
• Eliminar los cuantificadores universales y distribuir la conjunción respecto a la negación:
Afortunadamente, las personas rara vez necesitan ver las sentencias en FNC
• El uso de la unificación para obtener las sustituciones adecuadas de las variables elimina el paso de instanciación en
las demostraciones de primer orden, haciendo que el proceso sea mucho más eficiente.
• Una versión elevada del Modus Ponens utiliza la unificación para proporcionar una regla de inferencia natural y
potente, el Modus Ponens Generalizado. Los algoritmos de encadenamiento hacia delante y de encadenamiento
hacia atrás aplican esta regla a conjuntos de cláusulas positivas.
• El encadenamiento hacia delante se utiliza en las bases de datos deductivas, donde se puede combinar con las
operaciones de las bases de datos relaciónales. También se utiliza en los sistemas de producción, que pueden hacer
actualizaciones eficientes en conjuntos de reglas muy grandes.
• El encadenamiento hacia delante es completo en los programas Datalog y corre en tiempo polinómico.
• El encadenamiento hacia atrás se utiliza en los sistemas de programación lógica como el Prolog, que emplea una
sofisticada tecnología de compilación para proporcionar una inferencia muy rápida.
• El encadenamiento hacia atrás sufre de inferencias redundantes y bucles infinitos; esto se puede aliviar mediante la
memorización.
• La regla de inferencia de la resolución generalizada proporciona un sistema de demostración completo en lógica de
primer orden, utilizando bases de conocimiento en forma normal conjuntiva.
RESUMEN*
*(páginas 352-353(380-381)

Más contenido relacionado

La actualidad más candente

Ejercicios algebraproposicional
Ejercicios algebraproposicionalEjercicios algebraproposicional
Ejercicios algebraproposicional
Mariexis Cova
 
Exposicion
ExposicionExposicion
Exposicion
oeculmas
 
Concurrencia interbloqueo e inanición
Concurrencia interbloqueo e inaniciónConcurrencia interbloqueo e inanición
Concurrencia interbloqueo e inanición
jhonfgarcia
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidad
rezzaca
 
Método de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortMétodo de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sort
linkinpark03
 

La actualidad más candente (20)

Ejercicios algebraproposicional
Ejercicios algebraproposicionalEjercicios algebraproposicional
Ejercicios algebraproposicional
 
Exposicion
ExposicionExposicion
Exposicion
 
Induccion matematica
Induccion matematicaInduccion matematica
Induccion matematica
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Concurrencia interbloqueo e inanición
Concurrencia interbloqueo e inaniciónConcurrencia interbloqueo e inanición
Concurrencia interbloqueo e inanición
 
Explicación de la definición de las variables aleatorias
Explicación de la definición de las variables aleatoriasExplicación de la definición de las variables aleatorias
Explicación de la definición de las variables aleatorias
 
36. logica matematica
36. logica matematica36. logica matematica
36. logica matematica
 
Tema 2 ECUACIONES DIFERENCIALES LINEALES DE ORDEN SUPERIOR
Tema 2 	ECUACIONES DIFERENCIALES LINEALES DE ORDEN SUPERIORTema 2 	ECUACIONES DIFERENCIALES LINEALES DE ORDEN SUPERIOR
Tema 2 ECUACIONES DIFERENCIALES LINEALES DE ORDEN SUPERIOR
 
Lógica Difusa
Lógica DifusaLógica Difusa
Lógica Difusa
 
Lógica Sesión N°3
Lógica Sesión N°3Lógica Sesión N°3
Lógica Sesión N°3
 
Reglas de Produccion
Reglas de ProduccionReglas de Produccion
Reglas de Produccion
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidad
 
Inferencia logica
Inferencia logicaInferencia logica
Inferencia logica
 
Ordenamiento por insercion
Ordenamiento por insercionOrdenamiento por insercion
Ordenamiento por insercion
 
Calculo predicadospartei
Calculo predicadosparteiCalculo predicadospartei
Calculo predicadospartei
 
Recursividad
RecursividadRecursividad
Recursividad
 
Predicados y cuantificadores autora elsa guédez
Predicados y cuantificadores autora elsa guédezPredicados y cuantificadores autora elsa guédez
Predicados y cuantificadores autora elsa guédez
 
Método de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortMétodo de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sort
 
Abstracción de datos
Abstracción de datosAbstracción de datos
Abstracción de datos
 

Destacado

ETICA Y COMUNICACION PUNTO 1
ETICA Y COMUNICACION PUNTO 1 ETICA Y COMUNICACION PUNTO 1
ETICA Y COMUNICACION PUNTO 1
karenlorena21
 
Inferencias logicas
Inferencias logicasInferencias logicas
Inferencias logicas
Eva Vásquez
 
La ética en las comunicaciones sociales
La ética en las comunicaciones socialesLa ética en las comunicaciones sociales
La ética en las comunicaciones sociales
im3
 

Destacado (20)

Reglas de Inferencia
Reglas de Inferencia Reglas de Inferencia
Reglas de Inferencia
 
Introducción a CSS 2
Introducción a CSS 2Introducción a CSS 2
Introducción a CSS 2
 
BabySari
BabySariBabySari
BabySari
 
Busqueda Entre Adversarios
Busqueda Entre AdversariosBusqueda Entre Adversarios
Busqueda Entre Adversarios
 
Introduccion a AJAX
Introduccion a AJAXIntroduccion a AJAX
Introduccion a AJAX
 
ETICA Y COMUNICACION PUNTO 1
ETICA Y COMUNICACION PUNTO 1 ETICA Y COMUNICACION PUNTO 1
ETICA Y COMUNICACION PUNTO 1
 
Reglas de inferencia
Reglas de inferenciaReglas de inferencia
Reglas de inferencia
 
Conflicto
ConflictoConflicto
Conflicto
 
LóGica De Primer Orden
LóGica De Primer OrdenLóGica De Primer Orden
LóGica De Primer Orden
 
Diagramas de Producción - BabySari
Diagramas de Producción - BabySariDiagramas de Producción - BabySari
Diagramas de Producción - BabySari
 
CSS 5 - Unidades y Valores
CSS 5 - Unidades y ValoresCSS 5 - Unidades y Valores
CSS 5 - Unidades y Valores
 
Inferencias logicas
Inferencias logicasInferencias logicas
Inferencias logicas
 
Distorsión de-la-información
Distorsión de-la-informaciónDistorsión de-la-información
Distorsión de-la-información
 
inferencias logicas
inferencias logicasinferencias logicas
inferencias logicas
 
Reglas de inferencia
Reglas de inferenciaReglas de inferencia
Reglas de inferencia
 
Introduccion a CSS I
Introduccion a CSS IIntroduccion a CSS I
Introduccion a CSS I
 
Introduccion Css
Introduccion CssIntroduccion Css
Introduccion Css
 
Introducción a Javascript I
Introducción a Javascript IIntroducción a Javascript I
Introducción a Javascript I
 
¿Qué es Coworking?
¿Qué es Coworking?¿Qué es Coworking?
¿Qué es Coworking?
 
La ética en las comunicaciones sociales
La ética en las comunicaciones socialesLa ética en las comunicaciones sociales
La ética en las comunicaciones sociales
 

Similar a Inferencia en Lógica de Primer Orden

Reglas y leyes lógica
Reglas y leyes lógicaReglas y leyes lógica
Reglas y leyes lógica
Bertha Vega
 
Logica Simbolica - Algebra de los Conjuntos
Logica Simbolica - Algebra de los ConjuntosLogica Simbolica - Algebra de los Conjuntos
Logica Simbolica - Algebra de los Conjuntos
MarinaMolina38
 
LÓGICA SIMBÓLICA 2 - Algebra de los conjuntos
LÓGICA SIMBÓLICA 2 - Algebra de los conjuntosLÓGICA SIMBÓLICA 2 - Algebra de los conjuntos
LÓGICA SIMBÓLICA 2 - Algebra de los conjuntos
MarinaMolina38
 

Similar a Inferencia en Lógica de Primer Orden (20)

Logica de predicados
Logica de predicadosLogica de predicados
Logica de predicados
 
Reglas y leyes lógica
Reglas y leyes lógicaReglas y leyes lógica
Reglas y leyes lógica
 
2.6 2.9
2.6   2.92.6   2.9
2.6 2.9
 
Calculo de predicados
Calculo de predicadosCalculo de predicados
Calculo de predicados
 
Linero demostracion matematicas(jsimon)
Linero demostracion matematicas(jsimon)Linero demostracion matematicas(jsimon)
Linero demostracion matematicas(jsimon)
 
Algunos temas de Lógica
Algunos temas de LógicaAlgunos temas de Lógica
Algunos temas de Lógica
 
MÉTODOS DE DEMOSTRACIÓN MATEMÁTICA
MÉTODOS DE DEMOSTRACIÓN MATEMÁTICAMÉTODOS DE DEMOSTRACIÓN MATEMÁTICA
MÉTODOS DE DEMOSTRACIÓN MATEMÁTICA
 
Maematicas resumen 2
Maematicas resumen 2Maematicas resumen 2
Maematicas resumen 2
 
Número Real
Número RealNúmero Real
Número Real
 
Metodo Demostrativo
Metodo DemostrativoMetodo Demostrativo
Metodo Demostrativo
 
Leyes del algebra proposicional
Leyes del algebra proposicionalLeyes del algebra proposicional
Leyes del algebra proposicional
 
CALCULO PROPOSICIONAL
CALCULO PROPOSICIONAL CALCULO PROPOSICIONAL
CALCULO PROPOSICIONAL
 
Logica Simbolica - Algebra de los Conjuntos
Logica Simbolica - Algebra de los ConjuntosLogica Simbolica - Algebra de los Conjuntos
Logica Simbolica - Algebra de los Conjuntos
 
LÓGICA SIMBÓLICA 2 - Algebra de los conjuntos
LÓGICA SIMBÓLICA 2 - Algebra de los conjuntosLÓGICA SIMBÓLICA 2 - Algebra de los conjuntos
LÓGICA SIMBÓLICA 2 - Algebra de los conjuntos
 
simplificación inferencias gestión
simplificación inferencias gestiónsimplificación inferencias gestión
simplificación inferencias gestión
 
simplificación inferencias gestión
simplificación inferencias gestiónsimplificación inferencias gestión
simplificación inferencias gestión
 
Procesos estocasticos y cadenas de markov
Procesos estocasticos y cadenas de markovProcesos estocasticos y cadenas de markov
Procesos estocasticos y cadenas de markov
 
Metodo de comparacion
Metodo de comparacionMetodo de comparacion
Metodo de comparacion
 
Metodo de comparacion
Metodo de comparacionMetodo de comparacion
Metodo de comparacion
 
Proposiciones
ProposicionesProposiciones
Proposiciones
 

Más de Héctor Estigarribia

Más de Héctor Estigarribia (19)

Extension e investigacion1
Extension e investigacion1Extension e investigacion1
Extension e investigacion1
 
Extension e investigacion
Extension e investigacionExtension e investigacion
Extension e investigacion
 
Introducción a Javascript: Formularios
Introducción a Javascript: FormulariosIntroducción a Javascript: Formularios
Introducción a Javascript: Formularios
 
Agentes Lógicos: Lógica proposicional
Agentes Lógicos: Lógica proposicionalAgentes Lógicos: Lógica proposicional
Agentes Lógicos: Lógica proposicional
 
Agentes Lógicos: El mundo de Wumpus
Agentes Lógicos: El mundo de WumpusAgentes Lógicos: El mundo de Wumpus
Agentes Lógicos: El mundo de Wumpus
 
Introduccion a HTML - XHTML clase 04
Introduccion a HTML - XHTML clase 04Introduccion a HTML - XHTML clase 04
Introduccion a HTML - XHTML clase 04
 
Problemas de Satisfaccion de restricciones (PSR)
Problemas de Satisfaccion de restricciones (PSR)Problemas de Satisfaccion de restricciones (PSR)
Problemas de Satisfaccion de restricciones (PSR)
 
Ejercicios de búsqueda a Ciegas y Búsqueda informada
Ejercicios de búsqueda a Ciegas y Búsqueda informadaEjercicios de búsqueda a Ciegas y Búsqueda informada
Ejercicios de búsqueda a Ciegas y Búsqueda informada
 
INTRODUCCIÓN A HTML – XHTML – Clase 03
INTRODUCCIÓN A HTML – XHTML – Clase 03INTRODUCCIÓN A HTML – XHTML – Clase 03
INTRODUCCIÓN A HTML – XHTML – Clase 03
 
Búsqueda informada y exploración
Búsqueda informada y exploraciónBúsqueda informada y exploración
Búsqueda informada y exploración
 
Introduccion a HTML - XHTML. Clase 02
Introduccion a HTML - XHTML. Clase 02Introduccion a HTML - XHTML. Clase 02
Introduccion a HTML - XHTML. Clase 02
 
Introduccion a HTML - XHTML - Clase 01
Introduccion a HTML - XHTML - Clase 01Introduccion a HTML - XHTML - Clase 01
Introduccion a HTML - XHTML - Clase 01
 
SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA
SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDASOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA
SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA
 
Inteligencia Artificial: Introducción - Reseña Histórica
Inteligencia Artificial: Introducción - Reseña HistóricaInteligencia Artificial: Introducción - Reseña Histórica
Inteligencia Artificial: Introducción - Reseña Histórica
 
Agentes Inteligentes
Agentes InteligentesAgentes Inteligentes
Agentes Inteligentes
 
Consejos para powerpoint
Consejos para powerpointConsejos para powerpoint
Consejos para powerpoint
 
Altivar18 Lang: Deutsch - ENg- Spanish - French
Altivar18 Lang: Deutsch - ENg- Spanish - FrenchAltivar18 Lang: Deutsch - ENg- Spanish - French
Altivar18 Lang: Deutsch - ENg- Spanish - French
 
Yas manual j1000frecuencia
Yas manual j1000frecuenciaYas manual j1000frecuencia
Yas manual j1000frecuencia
 
Word.basico
Word.basicoWord.basico
Word.basico
 

Último

COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIA
COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIACOMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIA
COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIA
Wilian24
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
Cuadernillo jkwfnergnerognerpognospgnrpongerpogn
Cuadernillo jkwfnergnerognerpognospgnrpongerpognCuadernillo jkwfnergnerognerpognospgnrpongerpogn
Cuadernillo jkwfnergnerognerpognospgnrpongerpogn
MarianaArgellesRamos
 
Historia de la iglesia cristiana y sus 6 PERIODOS.pptx
Historia de la iglesia cristiana y sus 6 PERIODOS.pptxHistoria de la iglesia cristiana y sus 6 PERIODOS.pptx
Historia de la iglesia cristiana y sus 6 PERIODOS.pptx
edgarzevallos
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 

Último (20)

UNIDAD 3 -MAYO - IV CICLO para cuarto grado
UNIDAD 3 -MAYO - IV CICLO para cuarto gradoUNIDAD 3 -MAYO - IV CICLO para cuarto grado
UNIDAD 3 -MAYO - IV CICLO para cuarto grado
 
COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIA
COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIACOMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIA
COMPENDIO ECE 5 GRADO MATEMÁTICAS DE PRIMARIA
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
REGLAMENTO FINAL DE EVALUACIÓN 2024 pdf.pdf
REGLAMENTO  FINAL DE EVALUACIÓN 2024 pdf.pdfREGLAMENTO  FINAL DE EVALUACIÓN 2024 pdf.pdf
REGLAMENTO FINAL DE EVALUACIÓN 2024 pdf.pdf
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
Educacion Basada en Evidencias SM5 Ccesa007.pdf
Educacion Basada en Evidencias  SM5  Ccesa007.pdfEducacion Basada en Evidencias  SM5  Ccesa007.pdf
Educacion Basada en Evidencias SM5 Ccesa007.pdf
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
Cuadernillo jkwfnergnerognerpognospgnrpongerpogn
Cuadernillo jkwfnergnerognerpognospgnrpongerpognCuadernillo jkwfnergnerognerpognospgnrpongerpogn
Cuadernillo jkwfnergnerognerpognospgnrpongerpogn
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Historia de la iglesia cristiana y sus 6 PERIODOS.pptx
Historia de la iglesia cristiana y sus 6 PERIODOS.pptxHistoria de la iglesia cristiana y sus 6 PERIODOS.pptx
Historia de la iglesia cristiana y sus 6 PERIODOS.pptx
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 

Inferencia en Lógica de Primer Orden

  • 1. INFERENCIA EN LÓGICA DE PRIMER ORDEN I.A., RUSSEL Y NORVIG, CAPÍTULO 9 PÁGINAS 309-362(337-390 PDF)
  • 2. Lógica proposicional vs. Lógica de primer orden La inferencia de primer orden se puede hacer convirtiendo la base de conocimiento a lógica proposicional y utilizando la inferencia proposicional. Comenzamos con algunas reglas de inferencia sencillas que se pueden aplicar a las sentencias con cuantificadores para obtener sus sentencias equivalentes, sin cuantificar.
  • 3. 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: Rey(Juan) ^ Codicioso(Juan) Malvado(Juan) Rey(Ricardo) ^ Codicioso(Ricardo) Malvado(Ricardo) Rey(Padre(Juan)) ^ Codicioso(Padre(Juan)) Malvado(Padre(Juan))
  • 4. Regla de la Especificación Universal (EU) La regla de la Especificación Universal (EU para abreviar) dice que podemos inferir cualquier sentencia obtenida por sustitución de la variable por un término base (un término sin variables) Vamos a denotar el resultado de aplicar una sustitución Ɵ a una sentencia α mediante Sust (Ɵ , α). Entonces la regla se escribe: ∀v α______ SUST({v/g}, α) Reglasdeinferenciaparacuantificadores Para cualquier variable v y término base g
  • 5. Regla de la Especificación Universal (EU) Reglasdeinferenciaparacuantificadores ∀𝑥𝑅𝑒𝑦 𝑥 ^𝐶𝑜𝑑𝑖𝑐𝑖𝑜𝑠𝑜(𝑥) → 𝑀𝑎𝑙𝑣𝑎𝑑𝑜(𝑥) Rey(Juan) ^ Codicioso(Juan) Malvado(Juan) Rey(Ricardo) ^ Codicioso(Ricardo) Malvado(Ricardo) Rey(Padre(Juan)) ^ Codicioso(Padre(Juan)) Malvado(Padre(Juan)) {x/Juan}, {x/Ricardo}, {x/Padre(Juan)}
  • 6. Regla de la Especificación Existencial(EE) La correspondiente regla de Especificación Existencial para el cuantificador 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, Ǝv α______ SUST({v/k}, α) Reglasdeinferenciaparacuantificadores Para cualquier variable v y símbolo constante k
  • 7. Regla de la Especificación Existencial(EE) De la sentencia Ǝ𝑥 𝐶𝑜𝑟𝑜𝑛𝑎(𝑥) ^ 𝑆𝑜𝑏𝑟𝑒𝐶𝑎𝑏𝑒𝑧𝑎(𝑥, 𝐽𝑢𝑎𝑛) Podemos inferir 𝐶𝑜𝑟𝑜𝑛𝑎(𝐶1) ^ 𝑆𝑜𝑏𝑟𝑒𝐶𝑎𝑏𝑒𝑧𝑎(𝐶1, 𝐽𝑢𝑎𝑛) 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. Reglasdeinferenciaparacuantificadores
  • 8. Regla de la Especificación Existencial(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*. Reglasdeinferenciaparacuantificadores *La Especificación Existencial es un caso especial del proceso más general llamado skolemización, que trataremos más adelante
  • 9. • La Especificación Universal se puede aplicar muchas veces para producir muchas consecuencias diferentes, la Especificación Existencial sólo se puede aplicar una vez, y entonces se puede descartar la sentencia cuantificada existencialmente. • Por ejemplo:, una vez que hemos añadido la sentencia 𝑀𝑎𝑡𝑎(𝐴𝑠𝑒𝑠𝑖𝑛𝑜, 𝑉í𝑐𝑡𝑖𝑚𝑎), ya no necesitamos más la sentencia Ǝ𝑥𝑀𝑎𝑡𝑎(𝑥, 𝑉í𝑐𝑡𝑖𝑚𝑎). Regla de la Especificación Existencial(EE) Reglasdeinferenciaparacuantificadores
  • 10. Reducción a la 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.
  • 11. Reducciónalainferenciaproposicional Supongamos que nuestra base de conocimiento contiene tan sólo las sentencias: ∀𝑥 𝑅𝑒𝑦 𝑥 ^ 𝐶𝑜𝑑𝑖𝑐𝑖𝑜𝑠𝑜 𝑥 => 𝑀𝑎𝑙𝑣𝑎𝑑𝑜 𝑥 𝑅𝑒𝑦 𝐽𝑢𝑎𝑛 𝐶𝑜𝑑𝑖𝑐𝑖𝑜𝑠𝑜 𝐽𝑢𝑎𝑛 𝐻𝑒𝑟𝑚𝑎𝑛𝑜 𝑅𝑖𝑐𝑎𝑟𝑑𝑜, 𝐽𝑢𝑎𝑛 .
  • 12. Reducciónalainferenciaproposicional 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.
  • 13. Una regla de inferencia de primer orden 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
  • 14. Unaregladeinferenciadeprimerorden Este proceso de inferencia se puede plasmar mediante una única regla de inferencia a la que llamamos MODUS PONENS GENERALIZADO*. Para las sentencias atómicas p y q donde hay una sustitución Ɵ tal que SUST(Ɵ, P’i)=SUST (Ɵ,Pi) para todo i En nuestro ejemplo: *El MODUS PONENS GENERALIZADO ERIGE AL MODUS PONENS PROPOSICIONAL A LA LÓGICA DE PRIMER ORDEN.
  • 15. UNIFICACIÓN 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 𝐶𝑜𝑛𝑜𝑐𝑒(𝐽𝑢𝑎𝑛, 𝑥)
  • 16. UNIFICACIÓN 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: *Investigar Unificador más General (UMG)
  • 17. ALMACENAMIENTO Y RECUPERACIÓN Recordemos las funciones 𝐷𝐸𝐶𝐼𝑅 𝑦 𝑃𝑅𝐸𝐺𝑈𝑁𝑇𝐴𝑅, utilizadas para informar a o interrogar la BC. Por debajo de estas están las funciones primitivas 𝐴𝐿𝑀𝐴𝐶𝐸𝑁𝐴𝑅 𝑦 𝐵𝑈𝑆𝐶𝐴𝑅. 𝐴𝐿𝑀𝐴𝐶𝐸𝑁𝐴𝑅(𝑠) guarda una sentencia s en la base de conocimiento, 𝐵𝑈𝑆𝐶𝐴𝑅(𝑞) devuelve todos los unificadores que unifican la petición q con alguna sentencia de la BC. La forma más fácil, pero ineficiente* de implementar 𝐴𝐿𝑀𝐴𝐶𝐸𝑁𝐴𝑅 𝑦 𝐵𝑈𝑆𝐶𝐴𝑅 consiste en mantener todos los hechos en la BC mediante una lista larga: Dada una petición 𝑞, se llama a 𝑈𝑁𝐼𝐹𝐼𝐶𝐴(𝑞, 𝑠) con cada sentencia s de la lista. *Investigar mecanismos para realizar la búsqueda de forma más eficiente (página 316-318 del libro)
  • 18. ENCADENAMIENTO HACIA ADELANTE • 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.
  • 19. CLÁUSULASPOSITIVAS 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.
  • 20. CLÁUSULASPOSITIVAS DE PRIMER ORDEN Considere el siguiente problema: Demostraremos que West es un Criminal. Primero, representaremos estos hechos como cláusulas positivas de primer orden. “Nono … tiene algunos misiles”: Ǝ𝑥 𝑇𝑖𝑒𝑛𝑒 (𝑁𝑜𝑛𝑜, 𝑥) ^ (𝑀𝑖𝑠𝑖𝑙(𝑥) Se transforma en dos cláusulas positivas mediante la eliminación del Existencial, introduciendo la constante M1: 𝑇𝑖𝑒𝑛𝑒 (𝑁𝑜𝑛𝑜, 𝑀1) 𝑀𝑖𝑠𝑖𝑙 (𝑀1) 9.4
  • 22. ALGORITMO SENCILLO DE ENCADENAMIENTO HACIA ADELANTE • Comenzando con hechos conocidos, el proceso dispara todas las reglas cuyas premisas se satisfacen, añadiendo sus conclusiones al conjunto de hechos conocidos. • El proceso se repite hasta que la petición es respondida o no se puede añadir más hechos
  • 23. ALGORITMO SENCILLO DE ENCADENAMIENTO HACIA ADELANTE
  • 24. ALGORITMO SENCILLO DE ENCADENAMIENTO HACIA ADELANTE Hechos iniciales Primera Iteración Segunda Iteración
  • 25. EMPAREJAMIENTO DE REGLAS CON LOS HECHOSCONOCIDOS 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.
  • 26. EMPAREJAMIENTO DE REGLAS CON LOS HECHOSCONOCIDOS • 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.
  • 27. EMPAREJAMIENTO DE REGLAS CON LOS HECHOSCONOCIDOS Podemos ver cada conjuntor como una restricción sobre las variables que contiene, por ejemplo, Misil(x) es una restricción unitaria sobre la variable x. Ampliando esta idea, podemos expresar cada PSR de dominio finito como una única cláusula positiva junto a algunos hechos base asociados a ella
  • 28. ENCADENAMIENTO HACIA ATRÁS Estos algoritmos trabajan hacia atrás desde el objetivo, encadenando a través de las reglas hasta encontrar los hechos conocidos que soportan la demostración.
  • 29. ENCADENAMIENTO HACIA ATRÁS 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.
  • 30. PROGRAMACIÓN LÓGICA • 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.
  • 31. PROGRAMACIÓN LÓGICA es_un_pais(paraguay). %Paraguay es un país es_un_pais(argentina). es_un_pais(brasil). es_un_pais(bolivia). es_un_pais(chile). es_un_pais(perú). es_un_pais(china). false. es_un_pais(X), write(X), nl, fail. paraguay argentina brasil bolivia chile perú false. Fuente: Gustavo DeJean. https://goo.gl/orpZDb Es una implementación en open source del lenguaje de programación Prolog. Su autor principal es Jan Wielemaker (VU University Amsterdam). En desarrollo ininterrumpido desde 1987. limita_con(paraguay, brasil).%Paraguay limita con Brasil limita_con(paraguay, argentina). limita_con(paraguay, bolivia). limita_con(paraguay, X). Limita_con(X, Y). limita_con(X, Y), write(X), write(' '), write(Y), nl, fail limitrofes(paraguay, Brasil). limitrofes(X,Y):- limita_con(X,Y). limitrofes(X,Y):- limita_con(Y,X).
  • 32. PROGRAMACIÓN LÓGICA • Las cláusulas están escritas con la cabeza precediendo al cuerpo, • “:-” se utiliza para las implicaciones a la izquierda, las comas separan los literales del cuerpo y el punto indica el final de la sentencia. Criminal(X) :- americano(X), arma(Y), vende(X,Y,Z), hostil (Z) • Como ejemplo, aquí tenemos un programa en Prolog para unir (X,Y,Z), que tiene éxito si la lista Z es el resultado de unir las listas X y Y: Unir([ ], Y, Y) Unir ([A|X], Y, [A|Z]) :- unir (X, Y, Z)
  • 33. PROGRAMACIÓN LÓGICA Unir([ ], Y, Y) Unir ([A|X], Y, [A|Z]) :- unir (X, Y, Z) unir una lista vacía a una lista Y genera la misma lista Y [A | Z ] es el resultado de unir [A | X] a Y, dado que z es el resultado de unir x a Y. Otro ejemplo: unir (A, B, [1, 2]) Obtenemos las soluciones hacia atrás: A=[ ] B=[1, 2] A=[1] B=[2] A=[1, 2] B=[ ] La ejecución de los programas en Prolog se hace mediante el encadenamiento hacia atrás en primero en profundidad, donde las cláusulas se van intentando en el orden en el que se han escrito en la BC.
  • 34. RESOLUCIÓN • Anteriormente vimos que la resolución proposicional es un procedimiento de inferencia mediante refutación que es completo para la lógica proposicional. • Veremos cómo ampliar la resolución a la lógica de primer orden Formas normales conjuntivas(FNC) en lógica de primer orden • Una conjunción de cláusulas, donde cada cláusula es una disyunción de literales • Cada sentencia en lógica de primer orden se puede convertir a una sentencia en FNC que es equivalente inferencialmente. • La sentencia en FNC será insatisfacible sólo cuando la sentencia original lo sea
  • 35. CONVERSIÓN A FNC Mostraremos el procedimiento transformando la sentencia “Todo el mundo que ama a los animales es amado por alguien” • Eliminación de las implicaciones: • Anidar las ¬: La sentencia ahora se lee «Hay algún animal que x no ama, o (si éste no es el caso) alguien ama a x»
  • 36. CONVERSIÓN A FNC • Estandarizar las variables: para las sentencias que utilizan el mismo nombre de variable dos veces, se cambia una de las dos variables. • Skolemnizar: la Skolemización es el proceso de borrar los cuantificadores existenciales mediante su eliminación • Eliminar los cuantificadores universales y distribuir la conjunción respecto a la negación: Afortunadamente, las personas rara vez necesitan ver las sentencias en FNC
  • 37. • El uso de la unificación para obtener las sustituciones adecuadas de las variables elimina el paso de instanciación en las demostraciones de primer orden, haciendo que el proceso sea mucho más eficiente. • Una versión elevada del Modus Ponens utiliza la unificación para proporcionar una regla de inferencia natural y potente, el Modus Ponens Generalizado. Los algoritmos de encadenamiento hacia delante y de encadenamiento hacia atrás aplican esta regla a conjuntos de cláusulas positivas. • El encadenamiento hacia delante se utiliza en las bases de datos deductivas, donde se puede combinar con las operaciones de las bases de datos relaciónales. También se utiliza en los sistemas de producción, que pueden hacer actualizaciones eficientes en conjuntos de reglas muy grandes. • El encadenamiento hacia delante es completo en los programas Datalog y corre en tiempo polinómico. • El encadenamiento hacia atrás se utiliza en los sistemas de programación lógica como el Prolog, que emplea una sofisticada tecnología de compilación para proporcionar una inferencia muy rápida. • El encadenamiento hacia atrás sufre de inferencias redundantes y bucles infinitos; esto se puede aliviar mediante la memorización. • La regla de inferencia de la resolución generalizada proporciona un sistema de demostración completo en lógica de primer orden, utilizando bases de conocimiento en forma normal conjuntiva. RESUMEN* *(páginas 352-353(380-381)