IA - Tema 4D - Sistemas Expertos v1.1.ppt

30
Inteligencia Artificial e Ingenieria del Conocimiento 1 de 30 Septiembre de 2007 Datos de la Asignatura Temarío 2º Cuatrimestre Sistemas basados en el conocimiento (Cap. 8-12) Mediante lógica de predicados. Mediante Sistemas de producción. Tratamiento de la incertidumbre (Cap. 13-15) Redes Bayesianas. Razonamiento aproximado (lógica difusa).

Transcript of IA - Tema 4D - Sistemas Expertos v1.1.ppt

  • Universidad de Castilla-La ManchaInteligencia Artificial e Ingeniera del ConocimientoTema4: Sistemas basados en el conocimiento (Inferencia en Lgica de 1er orden)Profesores: Luis Jimnez Linares. Luis Enrique Snchez Crespo.

    Septiembre de 2007

    Inferencia en Lgica 1er Orden

    Lgica preposicional vs Lgica de 1er orden

    Septiembre de 2007

    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.

    Septiembre de 2007

    Inferencia en Lgica 1er Orden

    Unificacin y Sustitucin

    Septiembre de 2007

    Unificacin y Sustitucin

    Modus Ponens Generalizado: Se trata de una generalizacin de las reglas de inferencia aplicando ahora:Y-IntroduccinEliminacin UniversalModus PonensLa 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.

    Septiembre de 2007

    Unificacin y SustitucinAlgoritmo de Unificacin

    Septiembre de 2007

    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 xitoSean, respectivamente, r y s los trminos en p y q donde el desacuerdo aparece primeroSi variable ( r ) entoncestheta = 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 Fallafin

    Septiembre de 2007

    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 literalesAunque en general no hay un nico unificador, por lo menos retorna uno que es de longitud mnimaUna variable no puede ser reemplazada por un trmino que ya contiene dicha variablees ilegal x/f(x)Se debe realizar esa verificacin en el seudo-cdigo antes de las llamadas recursivas.

    Septiembre de 2007

    Inferencia en Lgica 1er Orden

    Algoritmos de Inferencia de Conocimiento

    Septiembre de 2007

    Algoritmos de Inf. Conocimiento

    Modus Ponens Generalizado:Intentar verificar cada premisa de la implicacinUnificar cada premisa de la implicacin con una oracin atmica existente en la BC, usando solo una sustitucinPor qu Modus Ponens Generalizado?Combina varios pasos en unoUsa pasos con garanta de ayudarTodas las oraciones estn en forma cannica, Forma Normal de Horn.

    Septiembre de 2007

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

    Septiembre de 2007

    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.>Americano(x) Arma(y) Vender(x,y,z) Hostil(z) Criminal(x) (9.3)>x Tiene(Nono,x) Misil(x) se convierte en Tiene(Nono,M1) (9.4) y Misil(M1) (9.5)>Misil(x) Tiene(Nono,x) Vende(West,x,Nono) (9.6)Misil(x) Arma(x) (9.7)Enemigo(x,America) Hostil(x) (9.8)>Americano(West) (9.9)>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.

    Septiembre de 2007

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

    Septiembre de 2007

    Algoritmos de Inf. Conocimiento

    rbol de demostracin:

    Septiembre de 2007

    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.

    Septiembre de 2007

    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.

    Septiembre de 2007

    Algoritmos de Inf. Conocimiento

    rbol de demostracin:

    Septiembre de 2007

    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)

    Septiembre de 2007

    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)

    Septiembre de 2007

    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, JuegosN64Proveer(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)

    Septiembre de 2007

    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)

    Septiembre de 2007

    Inferencia en Lgica 1er Orden

    Resolucin

    Septiembre de 2007

    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.

    Septiembre de 2007

    Algoritmos de Inf. Conocimiento

    Resolucin por refutacin:El teorema de refutacin permite un mtodo alternativo completoSeala dicho Teorema de Refutacin:Si { A } es insatisfactible entonces |= ADisponemos de un mtodo mecanizable, correcto y completo: basta agregar la negacin de al frmula a demostrar y probar la generacin de una clusula vaca

    Septiembre de 2007

    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.

    Septiembre de 2007

    Inferencia en Lgica 1er Orden

    Resumen

    Septiembre de 2007

    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.

    Septiembre de 2007

    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.

  • Universidad de Castilla-La Mancha

    Luis Jimnez [email protected] Enrique Snchez [email protected]