Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

62
Inteligencia Inteligencia Artificial Artificial 3.3 Inferencia en Lógica 3.3 Inferencia en Lógica de Primer Orden de Primer Orden

Transcript of Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

Page 1: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

Inteligencia ArtificialInteligencia Artificial3.3 Inferencia en Lógica de Primer 3.3 Inferencia en Lógica de Primer

OrdenOrden

Page 2: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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.

Page 3: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer 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.

Page 4: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer 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

Page 5: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 6: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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},)

Rolando Rafael Hernández Cisneros
TÉRMINO DE BASE: Es aquél término en el que no hay variables; es decir, un símbolo constante o un símbolo de función aplicados a algunos términos de base.
Page 7: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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},)

Rolando Rafael Hernández Cisneros
TÉRMINO DE BASE: Es aquél término en el que no hay variables; es decir, un símbolo constante o un símbolo de función aplicados a algunos términos de base.
Page 8: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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},)

Rolando Rafael Hernández Cisneros
TÉRMINO DE BASE: Es aquél término en el que no hay variables; es decir, un símbolo constante o un símbolo de función aplicados a algunos términos de base.
Page 9: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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.”

Page 10: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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.

Page 11: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 12: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 13: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 14: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 15: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 16: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 17: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 18: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 19: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 20: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 21: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 22: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 23: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 24: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 25: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 26: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 27: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 28: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 29: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 30: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 31: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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.

Page 32: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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). .

Page 33: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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.

Page 34: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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))

Page 35: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 36: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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.

Page 37: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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”.

Page 38: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 39: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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.

Page 40: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 41: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 42: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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

Page 43: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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}}

Page 44: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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.

Page 45: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 46: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 47: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 48: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 49: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 50: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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.

Page 51: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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

Page 52: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

Encadenamiento hacia delante y Encadenamiento hacia delante y hacia atráshacia atrás

Algoritmo de encadenamiento hacia atrásAlgoritmo de encadenamiento hacia atrás

Page 53: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

CompletezCompletez

IncompletoIncompleto Teorema de CompletezTeorema de Completez Algoritmo de ResoluciónAlgoritmo de Resolución SemidecidibleSemidecidible

Page 54: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

Resolución: Un procedimiento Resolución: Un procedimiento completo de inferenciacompleto de inferencia

Page 55: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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)

Page 56: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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

Page 57: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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

Page 58: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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

Page 59: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

Resolución: Un procedimiento Resolución: Un procedimiento completo de inferenciacompleto de inferencia

Prueba de ejemploPrueba de ejemplo

Page 60: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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

Page 61: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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

Page 62: Inteligencia Artificial 3.3 Inferencia en Lógica de Primer Orden.

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