Upload
yazmin-salcido
View
120
Download
1
Embed Size (px)
Citation preview
Inteligencia ArtificialInteligencia Artificial3.3 Inferencia en Lógica de Primer 3.3 Inferencia en Lógica de Primer
OrdenOrden
ObjetivoObjetivo
Definir mecanismos de inferencia que Definir mecanismos de inferencia que permiten responder de manera eficiente a permiten responder de manera eficiente a preguntas formuladas en lógica de primer preguntas formuladas en lógica de primer orden.orden.
IntroducciónIntroducción
Se ha definido el concepto de inferencia y Se ha definido el concepto de inferencia y se ha mostrado que tan sólida y completa se ha mostrado que tan sólida y completa es la inferencia que puede obtenerse para es la inferencia que puede obtenerse para el caso de la lógica proposicional.el caso de la lógica proposicional.
En este tema, los resultados anteriores se En este tema, los resultados anteriores se hacen extensivos a la lógica de primer hacen extensivos a la lógica de primer orden.orden.
Reglas de inferencia relacionadas Reglas de inferencia relacionadas con cuantificadorescon cuantificadores
Ya se han visto las reglas de inferencia que se utilizan Ya se han visto las reglas de inferencia que se utilizan en lógica proposicional:en lógica proposicional: Modus ponensModus ponens Y-eliminaciónY-eliminación Y-introducciónY-introducción O-introducciónO-introducción ResoluciónResolución
También son válidas en la lógica de primer orden, pero También son válidas en la lógica de primer orden, pero se requieren reglas de inferencias adicionales para se requieren reglas de inferencias adicionales para manejar las oraciones de lógica de primer orden con manejar las oraciones de lógica de primer orden con cuantificadores:cuantificadores: Eliminación UniversalEliminación Universal Eliminación ExistencialEliminación Existencial Introducción ExistencialIntroducción Existencial
Reglas de inferencia relacionadas Reglas de inferencia relacionadas con cuantificadorescon cuantificadores
Se utilizará la notación SSe utilizará la notación SUSTUST((,,) para ) para representar el resultado de aplicar la representar el resultado de aplicar la sustitución (o lista de enlace) sustitución (o lista de enlace) a la a la oración oración , por ejemplo:, por ejemplo:
SSUSTUST({({X/samX/sam, , Y/futbolY/futbol}, }, le_gustale_gusta((X,YX,Y)) = )) = le_gle_gusta(sam,futbol)usta(sam,futbol)
Reglas de inferencia relacionadas Reglas de inferencia relacionadas con cuantificadorescon cuantificadores
Eliminación Universal:Eliminación Universal: Para toda oración Para toda oración , variable , variable vv y término de y término de
base base g g ::
Por ejemplo, en Por ejemplo, en XX le_gustale_gusta((X,X, heladohelado), ), podemos utilizar la sustitución {X/podemos utilizar la sustitución {X/benben} e } e inferir que le_gusta(inferir que le_gusta(benben, , heladohelado).).
v SUST({v/g},)
Reglas de inferencia relacionadas Reglas de inferencia relacionadas con cuantificadorescon cuantificadores
Eliminación Existencial:Eliminación Existencial: Para toda oración Para toda oración , variable , variable vv y símbolo constante y símbolo constante kk
que no aparezca en ninguna parte de la base de que no aparezca en ninguna parte de la base de conocimientos:conocimientos:
Por ejemplo, en Por ejemplo, en XX matarmatar((X,X, víctimavíctima), podemos inferir ), podemos inferir que que matarmatar((asesinoasesino, , víctimavíctima) en tanto que ) en tanto que asesinoasesino no no aparezca en ninguna parte de la base de aparezca en ninguna parte de la base de conocimientos.conocimientos.
v SUST({v/k},)
Reglas de inferencia relacionadas Reglas de inferencia relacionadas con cuantificadorescon cuantificadores
Introducción Existencial:Introducción Existencial: Para toda oración Para toda oración , variable , variable vv que no esté en que no esté en y y
término de base término de base gg que no esté presente en que no esté presente en ::
Por ejemplo, en Por ejemplo, en le_gustale_gusta((jerryjerry,,heladohelado) podemos ) podemos inferir que inferir que X le_gustaX le_gusta((XX, , heladohelado).).
v SUST({g/v},)
Ejemplo de una demostraciónEjemplo de una demostración
Descripción de la situación en lenguaje Descripción de la situación en lenguaje natural:natural: ““La ley establece que se considera como La ley establece que se considera como
delito el que un estadounidense venda armas delito el que un estadounidense venda armas a naciones enemigas. El país Nono, enemigo a naciones enemigas. El país Nono, enemigo de Estados Unidos, tiene algunos proyectiles, de Estados Unidos, tiene algunos proyectiles, todos los cuales le fueron vendidos por el todos los cuales le fueron vendidos por el coronel West, un estadounidense.”coronel West, un estadounidense.”
Ejemplo de una demostraciónEjemplo de una demostración
Lo que se desea demostrar es que West Lo que se desea demostrar es que West es un delincuente.es un delincuente.
Empezaremos por representar estos Empezaremos por representar estos hechos en la lógica de primer orden, y hechos en la lógica de primer orden, y luego se verá que la demostración luego se verá que la demostración consiste en una secuencia de aplicación consiste en una secuencia de aplicación de las reglas de inferencia.de las reglas de inferencia.
Ejemplo de una demostraciónEjemplo de una demostración
“…“…es delito que un estadounidense venda es delito que un estadounidense venda armas a naciones enemigas”armas a naciones enemigas”
X,Y,Z estadounidense(X) X,Y,Z estadounidense(X) arma(Y)arma(Y) nación(Z) nación(Z) hostil(Z) hostil(Z) vende(X,Z,Y) vende(X,Z,Y)
delincuente(X)delincuente(X) (1)(1)
Ejemplo de una demostraciónEjemplo de una demostración
““Nono…tiene algunos proyectiles”Nono…tiene algunos proyectiles”
X posee(nono,X) X posee(nono,X) proyectiles(X)proyectiles(X)(2)(2)
Ejemplo de una demostraciónEjemplo de una demostración
““Todos sus proyectiles (que posee Nono) Todos sus proyectiles (que posee Nono) le fueron vendidos por el coronel West”le fueron vendidos por el coronel West”
X posee(nono,X) X posee(nono,X) proyectiles(X) proyectiles(X) vende(west, nono, X)vende(west, nono, X)
(3)(3)
Ejemplo de una demostraciónEjemplo de una demostración
También es necesario saber que los También es necesario saber que los proyectiles son armas:proyectiles son armas:
X proyectiles(X) X proyectiles(X) arma (X)arma (X)(4)(4)
Ejemplo de una demostraciónEjemplo de una demostración
Y que a los enemigos de Estados Unidos Y que a los enemigos de Estados Unidos se les considera como “hostiles”:se les considera como “hostiles”:
X enemigo(X,estados_unidos) X enemigo(X,estados_unidos) hostil(X)hostil(X)
(5)(5)
Ejemplo de una demostraciónEjemplo de una demostración
“…“…West, un estadounidense…”:West, un estadounidense…”:
estadounidense(west) estadounidense(west) (6)(6)
““El país Nono, …”:El país Nono, …”:
nación(nono) nación(nono) (7)(7)
Ejemplo de una demostraciónEjemplo de una demostración
“…“…Nono, enemigo de Estados Unidos…”:Nono, enemigo de Estados Unidos…”:
enemigo(nono, estados_unidos) enemigo(nono, estados_unidos) (8)(8)
nación(estados_unidos) nación(estados_unidos) (9)(9)
Ejemplo de una demostraciónEjemplo de una demostración
La demostración consiste en una serie de La demostración consiste en una serie de aplicaciones de las reglas de inferencia:aplicaciones de las reglas de inferencia:
De (2) y usando Eliminación ExistencialDe (2) y usando Eliminación Existencial
X posee(nono,X) X posee(nono,X) proyectiles(X) proyectiles(X) (2)(2)
posee(nono,m1) posee(nono,m1) proyectiles(m1) proyectiles(m1) (10)(10)
Ejemplo de una demostraciónEjemplo de una demostración
De (10) y usando Y-EliminaciónDe (10) y usando Y-Eliminación
posee(nono,m1) posee(nono,m1) proyectiles(m1) proyectiles(m1) (10)(10)
posee(nono,m1) posee(nono,m1) (11)(11)
proyectiles(m1) proyectiles(m1) (12)(12)
Ejemplo de una demostraciónEjemplo de una demostración
De (4) y usando Eliminación Universal:De (4) y usando Eliminación Universal:
X proyectiles(X) X proyectiles(X) arma (X)arma (X) (4)(4)
proyectiles(m1) proyectiles(m1) arma (m1)arma (m1) (13)(13)
Ejemplo de una demostraciónEjemplo de una demostración
De (12) y (13), usando Modus Ponens:De (12) y (13), usando Modus Ponens:
proyectiles(m1) proyectiles(m1) (12)(12)
proyectiles(m1) proyectiles(m1) arma (m1)arma (m1) (13)(13)
arma(m1) arma(m1) (14)(14)
Ejemplo de una demostraciónEjemplo de una demostración
De (3), usando Eliminación Universal:De (3), usando Eliminación Universal:
X posee(nono,X) X posee(nono,X) proyectiles(X) proyectiles(X) vende(west, nono, X) vende(west, nono, X) (3)(3)
posee(nono,m1) posee(nono,m1) proyectiles(m1) proyectiles(m1) vende(west, nono, m1) vende(west, nono, m1) (15)(15)
Ejemplo de una demostraciónEjemplo de una demostración
De (15) y (10), usando Modus Ponens:De (15) y (10), usando Modus Ponens:
posee(nono,m1) posee(nono,m1) proyectiles(m1) proyectiles(m1) vende(west, nono, m1) vende(west, nono, m1) (15)(15)
posee(nono,m1) posee(nono,m1) proyectiles(m1) proyectiles(m1) (10)(10)
vende(west, nono, m1) vende(west, nono, m1) (16)(16)
Ejemplo de una demostraciónEjemplo de una demostración
De (1) y usando Eliminación Universal tres De (1) y usando Eliminación Universal tres vecesveces
X,Y,Z estadounidense(X) X,Y,Z estadounidense(X) arma(Y)arma(Y) nación(Z) nación(Z) hostil(Z) hostil(Z) vende(X,Z,Y) vende(X,Z,Y) delincuente(X) delincuente(X) (1)(1)
estadounidense(west) estadounidense(west) arma(m1)arma(m1) nación(nono) nación(nono) hostil(nono) hostil(nono) vende(west, nono, vende(west, nono, m1) m1) delincuente(west) delincuente(west) (17)(17)
Ejemplo de una demostraciónEjemplo de una demostración
De (5) y usando Eliminación Universal De (5) y usando Eliminación Universal
X enemigo(X,estados_unidos) X enemigo(X,estados_unidos) hostil(X)hostil(X) (5)(5)
enemigo(nono, estados_unidos) enemigo(nono, estados_unidos) hostil(nono)hostil(nono)(18)(18)
Ejemplo de una demostraciónEjemplo de una demostración
De (8) y (18), usando Modus PonensDe (8) y (18), usando Modus Ponens
enemigo(nono, estados_unidos) enemigo(nono, estados_unidos) (8)(8)
enemigo(nono, estados_unidos) enemigo(nono, estados_unidos) hostil(nono)hostil(nono) (18)(18)
hostil(nono)hostil(nono) (19)(19)
Ejemplo de una demostraciónEjemplo de una demostración
De (6), (7), (14), (16) y (19), usando Y-IntroducciónDe (6), (7), (14), (16) y (19), usando Y-Introducciónestadounidense(west) estadounidense(west) (6)(6)nación(nono) nación(nono) (7)(7)arma(m1) arma(m1) (14)(14)
vende(west, nono, m1) vende(west, nono, m1) (16)(16)
hostil(nono)hostil(nono) (19)(19)
estadounidense(west) estadounidense(west) nación(nono) nación(nono) arma(m1) arma(m1) vende(west, nono, m1) vende(west, nono, m1) hostil(nono)hostil(nono)(20)(20)
Ejemplo de una demostraciónEjemplo de una demostración
De (17) y (20), usando Modus PonensDe (17) y (20), usando Modus Ponens estadounidense(west) estadounidense(west) arma(m1)arma(m1) nación(nono) nación(nono) hostil(nono) hostil(nono) vende(west, nono, m1) vende(west, nono, m1) delincuente(west) delincuente(west) (17)(17)
estadounidense(west) estadounidense(west) nación(nono) nación(nono) arma(m1) arma(m1) vende(west, nono, m1) vende(west, nono, m1) hostil(nono)hostil(nono)
(20)(20)
delincuente(west) delincuente(west) (21)(21)
Modus Ponens GeneralizadoModus Ponens Generalizado
Aquí se presenta una generalización de la regla de Aquí se presenta una generalización de la regla de inferencia de Modus Ponens mediante la que en un solo inferencia de Modus Ponens mediante la que en un solo paso se logra lo que en la prueba anterior requería de la paso se logra lo que en la prueba anterior requería de la Y-introducción, Eliminación Universal y el Modus Y-introducción, Eliminación Universal y el Modus Ponens.Ponens.
La ida es ser capaz de tomar una base de La ida es ser capaz de tomar una base de conocimientos que contenga, por ejemplo:conocimientos que contenga, por ejemplo: proyectil(m1)proyectil(m1) posee(nono,m1)posee(nono,m1) X proyectil(X) X proyectil(X) posee(nono,X) posee(nono,X) vende(west, nono, X) vende(west, nono, X)
E inferir en un solo paso la nueva oraciónE inferir en un solo paso la nueva oración vende(west, nono, m1)vende(west, nono, m1)
Modus Ponens GeneralizadoModus Ponens Generalizado
Aquí se presenta una generalización de la regla de Aquí se presenta una generalización de la regla de inferencia de Modus Ponens mediante la que en un solo inferencia de Modus Ponens mediante la que en un solo paso se logra lo que en la prueba anterior requería de la paso se logra lo que en la prueba anterior requería de la Y-introducción, Eliminación Universal y el Modus Y-introducción, Eliminación Universal y el Modus Ponens.Ponens.
La ida es ser capaz de tomar una base de La ida es ser capaz de tomar una base de conocimientos que contenga, por ejemplo:conocimientos que contenga, por ejemplo: proyectil(m1)proyectil(m1) posee(nono,m1)posee(nono,m1) X proyectil(X) X proyectil(X) posee(nono,X) posee(nono,X) vende(west, nono, X) vende(west, nono, X)
E inferir en un solo paso la nueva oraciónE inferir en un solo paso la nueva oración vende(west, nono, m1)vende(west, nono, m1)
Modus Ponens GeneralizadoModus Ponens Generalizado
La clave consiste en determinar alguna La clave consiste en determinar alguna XX de la de la base de conocimiento tal que base de conocimiento tal que XX sea un proyectil sea un proyectil y que Nono sea el propietario de y que Nono sea el propietario de XX, para luego , para luego inferir que West vende este proyectil a Nono.inferir que West vende este proyectil a Nono.
Generalizando, si hay alguna sustitución que Generalizando, si hay alguna sustitución que involucra involucra XX y que haga que la premisa de la y que haga que la premisa de la implicación idéntica a las oraciones que ya implicación idéntica a las oraciones que ya están en la base de conocimiento, entonces están en la base de conocimiento, entonces podemos afirmar la conclusión de la implicación, podemos afirmar la conclusión de la implicación, después de aplicar la sustitución.después de aplicar la sustitución.
En el caso anterior, {En el caso anterior, {X X / / m1m1} permite realizar } permite realizar esto.esto.
Modus Ponens GeneralizadoModus Ponens Generalizado
En realidad Modus Ponens puede servirnos En realidad Modus Ponens puede servirnos para más cosas. Supongamos que en vez de para más cosas. Supongamos que en vez de saber que saber que posee(nono,m1)posee(nono,m1), supiéramos que , supiéramos que todos los países del mundo poseen el proyectil todos los países del mundo poseen el proyectil m1:m1: Y posee(Y,m1)Y posee(Y,m1)
Y nos gustaría concluir que Y nos gustaría concluir que vende(west, nono, vende(west, nono, m1)m1). Esta inferencia podría realizarse si . Esta inferencia podría realizarse si aplicáramos primero la Eliminación Universal aplicáramos primero la Eliminación Universal con la sustitución {con la sustitución {YY / / nononono} y obtener así } y obtener así posee(nono,m1)posee(nono,m1). .
Modus Ponens GeneralizadoModus Ponens Generalizado
Entonces, suponiendo que la BC contiene:Entonces, suponiendo que la BC contiene: proyectil(m1)proyectil(m1) Y posee(Y,m1)Y posee(Y,m1) X proyectil(X) X proyectil(X) posee(nono,X) posee(nono,X) vende(west, nono, X) vende(west, nono, X)
Y se quiere inferir queY se quiere inferir que vende(west, nono, m1)vende(west, nono, m1)
Mediante modus ponens generalizado, esto se puede Mediante modus ponens generalizado, esto se puede hacer en un solo paso, determinando una sustitución hacer en un solo paso, determinando una sustitución tanto para las variables de la implicación como para las tanto para las variables de la implicación como para las variables de las oraciones que se quieren cotejar.variables de las oraciones que se quieren cotejar.
La sustitución {La sustitución {XX / / m1m1, , YY / / nononono} a las premisas } a las premisas posee(Y, posee(Y, m1) m1) y y posee(nono,X) posee(nono,X) las convierte en idénticas. las convierte en idénticas.
Modus Ponens GeneralizadoModus Ponens Generalizado
Modus Ponens Generalizado: Modus Ponens Generalizado: Para Para todas las oraciones atómicas todas las oraciones atómicas ppii, , ppii’’ y y qq, en , en
las que existe una sustitución las que existe una sustitución tal que tal que SSUSTUST((, , ppii’’ ) = S ) = SUSTUST((, , ppii’’) para toda ) para toda ii: :
pp11’, ’, pp22’, …, ’, …, ppnn’, (’, (pp11 pp22 … … ppnn qq))
SSUSTUST((, , qq))
Modus Ponens GeneralizadoModus Ponens Generalizado
Para esta regla hay Para esta regla hay nn+1 premisas: las +1 premisas: las nn oraciones atómicas oraciones atómicas ppii’ y una implicación.’ y una implicación.
Hay una conclusión: el resultado obtenido Hay una conclusión: el resultado obtenido mediante la aplicación de la sustitución a la mediante la aplicación de la sustitución a la qq consecuente.consecuente.
Ejemplo, en el caso de West y el proyectil:Ejemplo, en el caso de West y el proyectil: pp11’ : proyectil(m1)’ : proyectil(m1) pp1 1 : proyectil(X): proyectil(X) pp22’ : posee(Y,m1)’ : posee(Y,m1) pp22 : posee(nono,X) : posee(nono,X) : {: {X/m1, Y/nonoX/m1, Y/nono}} q: vende(west, nono, X)q: vende(west, nono, X)
SSUSTUST((,q): ,q): vende(west, nono, m1)vende(west, nono, m1)
Modus Ponens GeneralizadoModus Ponens Generalizado El Modus Ponens generalizado es una regla de El Modus Ponens generalizado es una regla de
inferencia eficiente por las tres razones siguientes:inferencia eficiente por las tres razones siguientes: 1. Sus pasos son más globales, combina varias inferencias 1. Sus pasos son más globales, combina varias inferencias
pequeñas en una sola.pequeñas en una sola. 2. Los pasos que realiza son sensatos: utiliza sustituciones que 2. Los pasos que realiza son sensatos: utiliza sustituciones que
garantizan su utilidad, en vez de probar al azar la Eliminación garantizan su utilidad, en vez de probar al azar la Eliminación Universal. El algoritmo de Universal. El algoritmo de unificaciónunificación utiliza dos oraciones y utiliza dos oraciones y produce una sustitución mediante la cual las oraciones produce una sustitución mediante la cual las oraciones anteriores resultan idénticas, siempre y cuando exista tal anteriores resultan idénticas, siempre y cuando exista tal sustitución.sustitución.
3. Consta de un paso de compilación previa mediante el que 3. Consta de un paso de compilación previa mediante el que todas las oraciones de la base de conocimiento se convierten a todas las oraciones de la base de conocimiento se convierten a una una forma canónicaforma canónica. Si esto se hace desde el principio, se . Si esto se hace desde el principio, se ahorra tiempo al no tener que hacer conversiones durante la ahorra tiempo al no tener que hacer conversiones durante la prueba.prueba.
Modus Ponens GeneralizadoModus Ponens Generalizado
Forma canónicaForma canónica Para utilizar Modus Ponens Generalizado, todas las Para utilizar Modus Ponens Generalizado, todas las
oraciones de la base de conocimiento deben estar oraciones de la base de conocimiento deben estar expresadas en forma tal que coincidan con una de las expresadas en forma tal que coincidan con una de las premisas de la regla del Modus Ponens; de no ser así no premisas de la regla del Modus Ponens; de no ser así no será posible utilizarlas.será posible utilizarlas.
La forma canónica del Modus Ponens Generalizado La forma canónica del Modus Ponens Generalizado determina que cada oración de la base de conocimientos sea determina que cada oración de la base de conocimientos sea una oración atómica, o una implicación con una conjunción 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 de oraciones atómicas del lado izquierdo y un solo átomo a la derecha.la derecha.
A este tipo de oraciones se les denomina A este tipo de oraciones se les denomina oraciones de oraciones de HornHorn; a la base de conocimientos formada exclusivamente ; a la base de conocimientos formada exclusivamente por oraciones de Horn se dice que está en “forma normal de por oraciones de Horn se dice que está en “forma normal de Horn”.Horn”.
Modus Ponens GeneralizadoModus Ponens Generalizado
Forma canónicaForma canónica La conversión en oraciones de Horn se realiza cuando La conversión en oraciones de Horn se realiza cuando
aquellas son introducidas por primera vez en la BC, usando:aquellas son introducidas por primera vez en la BC, usando: Eliminación ExistencialEliminación Existencial Y-EliminaciónY-Eliminación
Ejemplo:Ejemplo: X posee(nono,X) X posee(nono,X) proyectil(X) proyectil(X)
Se convierte enSe convierte en posee(nono,m1)posee(nono,m1) proyectil(m1)proyectil(m1)
Una vez eliminados los cuantificadores existenciales, Una vez eliminados los cuantificadores existenciales, los cuantificadores universales se “abrevian”:los cuantificadores universales se “abrevian”: Y posee(Y,m1) Y posee(Y,m1) se escribe como se escribe como posee(Y,m1)posee(Y,m1)
Modus Ponens GeneralizadoModus Ponens Generalizado
UnificaciónUnificación Lo que hace la rutina de unificación Lo que hace la rutina de unificación
UNIFICAR es convertir dos oraciones UNIFICAR es convertir dos oraciones pp y y qq en en una sustitución mediante la cual una sustitución mediante la cual p p y y qq resultan idénticas. De no existir tal resultan idénticas. De no existir tal unificación, UNIFICAR produce una unificación, UNIFICAR produce una fallafalla..
Formalmente:Formalmente: UNIFICAR(UNIFICAR(p,qp,q) = ) = , donde SUST(, donde SUST(,,pp) = SUST() = SUST(,,qq))
se conoce como el se conoce como el unificador unificador de las dos de las dos oraciones.oraciones.
Modus Ponens GeneralizadoModus Ponens Generalizado
UnificaciónUnificación Supongamos que tenemos la reglaSupongamos que tenemos la regla
conoce(juan,X) conoce(juan,X) odia(juan,X)odia(juan,X) “Juan odia a todos los que “Juan odia a todos los que conoce”conoce”
Y la queremos utilizar como regla de inferencia de Y la queremos utilizar como regla de inferencia de Modus Ponens y poder saber a quién odia Juan. Es Modus Ponens y poder saber a quién odia Juan. Es decir, tenemos que saber a qué oraciones de la base decir, tenemos que saber a qué oraciones de la base de conocimiento se unifican a de conocimiento se unifican a conoce(juan,X).conoce(juan,X).
Supongamos que nuestra base de conocimiento Supongamos que nuestra base de conocimiento contiene:contiene: conoce(juan,jane)conoce(juan,jane) conoce(Y,leónidas)conoce(Y,leónidas) conoce(Y,madre(Y))conoce(Y,madre(Y)) conoce(X, isabel)conoce(X, isabel)
Modus Ponens GeneralizadoModus Ponens Generalizado
UnificaciónUnificación Supongamos que tenemos la reglaSupongamos que tenemos la regla
conoce(juan,X) conoce(juan,X) odia(juan,X)odia(juan,X) “Juan odia a todos los que “Juan odia a todos los que conoce”conoce”
Y la queremos utilizar como regla de inferencia de Y la queremos utilizar como regla de inferencia de Modus Ponens y poder saber a quién odia Juan. Es Modus Ponens y poder saber a quién odia Juan. Es decir, tenemos que saber a qué oraciones de la base decir, tenemos que saber a qué oraciones de la base de conocimiento se unifican a de conocimiento se unifican a conoce(juan,X).conoce(juan,X).
Supongamos que nuestra base de conocimiento Supongamos que nuestra base de conocimiento contiene:contiene: conoce(juan,jane)conoce(juan,jane) conoce(Y,leónidas)conoce(Y,leónidas) conoce(Y,madre(Y))conoce(Y,madre(Y)) conoce(X, isabel)conoce(X, isabel)
Modus Ponens GeneralizadoModus Ponens Generalizado
UnificaciónUnificación Al unificar el antecedente de la regla con Al unificar el antecedente de la regla con
cada una de las oraciones de la BC cada una de las oraciones de la BC obtenemos:obtenemos: UNIFICAR(UNIFICAR(conoce(juan,X),conoce(juan,jane)conoce(juan,X),conoce(juan,jane)) = ) =
{{X/janeX/jane}} UNIFICAR(UNIFICAR(conoce(juan,X),conoce(Y,leónidas)conoce(juan,X),conoce(Y,leónidas)) = ) =
{{X/leónidas, Y/JuanX/leónidas, Y/Juan}} UNIFICAR(UNIFICAR(conoce(juan,X),conoce(Y,madre(Y))conoce(juan,X),conoce(Y,madre(Y))) = ) =
{{Y/juan, X/madre(juan)Y/juan, X/madre(juan)}} UNIFICAR(UNIFICAR(conoce(juan,X),conoce(X,isabel)conoce(juan,X),conoce(X,isabel))= )= fallafalla
Modus Ponens GeneralizadoModus Ponens Generalizado
UnificaciónUnificación La última unificación falla, porque La última unificación falla, porque XX no puede tomar el valor de no puede tomar el valor de
juanjuan e e isabelisabel al mismo tiempo. al mismo tiempo. De manera intuitiva, sabemos que Juan odia a todos los que De manera intuitiva, sabemos que Juan odia a todos los que
conoce, y que todos conocen a Isabel, por lo que podríamos conoce, y que todos conocen a Isabel, por lo que podríamos inferir que Juan odia a Isabel. Realmente, en la base de inferir que Juan odia a Isabel. Realmente, en la base de conocimientos se hubiera colocado conocimientos se hubiera colocado conoce(w,isabel) conoce(w,isabel) y si se y si se hubiera unificado.hubiera unificado.
Para resolver este problema, se pueden Para resolver este problema, se pueden normalizar por normalizar por separado separado las dos oraciones que se van a unificar, lo que las dos oraciones que se van a unificar, lo que significa renombrar las variables de una de ellas (o de ambas) significa renombrar las variables de una de ellas (o de ambas) para evitar que haya repetición de nombres:para evitar que haya repetición de nombres: UNIFICAR(UNIFICAR(conoce(juan,x1),conoce(x2,isabel)conoce(juan,x1),conoce(x2,isabel))={)={x1/isabel, x2/juanx1/isabel, x2/juan}}
Modus Ponens GeneralizadoModus Ponens Generalizado
UnificaciónUnificación Realmente, cuando existe una sustitución que Realmente, cuando existe una sustitución que
hace que los dos argumentos sean hace que los dos argumentos sean semejantes, existe una cantidad infinita de semejantes, existe una cantidad infinita de sustituciones.sustituciones.
Sin embargo, UNIFICAR debe producir el Sin embargo, UNIFICAR debe producir el unificador más general unificador más general (UMG), que es la (UMG), que es la sustitución con la mínima implicación del sustitución con la mínima implicación del enlace de las variables.enlace de las variables.
Modus Ponens GeneralizadoModus Ponens Generalizado Regreso a la verificación de muestraRegreso a la verificación de muestra
Resolución del problema de la venta de proyectiles mediante Resolución del problema de la venta de proyectiles mediante Modus Ponens Generalizado: Primero hay que expresar la BC en Modus Ponens Generalizado: Primero hay que expresar la BC en la forma de Horn:la forma de Horn: estadounidense(X)estadounidense(X) arma(Y)arma(Y) nación(Z)nación(Z) hostil(Z)hostil(Z) vende(X,Z,Y) vende(X,Z,Y)
delincuente(X) delincuente(X) (22)(22) posee(nono,m1)posee(nono,m1) (23)(23) proyectil(m1)proyectil(m1) (24)(24) posee(nono,X) posee(nono,X) proyectil(X) proyectil(X) vende(west,nono,X) vende(west,nono,X) (25)(25) proyectil(X) proyectil(X) arma(X) arma(X) (26)(26) enemigo(X,estados_unidosenemigo(X,estados_unidos) ) hostil(X)hostil(X) (27)(27) estadounidense(west)estadounidense(west) (28)(28) nación(nono)nación(nono) (29)(29) enemigo(nono,estados_unidos)enemigo(nono,estados_unidos) (30)(30) nación(estados_unidos)nación(estados_unidos) (31)(31)
Modus Ponens GeneralizadoModus Ponens Generalizado
Regreso a la verificación de muestraRegreso a la verificación de muestra La demostración consta sólo de cuatro pasos:La demostración consta sólo de cuatro pasos: De (24) y (26), usando Modus Ponens:De (24) y (26), usando Modus Ponens:
proyectil(m1)proyectil(m1) (24)(24) proyectil(X) proyectil(X) arma(X) arma(X)
(26)(26)
arma(m1)arma(m1) (32)(32)
Modus Ponens GeneralizadoModus Ponens Generalizado
Regreso a la verificación de muestraRegreso a la verificación de muestra De (30) y (27), usando Modus PonensDe (30) y (27), usando Modus Ponens
enemigo(X,estados_unidosenemigo(X,estados_unidos) ) hostil(X) hostil(X) (27)(27)
enemigo(nono,estados_unidos)enemigo(nono,estados_unidos) (30)(30)
hostil(nono)hostil(nono) (33)(33)
Modus Ponens GeneralizadoModus Ponens Generalizado
Regreso a la verificación de muestraRegreso a la verificación de muestra De (23), (24) y (25), usando Modus Ponens:De (23), (24) y (25), usando Modus Ponens:
posee(nono,m1)posee(nono,m1) (23)(23) proyectil(m1)proyectil(m1) (24)(24) posee(nono,X) posee(nono,X) proyectil(X) proyectil(X)
vende(west,nono,X) vende(west,nono,X) (25)(25)
vende(west,nono,m1)vende(west,nono,m1) (34)(34)
Modus Ponens GeneralizadoModus Ponens Generalizado
Regreso a la verificación de muestraRegreso a la verificación de muestra De (28), (32), (29), (33), (34) y (22), usando Modus De (28), (32), (29), (33), (34) y (22), usando Modus
Ponens:Ponens: estadounidense(X)estadounidense(X) arma(Y)arma(Y) nación(Z)nación(Z) hostil(Z)hostil(Z)
vende(X,Z,Y) vende(X,Z,Y) delincuente(X) delincuente(X) (22)(22) estadounidense(west)estadounidense(west) (28)(28) nación(nono)nación(nono) (29)(29) arma(m1)arma(m1) (32)(32) hostil(nono)hostil(nono) (33)(33) vende(west,nono,m1)vende(west,nono,m1) (34)(34) delincuente(west)delincuente(west) (35)(35)
Encadenamiento hacia delante y Encadenamiento hacia delante y hacia atráshacia atrás
La regla de Modus Ponens Generalizado se La regla de Modus Ponens Generalizado se puede usar de dos formas: puede usar de dos formas: Empezando por las oraciones que están en la base Empezando por las oraciones que están en la base
de conocimientos y generar nuevas conclusiones, de de conocimientos y generar nuevas conclusiones, de las que, a su vez, se pueden obtener nuevas las que, a su vez, se pueden obtener nuevas inferencias. A esto se le conoce como inferencias. A esto se le conoce como encadenamiento hacia delante (forward chaining).encadenamiento hacia delante (forward chaining).
O bien, se puede empezar por algo que se desea O bien, se puede empezar por algo que se desea demostrar, se buscan las oraciones que nos permitan demostrar, se buscan las oraciones que nos permitan llegar a tal conclusión y, por último, tratar de llegar a tal conclusión y, por último, tratar de establecer las premisas correspondientes. A esto se establecer las premisas correspondientes. A esto se le conoce como le conoce como encadenamiento hacia atrás encadenamiento hacia atrás (backward chaining), (backward chaining), dado que utiliza el modus dado que utiliza el modus ponens en sentido inverso.ponens en sentido inverso.
Encadenamiento hacia delante y Encadenamiento hacia delante y hacia atráshacia atrás
Algoritmo de encadenamiento hacia Algoritmo de encadenamiento hacia delantedelante RenombramientoRenombramiento ComposiciónComposición Activado por datosActivado por datos
Encadenamiento hacia delante y Encadenamiento hacia delante y hacia atráshacia atrás
Algoritmo de encadenamiento hacia atrásAlgoritmo de encadenamiento hacia atrás
CompletezCompletez
IncompletoIncompleto Teorema de CompletezTeorema de Completez Algoritmo de ResoluciónAlgoritmo de Resolución SemidecidibleSemidecidible
Resolución: Un procedimiento Resolución: Un procedimiento completo de inferenciacompleto de inferencia
Resolución: Un procedimiento Resolución: Un procedimiento completo de inferenciacompleto de inferencia
La regla de inferencia de resoluciónLa regla de inferencia de resolución Resolución generalizada (disyunciones)Resolución generalizada (disyunciones) Resolución generalizada (implicaciones)Resolución generalizada (implicaciones)
Resolución: Un procedimiento Resolución: Un procedimiento completo de inferenciacompleto de inferencia
Formas canónicas de resoluciónFormas canónicas de resolución Forma normal conjuntivaForma normal conjuntiva Forima implicativa normalForima implicativa normal
Resolución: Un procedimiento Resolución: Un procedimiento completo de inferenciacompleto de inferencia
Pruebas de resoluciónPruebas de resolución FactorizaciónFactorización RefutaciónRefutación
Resolución: Un procedimiento Resolución: Un procedimiento completo de inferenciacompleto de inferencia
Conversión a la forma normalConversión a la forma normal EskolemizaciónEskolemización Función de SkolemFunción de Skolem
Resolución: Un procedimiento Resolución: Un procedimiento completo de inferenciacompleto de inferencia
Prueba de ejemploPrueba de ejemplo
Resolución: Un procedimiento Resolución: Un procedimiento completo de inferenciacompleto de inferencia
Cómo arreglárselas con la igualdadCómo arreglárselas con la igualdad DemodulaciónDemodulación ParamodulaciónParamodulación
Resolución: Un procedimiento Resolución: Un procedimiento completo de inferenciacompleto de inferencia
Estrategias de resoluciónEstrategias de resolución Preferencia por la unidadPreferencia por la unidad
Cláusula unitariaCláusula unitaria Conjunto de apoyoConjunto de apoyo
Conjunto de apoyoConjunto de apoyo Resolución de entradaResolución de entrada
Resolución de entradaResolución de entrada Resolución linealResolución lineal
SubsuposiciónSubsuposición SubsuposiciónSubsuposición
Completez de una resoluciónCompletez de una resolución
Completa en cuanto a refutaciónCompleta en cuanto a refutación Universo de HerbrandUniverso de Herbrand SaturaciónSaturación Base de HerbrandBase de Herbrand Teorema de HerbrandTeorema de Herbrand Cierre de la resoluciónCierre de la resolución Teorema de resolución de baseTeorema de resolución de base Premisa de transferenciaPremisa de transferencia