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

Post on 11-Apr-2015

120 views 1 download

Transcript of 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

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

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.

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.

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.

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