E N D
1. Inteligencia Artificial e Ingenieria del Conocimiento 1 de 30 Datos de la AsignaturaTemaro 2 Cuatrimestre
Sistemas basados en el conocimiento (Cap. 8-12)
Mediante lgica de predicados.
Mediante Sistemas de produccin.
Tratamiento de la incertidumbre (Cap. 13-15)
Redes Bayesianas.
Razonamiento aproximado (lgica difusa).
2. Universidad de Castilla-La ManchaInteligencia Artificial e Ingeniera del Conocimiento Tema4: Sistemas basados en el conocimiento (Inferencia en Lgica de 1er orden)
3. Inteligencia Artificial e Ingenieria del Conocimiento 3 de 30 Inferencia en Lgica 1er Orden
4. Inteligencia Artificial e Ingenieria del Conocimiento 4 de 30 Sintaxis y semntica Reglas de inferencia para cuantificadores:
Regla de especificacin universal: Podemos inferir cualquier sentencia obtenida por sustitucin de la variable por un trmino base (termino sin variables).
Especificacin Existencial: Para cualquier sentencia alfa, variable v, y smbolo de constante k que no aparezca en la base de conocimiento se cumple que
Reduccin a la inferencia proposicional: Con las reglas para inferir sentencias no cuantificadas a partir de sentencias cuantificadas, nos es posible reducir la inferencia de primer orden a la inferencia proposicional. La nueva base de conocimiento no es equivalente lgicamente a la antigua, pero se puede demostrar que es equivalente inferencialmente en el sentido que es satisfacible justamente cuando lo es la base de conocimiento original.
5. Inteligencia Artificial e Ingenieria del Conocimiento 5 de 30 Inferencia en Lgica 1er Orden
6. Inteligencia Artificial e Ingenieria del Conocimiento 6 de 30 Unificacin y Sustitucin Modus Ponens Generalizado: Se trata de una generalizacin de las reglas de inferencia aplicando ahora:
Y-Introduccin
Eliminacin Universal
Modus Ponens
La idea es encontrar la forma de partir de una BC con ciertas oraciones e inferir de all una nueva oracin en un solo paso.
Unificacin: Es el proceso que permite a las reglas de inferencia elevadas encontrar las sustituciones que hacen que expresiones lgicas diferentes se hagan idnticas.
Almacenamiento y recuperacin:
Funciones DECIR y PREGUNTAR: utilizadas para informar o interrogar a la base de conocimiento.
Funcion ALMACENAR(s): guarda una sentencia S en la base de conocimiento.
Funcin BUSCAR(q): Devuelve los unificadores que unifican la peticin q con alguna sentencia de la base de conocimiento.
7. Inteligencia Artificial e Ingenieria del Conocimiento 7 de 30 Unificacin y SustitucinAlgoritmo de Unificacin
8. Inteligencia Artificial e Ingenieria del Conocimiento 8 de 30 Unificacin y Sustitucin Escanear p y q de izq a der y encontrar el primer trmino correspondiente s cuando p y q estn en desacuerdo; cuando p y q no son iguales.
Si no hay desacuerdo, retornar theta; buen xito
Sean, respectivamente, r y s los trminos en p y q donde el desacuerdo aparece primero
Si variable ( r ) entonces
theta = union (theta,{r / s})
unificar (sust(theta,p),sust(theta,q),theta)
en el otro caso si variable ( s ) entonces
theta = union (theta,{s / r})
unificar (sust(theta,p),sust(theta,q),theta)
en el otro caso retornar Falla
fin
9. Inteligencia Artificial e Ingenieria del Conocimiento 9 de 30 Unificacin y Sustitucin Es un algoritmo en tiempo lineal que retorna el unificador ms general - la lista de sustitucin ms corta que consigue que haya acuerdo entre dos literales
Aunque en general no hay un nico unificador, por lo menos retorna uno que es de longitud mnima
Una variable no puede ser reemplazada por un trmino que ya contiene dicha variable
es ilegal x/f(x)
Se debe realizar esa verificacin en el seudo-cdigo antes de las llamadas recursivas.
10. Inteligencia Artificial e Ingenieria del Conocimiento 10 de 30 Inferencia en Lgica 1er Orden
11. Inteligencia Artificial e Ingenieria del Conocimiento 11 de 30 Algoritmos de Inf. Conocimiento Modus Ponens Generalizado:
Intentar verificar cada premisa de la implicacin
Unificar cada premisa de la implicacin con una oracin atmica existente en la BC, usando solo una sustitucin
Por qu Modus Ponens Generalizado?
Combina varios pasos en uno
Usa pasos con garanta de ayudar
Todas las oraciones estn en forma cannica, Forma Normal de Horn.
12. Inteligencia Artificial e Ingenieria del Conocimiento 12 de 30 Algoritmos de Inf. Conocimiento Encadenamiento hacia delante: Se comienza a partir de las sentencias atmicas de la base de conocimiento, se aplica el Modus Ponens hacia delante, aadiendo las sentencias atmicas nuevas hasta que no se puedan realizar ms inferencias.
Aadir una oracin p a la BC
Intentar inferir nuevos hechos usando el Modus Ponens Generalizado
Aadir esos nuevos hechos obtenidos con la subrrutina FORWARD-CHAIN(...)
Cuando se agotan las informaciones entrantes o las obtenidas por encadenamiento, el proceso termina hasta tanto ingrese alguna informacin nueva.
13. Inteligencia Artificial e Ingenieria del Conocimiento 13 de 30 Algoritmos de Inf. Conocimiento Ejemplo: La ley dice que es un crimen para un americano vender armas a pases hostiles. El pas de Nono, un enemigo de Amrica, tiene algunos misiles, y todos sus msiles fueron vendidos por el Coronel West, que es americano.
<< es un crimen para un americano vender armas a pases hostiles>>
Americano(x) ?Arma(y) ?Vender(x,y,z) ?Hostil(z) ? Criminal(x) (9.3)
<< Nono tiene algunos misiles >>
x Tiene(Nono,x) ?Misil(x) se convierte en Tiene(Nono,M1) (9.4) y Misil(M1) (9.5)
<< Todos los misiles le (a Nono) fueron vendidos por el coronel West >>
Misil(x) ?Tiene(Nono,x) ? Vende(West,x,Nono) (9.6)
Misil(x) ? Arma(x) (9.7)
Enemigo(x,America) ? Hostil(x) (9.8)
<< West, que es Americano >>
Americano(West) (9.9)
<< El pas Nono, un enemigo de America >>
Enemigo(Nono,America) (9.10)
Base de conocimiento Datalog: conjunto de clusulas de primer orden sin smbolos de funcin. La ausencia de los smbolos de funcin hace mucho ms fcil la inferencia.
14. Inteligencia Artificial e Ingenieria del Conocimiento 14 de 30 Algoritmos de Inf. Conocimiento Algoritmo sencillo de encadenamiento hacia delante: Comienza con los hechos conocidos, el proceso dispara todas las reglas cuyas premisas se satisfacen, aadiendo sus conclusiones al conjunto de hechos conocidos. El proceso se va repitiendo hasta que la peticin es respondida o no se pueden aadir ms hechos.
Ejemplo: validar las sentencias de implicacin (9.3), (9.6), (9.7) y (9.8)
Primera iteracin:
La regla (9.3) no tiene satisfechas las premisas.
La regla (9.6) se satisface con {x/M1}, y se aade Vende(West,M1,Nono)
La regla (9.7) se satisface con {x/M1}, y se aade Arma(M1)
La regla (9.8) se satisface con {x/Nono}, y se aade Hostil(Nono).
Segunda iteracin:
La regla (9.3) se satisface con {x/West, y/M1, z/Nono} y se aade Criminal(West).
15. Inteligencia Artificial e Ingenieria del Conocimiento 15 de 30 Algoritmos de Inf. Conocimiento rbol de demostracin:
16. Inteligencia Artificial e Ingenieria del Conocimiento 16 de 30 Algoritmos de Inf. Conocimiento Encadenamiento hacia delante eficiente: Hay tres fuentes de complejidad posibles:
Emparejamiento de patrones: El Bucle interno del algoritmo requiere que se encuentren todos los unificadores posibles de manera que la premisa se unifique con un conjunto adecuado de hechos de la base de conocimiento.
El algoritmo vuelve a comprobar cada regla en cada iteracin para ver si sus premisas se satisfacen.
Podra generar muchos hechos que son irrelevantes para el objetivo.
Hechos irrelevantes: El encadenamiento hacia delante realiza todas las inferencias permitidas basadas en los hechos conocidos, aunque estos sean irrelevantes respecto al objetivo.
17. Inteligencia Artificial e Ingenieria del Conocimiento 17 de 30 Algoritmos de Inf. Conocimiento Algoritmo de Encadenamiento hacia atrs: Estos algoritmos trabajan hacia atrs desde el objetivo, encadenando a travs de las reglas hasta encontrar los hechos conocidos que soportan la demostracin.
El algoritmo se invoca con una lista de objetivos que contiene un solo elemento, la peticin original, y devuelve el conjunto de todas las sustituciones que satisfacen la peticin.
El algoritmo toma el primero objetivo de la lista y encuentra cada clusula de la base de conocimiento cuyo literal positivo, o cabeza, se unifica con l.
Cada una de esta clusulas crea una nueva llamada recursiva en la que las premisas, o cuerpo, de la clusulas se aaden a la pila de objetivos.
Los hechos son clusulas con cabeza y sin cuerpo.
Cuando el objetivo se unifica con un hecho conocido, no se aaden ms sub-objetivos a la pila, y el objetivo se resuelve.
18. Inteligencia Artificial e Ingenieria del Conocimiento 18 de 30 Algoritmos de Inf. Conocimiento rbol de demostracin:
19. Inteligencia Artificial e Ingenieria del Conocimiento 19 de 30 Algoritmos de Inf. Conocimiento Ejemplo general: Nintendo dice que es ilegal o criminal para un programador entregar emuladores a la gente. Mis amigos no poseen un Nintendo 64, pero usan soft escrito por RealityMan (un programador) que corre juegos N64 en sus PC.
.. es ilegal para un programador entregar emuladores a la gente..:
?x,y,z Programador(x) ? Emulador(y) ? Gente(z) ? Proveer(x,z,y) ? Criminal(x) (p1)
...Mis amigos usan soft que corre juegos N64:
?x Usar(MisAmigos, x) ? Soft(x)? Correr(x, JuegosN64) (p2)
soft escrito por RealityMan:
?x Usar(MisAmigos,x) ? Soft(x) ? Correr(x, JuegosN64)? Proveer(RealityMan, MisAmigos, x) (p3)
Adems necesitamos saber que el soft para N64 es un emulador:
?x Soft(x) ? Correr(x, JuegosN64) ? Emulador(x) (p4)
20. Inteligencia Artificial e Ingenieria del Conocimiento 20 de 30 Algoritmos de Inf. Conocimiento ...RealityMan (un programador)...:
Programador(RealityMan) (p5)
Mis amigos poseen :
Gente(MisAmigos) (p6)
Estos 6 pasos anotados son los estados iniciales de la BC (axiomas) escritos con el idioma de Tarzn (usar, correr)
Demostrar el p2:
Del paso 3 y de la Eliminacin Existencial:
Usar(MisAmigos, UltraHLE) ? Soft(x) ? Correr(UltraHLE, JuegoN64) (p7)
Del paso 7 y de la Y-Eliminacin:
Usar(MisAmigos, UltraHLE) (p8)
Soft(UltraHLE) (p9)
Correr(UltraHLE, N64 games) (p10)
?x Soft(x) ? Correr(x, JuegosN64)? Emulador(x) (p4)
Soft(UltraHLE) (p9) Correr(UltraHLE,JuegosN64) (p10)
21. Inteligencia Artificial e Ingenieria del Conocimiento 21 de 30 Algoritmos de Inf. Conocimiento Del paso 4 y de la Eliminacin Universal:
Soft(UltraHLE) ? Correr(UltraHLE,JuegosN64) ?Emulador(UltraHLE) (p11)
De los pasos 9 a 11 y del Modus Ponens:
Emulador(UltraHLE) (p12)
?x Usar(MisAmigos,x) ? Soft(x) ? Correr(x, JuegosN64)? Proveer(RealityMan, MisAmigos, x) (p3)
Usar(MisAmigos, UltraHLE) ? Soft(x)? Runs(UltraHLE, JuegosN64) (p7)
Del paso 3 y de la Eliminacin Universal:
Usar(MisAmigos, UltraHLE) ? Soft(UltraHLE)? Correr(UltraHLE, JuegosN64 ?Proveer(RealityMan, MisAmigos, UltraHLE) (p13)
De los pasos 7 y 13 y del Modus Ponens:
Proveer(RealityMan, MisAmigos, UltraHLE) (p14)
?x,y,z Programador(x) ? Emulador(y) ? Gente(z)? Proveer(x,z,y) ? Criminal(x) (p1)
22. Inteligencia Artificial e Ingenieria del Conocimiento 22 de 30 Algoritmos de Inf. Conocimiento Del paso 1 y de la Eliminacin Universal:
Programador(RealityMan) ? Emulador(UltraHLE)? Gente(MisAmigos)? Proveer(RealityMan, MisAmigos, UltraHLE)? Criminal(RealityMan) (p15)
Programador(RealityMan) (p5)
Gente(MisAmigos) (p6)
Emulador(UltraHLE) (p12)
Proveer(RealityMan, MisAmigos, UltraHLE) (p14)
De pasos 5 a 6 y 12 - y de la Y-Introduccin:
Programador(RealityMan) ? Gente(MisAmigos)?Emulador(UltraHLE)? Proveer(RealityMan, MisAmigos, UltraHLE) (p16)
Programador(RealityMan) ? Emulador(UltraHLE) ? Gente(MisAmigos)? Proveer(RealityMan, MisAmigos, UltraHLE)?Criminal(RealityMan) (p15)
De pasos 15 y 16 y de Modus Ponens:
Criminal(RealityMan) (p17)
23. Inteligencia Artificial e Ingenieria del Conocimiento 23 de 30 Inferencia en Lgica 1er Orden
24. Inteligencia Artificial e Ingenieria del Conocimiento 24 de 30 Algoritmos de Inf. Conocimiento Resolucin: La resolucin proposicional es un procedimiento de inferencia mediante refutacin que es completo para la lgica proposicional.
La resolucin en primer orden requiere que las sentencias estn en la forma normal conjuntiva (FNC conjunto de clusulas donde cada clusula es una disyuncin de literales).
Cada sentencia en lgica de primer orden se puede convertir a una sentencia en FNC que es equivalente inferencialmente.
Regla de inferencia de resolucin: La regla de resolucin para la lgica de primer orden es una versin elevada de la regla de resolucin proposicional.
La resolucin es un procedimiento de refutacin completo, es decir, si un conjunto de sentencias es insatisfacible, entonces la resolucin siempre ser capaz de derivar una contradiccin.
25. Inteligencia Artificial e Ingenieria del Conocimiento 25 de 30 Algoritmos de Inf. Conocimiento Resolucin por refutacin:
El teorema de refutacin permite un mtodo alternativo completo
Seala dicho Teorema de Refutacin:
Si ? ? { ?A } es insatisfactible entonces ? |= A
Disponemos de un mtodo mecanizable, correcto y completo: basta agregar la negacin de al frmula a demostrar y probar la generacin de una clusula vaca
26. Inteligencia Artificial e Ingenieria del Conocimiento 26 de 30 Algoritmos de Inf. Conocimiento Otras estrategias de resolucin:
Resolucin unitaria: realiza la resolucin sobre clusulas unitarias.
Resolucin mediante conjunto soporte: Comienza por identificar un subconjunto de sentencias denominado conjunto soporte. Cada resolucin combina una sentencia del conjunto soporte con otra sentencia y aade el resolvente al conjunto soporte.
Resolucin lineal: Cada resolucin combina una de las sentencias de entrada con alguna otra sentencia.
Subsuncin: Elimina todas las sentencias que estn subsumidas por una sentencia existente en la BC.
27. Inteligencia Artificial e Ingenieria del Conocimiento 27 de 30 Inferencia en Lgica 1er Orden
28. Inteligencia Artificial e Ingenieria del Conocimiento 28 de 30 Algoritmos de Inf. Conocimiento Un primer enfoque utiliza reglas de inferencia para instanciar los cuantificadores y proposicionalizar el problema de inferencia. Por lo general este enfoque es muy lento.
El uso de la unificacin para obtener las sustituciones adecuadas de las variables elimina el paso de instanciacin en las demostraciones de primer orden, haciendo que el proceso sea mucho ms eficiente.
Una versin elevada del Modus Ponens utiliza la unificacin para proporcionar una regla de inferencia natural y potente, el Modus Ponens Generalizado. Los algoritmos de encadenamiento hacia delante y de encadenamiento hacia atrs aplican esta regla a conjuntos de clusulas positivas.
El Modus Ponens Generalizado es completo para las clusulas positivas, aunque el problema de la implicacin es semidecidible. Para los programas Datalog que tiene clusulas positivas con funciones libres, la implicacin es decidible.
29. Inteligencia Artificial e Ingenieria del Conocimiento 29 de 30 Algoritmos de Inf. Conocimiento El encadenamiento hacia delante se utiliza en las bases de datos deductivas, donde se pueden combinar con las operaciones de las bases de datos relacionales. Tambin se utiliza en los sistemas de produccin, que pueden hacer actualizaciones eficientes en conjuntos de reglas muy grandes.
El encadenamiento hacia delante es completo en los programa Datalog y corre en tiempo polinmico.
El encadenamiento hacia atrs se utiliza en los sistemas de programacin lgica con el Prolog, que emplea una sofisticada tecnologa de compilacin para proporcionar una inferencia muy rpida.
El encadenamiento hacia atrs sufre de inferencias redundantes y bucles infinitos; esto se puede aliviar mediante la memorizacin.
La regla de inferencia de la resolucin generalizada proporciona un sistema de demostracin completo en lgica de primer orden, utilizando bases de conocimiento en forma normal conjuntiva.
Existen diversas estrategias para reducir el espacio de bsqueda de un sistema de resolucin sin comprometer la completitud. Los demostradores de teoremas eficientes, basados en la resolucin, se han utilizado para proporcionar teoremas matemticos de inters y para verificar y disear hardware y software.
30. Universidad de Castilla-La Mancha
Luis Jimnez Linares
Luis.jimenez@uclm.es
Luis Enrique Snchez Crespo
LuisEnrique.sanchez@uclm.es