Академический Документы
Профессиональный Документы
Культура Документы
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
1 de 34
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
2 de 34
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
3 de 34
d(ey )/dy = ey
mientras que e sea un s mbolo constante nuevo.
mbmelian@ull.es
4 de 34
mbmelian@ull.es
5 de 34
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
(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
7 de 34
(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
8 de 34
mbmelian@ull.es
9 de 34
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?
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?
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?
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?
13 de 34
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?
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
15 de 34
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
16 de 34
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
17 de 34
mbmelian@ull.es
18 de 34
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
19 de 34
Americano(Coronel)
El Pa s, un enemigo de America ... Enemigo(Pa s,America )
mbmelian@ull.es
20 de 34
mbmelian@ull.es
21 de 34
mbmelian@ull.es
22 de 34
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
23 de 34
Ejemplo de EHD
mbmelian@ull.es
24 de 34
Ejemplo de EHD
mbmelian@ull.es
25 de 34
Ejemplo de EHD
mbmelian@ull.es
26 de 34
27 de 34
mbmelian@ull.es
28 de 34
mbmelian@ull.es
29 de 34
mbmelian@ull.es
30 de 34
31 de 34
mbmelian@ull.es
32 de 34
mbmelian@ull.es
33 de 34
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
34 de 34