Вы находитесь на странице: 1из 34

Inferencia en Logica de Primer Orden I

TICO : B LOQUE T EM A T EMA 3.2: 16: L ECCI ON D ESARROLLO DEL T EMA : del Conocimiento y RaRepresentacion zonamiento y Razonamiento mediRepresentacion ante Logica Inferencia en Logica de Predicados I

1. Reducir inferencia de primer orden a inferencia proposicional. 2. Unicacion. 3. Modus Ponens generalizada. 4. Encadenamiento hacia delante

mbmelian@ull.es

Inferencia en Logica de Predicados I

1 de 34

First Prev Next Last Go Back Full Screen Close Quit

Breve historia del razonamiento


450 B.C. 322 B.C. 1565 1847 1879 1922 1930 1930 1931 1960 1965 Stoics Aristoteles Cardano Boole Frege Wittgenstein Godel Herbrand Godel Davis/Putnam Robinson

logica proposicional, inferencia (quizas) silogismos (reglas de inferencia), cuanticadores teor a de la probabilidad (logica proposicional + incertidumb logica proposicional (otra vez) logica de primer orden prueba para tablas de verdad algoritmo completo para LPO a proposicional) algoritmo completo para LPO (reduccion algoritmo completo para aritmetica algoritmo practico para logica proposicional (DPLL) algoritmo practico para LPO, resolucion

mbmelian@ull.es

Inferencia en Logica de Predicados I

2 de 34

First Prev Next Last Go Back Full Screen Close Quit

Universal (EU) Especicacion


de la variable por un Podemos inferir cualquier sentencia obtenida por sustitucion termino base (un termino sin variables). a una sentencia mediante Denotamos el resultado de aplicar una sustitucion SU ST (, ). de una sentencia cuanticada universalmente es implicada Cada especicacion por ella:
v SU ST ({v/g },)

para cualquier variable v y termino base g . Ejemplo, xRey (x) Codicioso(x) M alvado(x) inere cualquiera de las siguientes sentencias:

. . .

Rey (Juan) Codicioso(Juan) M alvado(Juan) Rey (Ricardo) Codicioso(Ricardo) M alvado(Ricardo) Rey (P adre(Juan)) Codicioso(P adre(Juan)) M alvado(F ather(Juan))
mbmelian@ull.es

Inferencia en Logica de Predicados I

3 de 34

First Prev Next Last Go Back Full Screen Close Quit

Existencial (EE) Especicacion


Para cualquier sentencia , variable v , y s mbolo constante k , que no aparezca en ninguna otra parte de la base de conocimiento:
v SU ST ({v/k },)

Ejemplo, xCorona(x) SobreCabeza(x, Juan) implic

Corona(C1) SobreCabeza(C1, Juan)


mientras que C1 sea un nuevo s mbolo constante, llamado Constante de Skolem. Otro ejemplo: de x d(xy )/dy = xy , obtenemos

d(ey )/dy = ey
mientras que e sea un s mbolo constante nuevo.
mbmelian@ull.es

Inferencia en Logica de Predicados I

4 de 34

First Prev Next Last Go Back Full Screen Close Quit

Existencial (cont.) Especicacion


Universal puede ser aplicada muchas veces y anadir La Especicacion nuevas sentencias. La nueva base de conocimiento es logicamente equivalente a la original. Existencial puede ser aplicada una unica Sin embargo, la Especicacion vez y en tonces se puede descartar la sentencia cuanticada existencialmente. La nueva base de conocimiento no es equivalente a la anterior, pero se puede demostrar que es equivalente inferencialmente en el sentido de que es satisfacible justamente cuando lo es la base de conocimiento original.

mbmelian@ull.es

Inferencia en Logica de Predicados I

5 de 34

First Prev Next Last Go Back Full Screen Close Quit

a la inferencia proposicional Reduccion


Una vez que tenemos las reglas para inferir sentencias no cuanticadas a partir de sentencias cuanticadas, nos es posible reducir la inferencia de primer orden a la inferencia proposicional. lo siguiente; Supongamos que la BC contiene solo

xRey (x) Codicioso(x) M alvado(x) Rey (Juan) Codicioso(Juan) Hermano(Ricardo, Juan)


Especicando la sentencia universal de todas las maneras posibles, tenemos:

Rey (Juan) Codicioso(Juan) M alvado(Juan) Rey (Ricardo) Codicioso(Ricardo) M alvado(Ricardo) Rey (Juan) Codicioso(Juan) Hermano(Ricardo, Juan)
La nueva BC esta proposicionalizada. S mbolos proposicion son:
6 de 34

Rey (Juan), Codicioso(Juan), M alvado(Juan), Rey (Ricardo), etc.


mbmelian@ull.es

Inferencia en Logica de Predicados I

First Prev Next Last Go Back Full Screen Close Quit

(cont.) Reduccion
si es implicada por la Una sentencia base es implicada por la nueva BC si y solo BC original. Toda BC de LPO se puede transformar a forma proposicional de tal manera que de implicacion. se mantenga la relacion aplicar resolucion y devolver el resulIdea: proposicionalizar la BC y la peticion, tado. Hay un problema! el Problema: cuando la base de conocimiento incluye un s mbolo de funcion, conjunto de sistituciones de los terminos base es innito. Ejemplo, P adre(P adre(P adre(Juan))) (terminos anidados innitamente).

mbmelian@ull.es

Inferencia en Logica de Predicados I

7 de 34

First Prev Next Last Go Back Full Screen Close Quit

(cont.) Reduccion
Teorema: Herbrand (1930). Si una sentencia se implica de una BC de primer que involucra tan solo a un subconjunto orden, entonces hay una demostracion nito de la BC transformada a proposicional. Idea: Para n = 0 a hacer: Crear una BC proposicional especicando los terminos con profundidad n. Ver si es implicada por esta BC. Problema: funciona si es implicada, bucle si no lo es. en LPO es Teorema: Turing (1936), Church (1936). El problema de la implicacion semidecidible, es decir, existen algoritmos que responden armativamente para responda cada sentencia implicada, pero no existe ningun algoritmo que tambien ante una sentencia no implicada.

mbmelian@ull.es

Inferencia en Logica de Predicados I

8 de 34

First Prev Next Last Go Back Full Screen Close Quit

Problemas con la proposicionalizacion


parace generar muchas sentencias irrelevantes. Por La Proposicionalizacion ejemplo:

xRey (x) Codicioso(x) M alvado(x) Rey (Juan) yCodicioso(y ) Hermano(Ricardo, Juan)


produce un Parace obvio que M alvado(Juan), pero la proposicionalizacion de hechos tales como Codicioso(Ricardo), que son irrelevantes. monton Con p k -esimos predicados y n constantes, hay p nk especicaciones. es aun Con los s mbolos de funcion, pero!

mbmelian@ull.es

Inferencia en Logica de Predicados I

9 de 34

First Prev Next Last Go Back Full Screen Close Quit

Unicacion
Podemos obtener la inferencia inmediatamente si encontramos una sustitucion , tal que Rey (x) y Codicioso(x) sean iguales a Rey (Juan) y Codicioso(y ). {x/Juan, y/Juan} logra el objetivo. En este caso, la sustitucion UNIFICAR(, ) = si = El algoritmo UNIFICA toma dos sentencias y devuelve un unicador para ellas, si este existe. Conoce(Juan, x): A quien conoce Supongamos que tenemos una peticion Juan?

p Conoce(Juan, x) Conoce(Juan, x) Conoce(Juan, x) Conoce(Juan, x)


mbmelian@ull.es

q Conoce(Juan, Juana) Conoce(y, OJ ) Conoce(y, M adre(y )) Conoce(x, OJ )


Inferencia en Logica de Predicados I
10 de 34

First Prev Next Last Go Back Full Screen Close Quit

Unicacion
Podemos obtener la inferencia inmediatamente si encontramos una sustitucion , tal que Rey (x) y Codicioso(x) sean iguales a Rey (Juan) y Codicioso(y ). {x/Juan, y/Juan} logra el objetivo. En este caso, la sustitucion UNIFICAR(, ) = si = Conoce(Juan, x): A quien conoce Supongamos que tenemos una peticion Juan?

p Conoce(Juan, x) Conoce(Juan, x) Conoce(Juan, x) Conoce(Juan, x)


mbmelian@ull.es

q Conoce(Juan, Juana) {x/Juana} Conoce(y, OJ ) Conoce(y, M adre(y )) Conoce(x, OJ )


Inferencia en Logica de Predicados I
11 de 34

First Prev Next Last Go Back Full Screen Close Quit

Unicacion
Podemos obtener la inferencia inmediatamente si encontramos una sustitucion , tal que Rey (x) y Codicioso(x) sean iguales a Rey (Juan) y Codicioso(y ). {x/Juan, y/Juan} logra el objetivo. En este caso, la sustitucion UNIFICAR(, ) = si = Conoce(Juan, x): A quien conoce Supongamos que tenemos una peticion Juan?

p Conoce(Juan, x) Conoce(Juan, x) Conoce(Juan, x) Conoce(Juan, x)


mbmelian@ull.es

q Conoce(Juan, Juana) {x/Juana} Conoce(y, OJ ) {x/OJ,y/Juan} Conoce(y, M adre(y )) Conoce(x, OJ )


Inferencia en Logica de Predicados I
12 de 34

First Prev Next Last Go Back Full Screen Close Quit

Unicacion
Podemos obtener la inferencia inmediatamente si encontramos una sustitucion , tal que Rey (x) y Codicioso(x) sean iguales a Rey (Juan) y Codicioso(y ). {x/Juan, y/Juan} logra el objetivo. En este caso, la sustitucion UNIFICAR(, ) = si = Conoce(Juan, x): A quien conoce Supongamos que tenemos una peticion Juan?

p Conoce(Juan, x) Conoce(Juan, x) Conoce(Juan, x) Conoce(Juan, x)


mbmelian@ull.es

q Conoce(Juan, Juana) Conoce(y, OJ ) Conoce(y, M adre(y )) Conoce(x, OJ )

{x/Juana} {x/OJ,y/Juan} {y/Juan,x/Madre(Juan)}

Inferencia en Logica de Predicados I

13 de 34

First Prev Next Last Go Back Full Screen Close Quit

Unicacion
Podemos obtener la inferencia inmediatamente si encontramos una sustitucion , tal que Rey (x) y Codicioso(x) sean iguales a Rey (Juan) y Codicioso(y ). {x/Juan, y/Juan} logra el objetivo. En este caso, la sustitucion UNIFICAR(, ) = si = Conoce(Juan, x): A quien conoce Supongamos que tenemos una peticion Juan?

p Conoce(Juan, x) Conoce(Juan, x) Conoce(Juan, x) Conoce(Juan, x)


mbmelian@ull.es

q Conoce(Juan, Juana) Conoce(y, OJ ) Conoce(y, M adre(y )) Conoce(x, OJ )

{x/Juana} {x/OJ,y/Juan} {y/Juan,x/Madre(Juan)}


fallo
14 de 34

Inferencia en Logica de Predicados I

First Prev Next Last Go Back Full Screen Close Quit

Unicacion
p Conoce(Juan, x) Conoce(Juan, x) Conoce(Juan, x) Conoce(Juan, x) q Conoce(Juan, Juana) Conoce(y, OJ ) Conoce(y, M adre(y )) Conoce(x, OJ ) {x/Juana} {x/OJ,y/Juan} {y/Juan,x/Madre(Juan)}
fallo

La ultima sentencia falla porque x no puede tomar los valores Juan y OJ al mismo tiempo. cuando las dos sentencias tienen que utilizar el El problema se presenta solo mismo nombre de variable, x. Este problema se puede evitar utilizando la es de las variables de las sentencias que van a ser unicadas, que tandarizacion consiste en renombrer sus variables para evitar conictos de nombre. Por ejemplo:

Conoce(z17, OJ )
tendra exito. Ahora la unicacion UNIFICA(Conoce(Juan, x), Conoce(Z17 , OJ )) = {x/OJ, z17 /Juan}
mbmelian@ull.es

Inferencia en Logica de Predicados I

15 de 34

First Prev Next Last Go Back Full Screen Close Quit

Modus Ponens Generalizado (MPG)


p 1 , p 2 , . . . , p n , (p 1 p 2 . . . p n q ) q
donde pi = pi para todo i.

p1 es Rey (Juan) p1 es Rey (x) p2 es Codicioso(y ) p2 es Codicioso(x) es {x/Juan, y/Juan} q es Malvado(x) q es Malvado(Juan)

mbmelian@ull.es

Inferencia en Logica de Predicados I

16 de 34

First Prev Next Last Go Back Full Screen Close Quit

Solidez del MPG


MPG es una regla de inferencia solida. Asumimos que todas las variables estan universalmente especicadas. Necesitamos mostrar que

p1 , . . . , pn , (p1 . . . pn q ) |= q
mientras que pi = pi para todo i. universal. Lema: Para cualquier clausula p, tenemos p |= p por especicacion 1. (p1 . . . pn q ) |= (p1 . . . pn q ) = (p1 . . . pn q) 2. p1 , . . . , pn |= p1 . . . pn |= p1 . . . pn 3. De 1 y 2, q se sigue del Modus Ponens ordinario.

mbmelian@ull.es

Inferencia en Logica de Predicados I

17 de 34

First Prev Next Last Go Back Full Screen Close Quit

Ejemplo de base de conocimiento


La ley dice que para un Americano es un crimen vender armas a naciones hos tiles. Cierto pa s, enemigo de America, tiene algunos misiles y todos sus misiles fueron vendidos por un Coronel americano. Probar que el coronel es un criminal.

mbmelian@ull.es

Inferencia en Logica de Predicados I

18 de 34

First Prev Next Last Go Back Full Screen Close Quit

Ejemplo de base de conocimiento


. . . para un americano es un crimen vender armas a naciones hostiles: Americano(x) Arma(y ) V ende(x, y, z ) Hostil(z ) Criminal(x)
Pa s . . . tiene algunos misiles, es decir, x T iene(Pa s,x) M isil(x):

T iene(Pa s,M1 ) y M isil(M1 ) . . . todos los misiles del pa s le fueron vendidos por el coronel. xM isil(x) T iene(Pa s,x) V ende(Coronel, x,Pa s)
Los misiles son armas:

M isil(x) Arma(x)

mbmelian@ull.es

Inferencia en Logica de Predicados I

19 de 34

First Prev Next Last Go Back Full Screen Close Quit

Ejemplo de base de conocimiento


Un enemigo de america cuenta como hostil: Enemigo(x,America ) Hostil(x) El Coronel, que es americano, . . .

Americano(Coronel)
El Pa s, un enemigo de America ... Enemigo(Pa s,America )

mbmelian@ull.es

Inferencia en Logica de Predicados I

20 de 34

First Prev Next Last Go Back Full Screen Close Quit

Algoritmo sencillo de encadenamiento hacia delante


PREGUNTA-EHD-LPO (BC ,) devuelve una sustitucion o falso funcion entradas: BC, un conjunto de clausulas positivas de primer orden una sentencia atomica , la peticion, variables locales: nuevas, las nuevas sentencias inferidas en cada iteracion vac repetir hasta nuevo esta o nuevo {} para cada sentencia r en la BC, hacer (p1 . . . pn q ) ESTANDARIZAR-VAR(r) para cada tal que SUST(, p1 . . . pn ) = SU ST (p1 . . . pn ) para algun p1 , . . . , pn en BC q SU ST (, q ) si q no es el renombramiento de una sentencia de BC o de nuevo, entonces hacer anadir q a nuevo U N IF ICA(q , ) si no es fallo entonces devolver anadir nuevo a BC devolver falso

mbmelian@ull.es

Inferencia en Logica de Predicados I

21 de 34

First Prev Next Last Go Back Full Screen Close Quit

Algoritmo sencillo de encadenamiento hacia delante


Este algoritmo de encadenamiento hacia delante es conceptualmente sencillo, pero muy ineciente. Comenzando con los hechos conocidos, el proceso dispara todas las reglas cuyas premisas se satisfacen, anadiendo sus conclusiones al conjunto de hechos conocidos. es respondida o no se pueden anadir El proceso se repite hasta que la peticion hechos. mas

mbmelian@ull.es

Inferencia en Logica de Predicados I

22 de 34

First Prev Next Last Go Back Full Screen Close Quit

Ejemplo de EHD
Usaremos nuestro problema sobre el crimen para ilustrar como funciona el algoritmo PREGUNTA-EHD-LPO. son: Las sentencias de implicacion

Americano(x) Arma(y ) V ende(x, y, z ) Hostil(z ) Criminal(x) xM isil(x) T iene(Pa s,x) V ende(Coronel, x,Pa s) M isil(x) Arma(x)
Enemigo(x,America ) Hostil(x)

mbmelian@ull.es

Inferencia en Logica de Predicados I

23 de 34

First Prev Next Last Go Back Full Screen Close Quit

Ejemplo de EHD

mbmelian@ull.es

Inferencia en Logica de Predicados I

24 de 34

First Prev Next Last Go Back Full Screen Close Quit

Ejemplo de EHD

mbmelian@ull.es

Inferencia en Logica de Predicados I

25 de 34

First Prev Next Last Go Back Full Screen Close Quit

Ejemplo de EHD

mbmelian@ull.es

Inferencia en Logica de Predicados I

26 de 34

First Prev Next Last Go Back Full Screen Close Quit

Propiedades del Encadenamiento Hacia Delante


El algortimo PREGUNTA-EHD-LPO es solido , porque cada inferencia es jus del Mo dus Ponens Generalizado, que es solido. to una aplicacion El algortimo PREGUNTA-EHD-LPO es completo para las BC de clausulas positivas. la demostracion En las BC Datalog, que no contienen s mbolos de funcion, de su completitud es bastante facil. Sea k la aridad maxima (numero de ar gumentos) de cada predicado, p el numero de predicados y n el numero de k de p n hechos base, as s mbolos de constante. No puede haber mas que de estas muchas iteraciones el algoritmo debe encontrar un punto despues jo. PREGUNTACon las clausulas positivas que contienen s mbolos de funcion, EHD-LPO puede generar muchos hechos nuevos innitamente, por lo que necesitamos tener mucho cuidado.
mbmelian@ull.es

Inferencia en Logica de Predicados I

27 de 34

First Prev Next Last Go Back Full Screen Close Quit

Eciencia del encadenamiento hacia delante


En el algoritmo simple de encadenamiento hacia delante presentado hay tres fuentes de complejidad posibles: 1. El bucle interno del algortimo requiere que se encuentren todos los unicadores posibles de manera que la premisa se unique con un conjunto adecuado de hechos de la BC (emparejamiento de patrones). para ver si se 2. El algoritmo vuelve a comprobar cada regla en cada iteracion satisfacen sus premisas (EHD incremental). 3. El algoritmo podr a generar muchos hechos que son irrelevantes para el algoritmo (hechos irrelevantes). Vamos a abordar cada uno de estos problemas por separado.

mbmelian@ull.es

Inferencia en Logica de Predicados I

28 de 34

First Prev Next Last Go Back Full Screen Close Quit

Emparejar reglas con los hechos conocidos


de los conjuntores. Problema de ordenacion

M isil(x) T iene(P ais, x) V ende(Coronel, x, P ais)


Encontramos todos los objetos que tiene el Pa s en tiempo constante; y comprobar para cada objeto si es misil. del Pa Muchos objetos en posecion s y unos pocos misiles mejor encontrar los misiles primero y luego comprobar si son del Pa s. de los conjuntores de las premisas de una regla tal Encontrar la ordenacion que se minimice el coste es un problema NP-duro. Usar heur sticas, por ej. restringida que estudiamos en los PSRs. la de la variable mas

mbmelian@ull.es

Inferencia en Logica de Predicados I

29 de 34

First Prev Next Last Go Back Full Screen Close Quit

Emparejar reglas con los hechos conocidos


de restricciones Emparejamiento de patrones Satisfaccion sobre las variables que contiene. Ver cada conjuntor como una restriccion Podemos expresar cada PSR de dominio nito como una unica clausula positiva junto a algunos hechos base asociados a ella.

mbmelian@ull.es

Inferencia en Logica de Predicados I

30 de 34

First Prev Next Last Go Back Full Screen Close Quit

Emparejar reglas con los hechos conocidos


Dif (wa, nt) Dif (wa, sa) Dif (nt, q )Dif (nt, sa) Dif (q, nsw) Dif (q, sa) Dif (nsw, v ) Dif (nsw, sa) Dif (v, sa) Colorable() Dif (Rojo, Azul) Dif (Rojo, V erde) Dif (V erde, Rojo) Dif (V erde, Azul) Dif (Azul, Rojo) Dif (Azul, V erde)
si el Problema de Satisfaccion de Resctricciones Colorable() se inere si y solo (PSR) tiene solucion. Los PSRs incluyen al 3SAT como un caso especial, por lo que podemos concluir que emparejar una clausula positiva con un conjunto de hechos es un problema N P -duro.
mbmelian@ull.es

Inferencia en Logica de Predicados I

31 de 34

First Prev Next Last Go Back Full Screen Close Quit

Emparejar reglas con los hechos conocidos


: el algoritmo de encadenamiento hacia delante visto tiene un probConclusion lema de emparejamiento NP-duro en su bucle interno. Sin embargo: La complejidad de los datos del EHD es polinomica. Considerar subclases de reglas para las que el encadenamiento sea eciente. Eliminar los intentos de emparejamiento de reglas redundantes.

mbmelian@ull.es

Inferencia en Logica de Predicados I

32 de 34

First Prev Next Last Go Back Full Screen Close Quit

Encadenamiento hacia delante incremental


Evitar el emparejamiento de reglas redundantes. t debe ser derivado de al menos un Cada hecho nuevo inferido en una iteracion t 1. hecho nuevo inferido en la iteracion nos lleva a un algoritmo de EHD incremental, en el que en cada Esta observacion t solo si su premisa incluye algun iteracion valor conjuntor pi que se unique con t 1. un hecho pi que se haya inferido en la iteracion

mbmelian@ull.es

Inferencia en Logica de Predicados I

33 de 34

First Prev Next Last Go Back Full Screen Close Quit

Hechos irrelevantes
El EHD realiza todas las inferencias permitidas basadas en los hechos conoci dos, aunque estos sean irrelevantes respecto al objetivo. (EHA), que veremos en la proxima Usar el Encademanciento Hacia Atras leccion.

mbmelian@ull.es

Inferencia en Logica de Predicados I

34 de 34

First Prev Next Last Go Back Full Screen Close Quit

Вам также может понравиться