Source: http://slideplayer.es/slide/2915203/
Timestamp: 2017-09-25 03:06:30+00:00

Document:
Publicada porYazmin Salcido Modificado hace 2 años
3.3 Inferencia en Lógica de Primer Orden
2 Objetivo Definir mecanismos de inferencia que permiten responder de manera eficiente a preguntas formuladas en lógica de primer orden.
3 Introducción Se ha definido el concepto de inferencia y se ha mostrado que tan sólida y completa es la inferencia que puede obtenerse para el caso de la lógica proposicional. En este tema, los resultados anteriores se hacen extensivos a la lógica de primer orden.
4 Reglas de inferencia relacionadas con cuantificadores
Ya se han visto las reglas de inferencia que se utilizan en lógica proposicional: Modus ponens Y-eliminación Y-introducción O-introducción Resolución También son válidas en la lógica de primer orden, pero se requieren reglas de inferencias adicionales para manejar las oraciones de lógica de primer orden con cuantificadores: Eliminación Universal Eliminación Existencial Introducción Existencial
5 Reglas de inferencia relacionadas con cuantificadores
Se utilizará la notación SUST(,) para representar el resultado de aplicar la sustitución (o lista de enlace)  a la oración , por ejemplo: SUST({X/sam, Y/futbol}, le_gusta(X,Y)) = le_gusta(sam,futbol)
6 Reglas de inferencia relacionadas con cuantificadores
Eliminación Universal: Para toda oración , variable v y término de base g : Por ejemplo, en X le_gusta(X, helado), podemos utilizar la sustitución {X/ben} e inferir que le_gusta(ben, helado). v  SUST({v/g},)
7 Reglas de inferencia relacionadas con cuantificadores
Eliminación Existencial: Para toda oración , variable v y símbolo constante k que no aparezca en ninguna parte de la base de conocimientos: Por ejemplo, en X matar(X, víctima), podemos inferir que matar(asesino, víctima) en tanto que asesino no aparezca en ninguna parte de la base de conocimientos. v  SUST({v/k},)
8 Reglas de inferencia relacionadas con cuantificadores
Introducción Existencial: Para toda oración , variable v que no esté en  y término de base g que no esté presente en : Por ejemplo, en le_gusta(jerry,helado) podemos inferir que X le_gusta(X, helado).  v SUST({g/v},)
9 Ejemplo de una demostración
Descripción de la situación en lenguaje natural: “La ley establece que se considera como delito el que un estadounidense venda armas a naciones enemigas. El país Nono, enemigo de Estados Unidos, tiene algunos proyectiles, todos los cuales le fueron vendidos por el coronel West, un estadounidense.”
10 Ejemplo de una demostración
Lo que se desea demostrar es que West es un delincuente. Empezaremos por representar estos hechos en la lógica de primer orden, y luego se verá que la demostración consiste en una secuencia de aplicación de las reglas de inferencia.
11 Ejemplo de una demostración
“…es delito que un estadounidense venda armas a naciones enemigas” X,Y,Z estadounidense(X)  arma(Y)  nación(Z)  hostil(Z)  vende(X,Z,Y)  delincuente(X)	(1)
12 Ejemplo de una demostración
“Nono…tiene algunos proyectiles” X posee(nono,X)  proyectiles(X)	(2)
13 Ejemplo de una demostración
“Todos sus proyectiles (que posee Nono) le fueron vendidos por el coronel West” X posee(nono,X)  proyectiles(X)  vende(west, nono, X)	(3)
14 Ejemplo de una demostración
También es necesario saber que los proyectiles son armas: X proyectiles(X)  arma (X)	(4)
15 Ejemplo de una demostración
Y que a los enemigos de Estados Unidos se les considera como “hostiles”: X enemigo(X,estados_unidos)  hostil(X) (5)
16 Ejemplo de una demostración
“…West, un estadounidense…”: estadounidense(west) (6) “El país Nono, …”: nación(nono) (7)
17 Ejemplo de una demostración
“…Nono, enemigo de Estados Unidos…”: enemigo(nono, estados_unidos) (8) nación(estados_unidos) (9)
18 Ejemplo de una demostración
La demostración consiste en una serie de aplicaciones de las reglas de inferencia: De (2) y usando Eliminación Existencial X posee(nono,X)  proyectiles(X) (2) posee(nono,m1)  proyectiles(m1) (10)
19 Ejemplo de una demostración
De (10) y usando Y-Eliminación posee(nono,m1)  proyectiles(m1) (10) posee(nono,m1) (11) proyectiles(m1) (12)
20 Ejemplo de una demostración
De (4) y usando Eliminación Universal: X proyectiles(X)  arma (X)	(4) proyectiles(m1)  arma (m1)	(13)
21 Ejemplo de una demostración
De (12) y (13), usando Modus Ponens: proyectiles(m1) (12) proyectiles(m1)  arma (m1)	(13) arma(m1) (14)
22 Ejemplo de una demostración
De (3), usando Eliminación Universal: X posee(nono,X)  proyectiles(X)  vende(west, nono, X) (3) posee(nono,m1)  proyectiles(m1)  vende(west, nono, m1) (15)
23 Ejemplo de una demostración
De (15) y (10), usando Modus Ponens: posee(nono,m1)  proyectiles(m1)  vende(west, nono, m1) (15) posee(nono,m1)  proyectiles(m1) (10) vende(west, nono, m1) (16)
24 Ejemplo de una demostración
De (1) y usando Eliminación Universal tres veces X,Y,Z estadounidense(X)  arma(Y)  nación(Z)  hostil(Z)  vende(X,Z,Y)  delincuente(X) (1) estadounidense(west)  arma(m1)  nación(nono)  hostil(nono)  vende(west, nono, m1)  delincuente(west) (17)
25 Ejemplo de una demostración
De (5) y usando Eliminación Universal X enemigo(X,estados_unidos)  hostil(X)	(5) enemigo(nono, estados_unidos)  hostil(nono)	(18)
26 Ejemplo de una demostración
De (8) y (18), usando Modus Ponens enemigo(nono, estados_unidos) (8) enemigo(nono, estados_unidos)  hostil(nono)	(18) hostil(nono)	(19)
27 Ejemplo de una demostración
De (6), (7), (14), (16) y (19), usando Y-Introducción estadounidense(west) (6) nación(nono) (7) arma(m1) (14) vende(west, nono, m1) (16) hostil(nono)	(19) estadounidense(west)  nación(nono)  arma(m1)  vende(west, nono, m1)  hostil(nono)	(20)
28 Ejemplo de una demostración
De (17) y (20), usando Modus Ponens estadounidense(west)  arma(m1)  nación(nono)  hostil(nono)  vende(west, nono, m1)  delincuente(west) (17) estadounidense(west)  nación(nono)  arma(m1)  vende(west, nono, m1)  hostil(nono)	(20) delincuente(west) (21)
29 Modus Ponens Generalizado
Aquí se presenta una generalización de la regla de inferencia de Modus Ponens mediante la que en un solo paso se logra lo que en la prueba anterior requería de la Y-introducción, Eliminación Universal y el Modus Ponens. La ida es ser capaz de tomar una base de conocimientos que contenga, por ejemplo: proyectil(m1) posee(nono,m1) X proyectil(X)  posee(nono,X)  vende(west, nono, X) E inferir en un solo paso la nueva oración vende(west, nono, m1)
30 Modus Ponens Generalizado
31 Modus Ponens Generalizado
La clave consiste en determinar alguna X de la base de conocimiento tal que X sea un proyectil y que Nono sea el propietario de X, para luego inferir que West vende este proyectil a Nono. Generalizando, si hay alguna sustitución que involucra X y que haga que la premisa de la implicación idéntica a las oraciones que ya están en la base de conocimiento, entonces podemos afirmar la conclusión de la implicación, después de aplicar la sustitución. En el caso anterior, {X / m1} permite realizar esto.
32 Modus Ponens Generalizado
En realidad Modus Ponens puede servirnos para más cosas. Supongamos que en vez de saber que posee(nono,m1), supiéramos que todos los países del mundo poseen el proyectil m1: Y posee(Y,m1) Y nos gustaría concluir que vende(west, nono, m1). Esta inferencia podría realizarse si aplicáramos primero la Eliminación Universal con la sustitución {Y / nono} y obtener así posee(nono,m1).
33 Modus Ponens Generalizado
Entonces, suponiendo que la BC contiene: proyectil(m1) Y posee(Y,m1) X proyectil(X)  posee(nono,X)  vende(west, nono, X) Y se quiere inferir que vende(west, nono, m1) Mediante modus ponens generalizado, esto se puede hacer en un solo paso, determinando una sustitución tanto para las variables de la implicación como para las variables de las oraciones que se quieren cotejar. La sustitución {X / m1, Y / nono} a las premisas posee(Y, m1) y posee(nono,X) las convierte en idénticas.
34 Modus Ponens Generalizado
Modus Ponens Generalizado: Para todas las oraciones atómicas pi, pi’ y q, en las que existe una sustitución  tal que SUST(, pi’ ) = SUST(, pi’) para toda i: p1’, p2’, …, pn’, (p1  p2  …  pn  q) SUST(, q)
35 Modus Ponens Generalizado
Para esta regla hay n+1 premisas: las n oraciones atómicas pi’ y una implicación. Hay una conclusión: el resultado obtenido mediante la aplicación de la sustitución a la q consecuente. Ejemplo, en el caso de West y el proyectil: p1’ : proyectil(m1)	p1 : proyectil(X) p2’ : posee(Y,m1)	p2 : posee(nono,X) : {X/m1, Y/nono}	q: vende(west, nono, X) SUST(,q): vende(west, nono, m1)
36 Modus Ponens Generalizado
El Modus Ponens generalizado es una regla de inferencia eficiente por las tres razones siguientes: 1. Sus pasos son más globales, combina varias inferencias pequeñas en una sola. 2. Los pasos que realiza son sensatos: utiliza sustituciones que garantizan su utilidad, en vez de probar al azar la Eliminación Universal. El algoritmo de unificación utiliza dos oraciones y produce una sustitución mediante la cual las oraciones anteriores resultan idénticas, siempre y cuando exista tal sustitución. 3. Consta de un paso de compilación previa mediante el que todas las oraciones de la base de conocimiento se convierten a una forma canónica. Si esto se hace desde el principio, se ahorra tiempo al no tener que hacer conversiones durante la prueba.
37 Modus Ponens Generalizado
Forma canónica Para utilizar Modus Ponens Generalizado, todas las oraciones de la base de conocimiento deben estar expresadas en forma tal que coincidan con una de las premisas de la regla del Modus Ponens; de no ser así no será posible utilizarlas. La forma canónica del Modus Ponens Generalizado determina que cada oración de la base de conocimientos sea una oración atómica, o una implicación con una conjunción de oraciones atómicas del lado izquierdo y un solo átomo a la derecha. A este tipo de oraciones se les denomina oraciones de Horn; a la base de conocimientos formada exclusivamente por oraciones de Horn se dice que está en “forma normal de Horn”.
38 Modus Ponens Generalizado
Forma canónica La conversión en oraciones de Horn se realiza cuando aquellas son introducidas por primera vez en la BC, usando: Eliminación Existencial Y-Eliminación Ejemplo: X posee(nono,X)  proyectil(X) Se convierte en posee(nono,m1) proyectil(m1) Una vez eliminados los cuantificadores existenciales, los cuantificadores universales se “abrevian”: Y posee(Y,m1) se escribe como posee(Y,m1)
39 Modus Ponens Generalizado
Unificación Lo que hace la rutina de unificación UNIFICAR es convertir dos oraciones p y q en una sustitución mediante la cual p y q resultan idénticas. De no existir tal unificación, UNIFICAR produce una falla. Formalmente: UNIFICAR(p,q) = , donde SUST(,p) = SUST(,q)  se conoce como el unificador de las dos oraciones.
40 Modus Ponens Generalizado
Unificación Supongamos que tenemos la regla conoce(juan,X)  odia(juan,X) “Juan odia a todos los que conoce” Y la queremos utilizar como regla de inferencia de Modus Ponens y poder saber a quién odia Juan. Es decir, tenemos que saber a qué oraciones de la base de conocimiento se unifican a conoce(juan,X). Supongamos que nuestra base de conocimiento contiene: conoce(juan,jane) conoce(Y,leónidas) conoce(Y,madre(Y)) conoce(X, isabel)
41 Modus Ponens Generalizado
42 Modus Ponens Generalizado
Unificación Al unificar el antecedente de la regla con cada una de las oraciones de la BC obtenemos: UNIFICAR(conoce(juan,X),conoce(juan,jane)) = {X/jane} UNIFICAR(conoce(juan,X),conoce(Y,leónidas)) = {X/leónidas, Y/Juan} UNIFICAR(conoce(juan,X),conoce(Y,madre(Y))) = {Y/juan, X/madre(juan)} UNIFICAR(conoce(juan,X),conoce(X,isabel))= falla
43 Modus Ponens Generalizado
Unificación La última unificación falla, porque X no puede tomar el valor de juan e isabel al mismo tiempo. De manera intuitiva, sabemos que Juan odia a todos los que conoce, y que todos conocen a Isabel, por lo que podríamos inferir que Juan odia a Isabel. Realmente, en la base de conocimientos se hubiera colocado conoce(w,isabel) y si se hubiera unificado. Para resolver este problema, se pueden normalizar por separado las dos oraciones que se van a unificar, lo que significa renombrar las variables de una de ellas (o de ambas) para evitar que haya repetición de nombres: UNIFICAR(conoce(juan,x1),conoce(x2,isabel))={x1/isabel, x2/juan}
44 Modus Ponens Generalizado
Unificación Realmente, cuando existe una sustitución que hace que los dos argumentos sean semejantes, existe una cantidad infinita de sustituciones. Sin embargo, UNIFICAR debe producir el unificador más general (UMG), que es la sustitución con la mínima implicación del enlace de las variables.
45 Modus Ponens Generalizado
Regreso a la verificación de muestra Resolución del problema de la venta de proyectiles mediante Modus Ponens Generalizado: Primero hay que expresar la BC en la forma de Horn: estadounidense(X)  arma(Y)  nación(Z)  hostil(Z)  vende(X,Z,Y)  delincuente(X) (22) posee(nono,m1) (23) proyectil(m1) (24) posee(nono,X)  proyectil(X)  vende(west,nono,X) (25) proyectil(X)  arma(X) (26) enemigo(X,estados_unidos)  hostil(X) (27) estadounidense(west) (28) nación(nono) (29) enemigo(nono,estados_unidos) (30) nación(estados_unidos) (31)
46 Modus Ponens Generalizado
Regreso a la verificación de muestra La demostración consta sólo de cuatro pasos: De (24) y (26), usando Modus Ponens: proyectil(m1) (24) proyectil(X)  arma(X) (26) arma(m1) (32)
47 Modus Ponens Generalizado
Regreso a la verificación de muestra De (30) y (27), usando Modus Ponens enemigo(X,estados_unidos)  hostil(X) (27) enemigo(nono,estados_unidos) (30) hostil(nono) (33)
48 Modus Ponens Generalizado
Regreso a la verificación de muestra De (23), (24) y (25), usando Modus Ponens: posee(nono,m1) (23) proyectil(m1) (24) posee(nono,X)  proyectil(X)  vende(west,nono,X) (25) vende(west,nono,m1)	(34)
49 Modus Ponens Generalizado
Regreso a la verificación de muestra De (28), (32), (29), (33), (34) y (22), usando Modus Ponens: estadounidense(X)  arma(Y)  nación(Z)  hostil(Z)  vende(X,Z,Y)  delincuente(X) (22) estadounidense(west)	(28) nación(nono) (29) arma(m1) (32) hostil(nono) (33) vende(west,nono,m1)	(34) delincuente(west) (35)
50 Encadenamiento hacia delante y hacia atrás
La regla de Modus Ponens Generalizado se puede usar de dos formas: Empezando por las oraciones que están en la base de conocimientos y generar nuevas conclusiones, de las que, a su vez, se pueden obtener nuevas inferencias. A esto se le conoce como encadenamiento hacia delante (forward chaining). O bien, se puede empezar por algo que se desea demostrar, se buscan las oraciones que nos permitan llegar a tal conclusión y, por último, tratar de establecer las premisas correspondientes. A esto se le conoce como encadenamiento hacia atrás (backward chaining), dado que utiliza el modus ponens en sentido inverso.
51 Encadenamiento hacia delante y hacia atrás
Algoritmo de encadenamiento hacia delante Renombramiento Composición Activado por datos
52 Encadenamiento hacia delante y hacia atrás
Algoritmo de encadenamiento hacia atrás
53 Completez Incompleto Teorema de Completez Algoritmo de Resolución
Semidecidible
54 Resolución: Un procedimiento completo de inferencia
55 Resolución: Un procedimiento completo de inferencia
La regla de inferencia de resolución Resolución generalizada (disyunciones) Resolución generalizada (implicaciones)
56 Resolución: Un procedimiento completo de inferencia
Formas canónicas de resolución Forma normal conjuntiva Forima implicativa normal
57 Resolución: Un procedimiento completo de inferencia
Pruebas de resolución Factorización Refutación
58 Resolución: Un procedimiento completo de inferencia
Conversión a la forma normal Eskolemización Función de Skolem
59 Resolución: Un procedimiento completo de inferencia
Prueba de ejemplo
60 Resolución: Un procedimiento completo de inferencia
Cómo arreglárselas con la igualdad Demodulación Paramodulación
61 Resolución: Un procedimiento completo de inferencia
Estrategias de resolución Preferencia por la unidad Cláusula unitaria Conjunto de apoyo Resolución de entrada Resolución lineal Subsuposición
62 Completez de una resolución
Completa en cuanto a refutación Universo de Herbrand Saturación Base de Herbrand Teorema de Herbrand Cierre de la resolución Teorema de resolución de base Premisa de transferencia
Inferencia en Lógica de Primer Orden

References: Resolución 
 Resolución 
 Resolución

 resolución 
 Resolución 
 resolución 
 resolución 
 resolución 
 Resolución 
 Resolución 
 resolución

 resolución 
 resolución