Unidad 3 Representación del conocimiento y razonamiento Inteligencia Artificial domingo 11 de mayo de 14 • • • • • • domingo 11 de mayo de 14 3.1. Sistemas basados en conocimiento. • • 3.1.1. Concepto de conocimiento. 3.1.2. Lenguajes utilizados en la representación de conocimiento. 3.2. Mapas conceptuales. 3.3. Redes semánticas. 3.4. Lógica de predicados. • • • • 3.4.1. Sintaxis. 3.4.2. Semántica. 3.4.3.Validez. 3.4.4. Inferencia. 3.5. Razonamiento con incertidumbre. • • • • 3.5.1. Aprendizaje. 3.5.2. Razonamiento probabilístico. 3.5.3. Lógicas multivaluadas. 3.5.4. Lógica difusa. 3.6. Demostración y métodos. Sistemas Basados en el Conocimiento • Los Sistemas basados en Conocimiento representan un paso delante de los sistemas de información convencionales al pretender representar funciones cognitivas del ser humano como el aprendizaje y el razonamiento. • Esta clase de aplicaciones descansan en las contribuciones de la Inteligencia Artificial en lo general y en la Ingeniería del Conocimiento en lo particular. • Su orientación es la automatización del análisis de problemas, la búsqueda de soluciones, la toma de decisiones y el empleo de conocimiento especializado en un campo específico de aplicación. domingo 11 de mayo de 14 Sistemas Basados en el Conocimiento • Entre los productos más significativos de los Sistemas basados en Conocimiento se encuentran los Sistemas Expertos, los cuales están encargados de representar el conocimiento de los especialistas de una rama en la procura de su aprovechamiento para tareas de diagnóstico, enseñanza y control. • La composición de los Sistemas basados en Conocimiento consta de: Un mecanismo de aprendizaje, una base de conocimientos, un motor de razonamiento, y medios de comunicación hombremáquina. domingo 11 de mayo de 14 Sistemas Expertos INTELIGENCIA ARTIFICIAL SISTEMAS BASADOS EN EL CONOCIMIENTO SISTEMAS EXPERTOS domingo 11 de mayo de 14 Estructura de un SBC Usuario Hechos Preguntas Interface de Usuario Resultados Sistema de Inferencia Ingenierio del Conocimiento Y experto Interface Experta Conocimiento Base de Conocimientos Sistema Basado En el Conocimiento domingo 11 de mayo de 14 Conocimiento: Datos No Estructurados Todos sabemos que la ciencia e ingeniería son dominados por principios. Es decir reglas generales, las cuales si se aplican de manera uniforme resuelven todos los problemas de una misma clase Esto es visible principalmente en las matemáticas, donde una de sus principales tareas es reducir problemas aparentemente complejos, mediante un conjunto de principios mínimos para su solución mas fácil Las computadoras fueron creadas por matemáticos domingo 11 de mayo de 14 Conocimiento: Datos No Estructurados (Cont..) Es por eso que son maquinas que se adaptan muy bien a implementar los principios matemáticos Las nociones algorítmicas base reflejan siempre el concepto de maquinas de calculo Por lo contrario el comportamiento humano se rige por otro tipo de principios (en teoría muy pocos). Dice un viejo proverbio que “no hay regla sin excepción”, de tal forma que las excepciones hacen mal funcionar a los principios en dominios donde se aplican un poco de principios conocidos. domingo 11 de mayo de 14 Conocimiento: Datos No Estructurados (Cont..) En términos computacionales, es posible distinguir entre un tratamiento de datos estructurados y no estructurados. La Computación clásica se adapta al tratamiento de datos estructurados por ejemplo : Cifras, Códigos y otros contenidos de bases de datos Por lo contrario, el comportamiento humano se basa sobre una inmensidad de datos no estructurados: reglas de normas sociales así como también información con incertidumbre. Este ultimo tipo de datos son difícilmente formalizables bajo un formato estructurado. Ya que de manera general son incompletos, ambiguos y muchas veces inconsistentes. domingo 11 de mayo de 14 Conocimiento: Datos No Estructurados (Cont..) Para la Inteligencia Artificial a estos datos les llama CONOCIMIENTO domingo 11 de mayo de 14 Lenguajes utilizados para la Representación del Conocimiento • Se han diseñado a lo largo de los años diversos formalismos y lenguajes que permiten modelar de un modo formal el conocimiento. • Existen diversos formalismos para la representación del conocimiento, cada uno con sus propios lenguajes y cada uno con sus ventajas e inconvenientes. • En esto, al igual que en la Ingeniería del Software, no existe la técnica ideal que nos permita resolver cualquier problema de la mejor manera. • Dependerá del tipo de problema, del conocimiento que se quiera representar, de la expresividad que se necesite, y del uso que se le quiera dar, el que un formalismo y un lenguaje sea más conveniente que otro. domingo 11 de mayo de 14 Lenguajes utilizados para la Representación del Conocimiento • • Lenguajes Basados en Lógica Formal • La lógica formal aporta un buen número de ventajas para la representación del conocimiento y su manejo, partiendo de una sintaxis y semántica bien definidas que detallan perfectamente la forma de construir sentencias y razonamientos sobre ellas. domingo 11 de mayo de 14 Muchos de los sistemas de representación del conocimiento de la actualidad se basan en algún tipo de lógica formal. Lenguajes utilizados para la Representación del Conocimiento • Ejemplos: • Lógica Proposicional • Lógica de Primer Orden • KIF • Lógicas Descriptivas domingo 11 de mayo de 14 Lenguajes utilizados para la Representación del Conocimiento domingo 11 de mayo de 14 • • Lenguajes Basados en Frames o Marcos • Uno de los posibles lenguajes basados en frames es KM. Estos lenguajes son similares a los lenguajes de programación orientados a objetos, en el sentido de que modelan el conocimiento utilizando clases (frames), atributos, objetos y relaciones, y utilizan relaciones de generalización y especialización para representar la organización jerárquica de los conceptos. Lenguajes utilizados para la Representación del Conocimiento • • Lenguajes Basados en Reglas • Estos lenguajes son fáciles de entender debido a su sencillez conceptual y a su paralelismo con las estructuras de control más simples utilizadas en programación. domingo 11 de mayo de 14 Estos lenguajes han sido durante mucho tiempo posiblemente los más usados de todos, principalmente debido a su estrecha relación con los Sistemas Expertos utilizados en Inteligencia Artificial. Lenguajes utilizados para la Representación del Conocimiento • Este tipo de lenguajes han recibido también un fuerte impulso a partir de la aparición de la web semántica, ya que que se piensa en ellos como herramientas para definir servicios web, y como herramienta base que permita definir la forma en la que pueden interactuar las aplicaciones de comercio electrónico. • Para ello se ha creado una iniciativa “Rule Markup Initiative” que ha diseñado el lenguaje RuleML, basado en XML y que por lo tanto está pensado desde su concepción para garantizar la interoperabilidad necesaria en el web. domingo 11 de mayo de 14 Mapa Conceptual • Organización del Conocimiento domingo 11 de mayo de 14 Redes Semánticas domingo 11 de mayo de 14 Redes Semánticas domingo 11 de mayo de 14 Redes Semánticas y podríamos incluir otra frase, “Garfield es un Gato” Garfield es un gato es un animal De donde es posible inferir la respuesta a ¿ Garfield es un animal ? domingo 11 de mayo de 14 Extracción de frases del modelo domingo 11 de mayo de 14 Construir la red semántica • Los Hobbits son personas pequeñas • Frodo es un Hobbit • Los Hobbits tienen dedos gordos • Frodo posee un anillo mágico • El anillo fue encontrado en una cueva • Los Hobbits son personas míticas domingo 11 de mayo de 14 Lógica de Predicados • Sintaxis domingo 11 de mayo de 14 Lógica de Predicados • Semántica • Todos los informaticos son listos, Juan es informatico, luego juan es listo domingo 11 de mayo de 14 Lógica de Predicados • Un predicado con variables libres no es verdadero ni falso, hasta que se asignen valores para dichas variables. • Algunos de ellos serán siempre verdaderos independientemente de los valores que se escojan: estos son predicados válidos. • Un predicado que es verdadero o falso dependiendo de los valores elegidos se dice que es satisfacible. • Un predicado que es siempre falso se dice que es no satisfacible. domingo 11 de mayo de 14 • domingo 11 de mayo de 14 Razonamiento con Incertidumbre Los principales formalismos que permiten el tratamiento de información • Factores de Certeza y su generalización en lógica difusa, fáciles de aplicar pero sin bases teóricas solidas. • Los Cálculos probabilisticos mediante las teorias de Dempster y Schafer, muy bien fundamentadas en la teoría de la probabilidad, pero difíciles de aplicar. • Las Redes Bayesianas, las cuales están bien fundamentadas, pero necesitan un modelo de la realidad que no siempre esta presente. Manipulación del Conocimiento Incierto • Supongamos que hacemos uso de la lógica de predicados para hacer una aplicación de diagnóstico dental. ∀x Sintoma(x,dolor-de-muelas) Enfermedad(x,Caries) • El problema que la regla es errónea. No todos los pacientes con dolores de muelas tienen caries, algunos tienen dolencias de encias. Un absceso, u otro problema disntinto. domingo 11 de mayo de 14 Manipulación del Conocimiento Incierto ∀x Sintoma(x,dolor-de-muelas) Enfermedad(x,Caries)⋁ Enfermedad(x,Problema-Encias ) ⋁ Enfermedad(x,Absceso ) • Desafortunadamente para hacer la regla cierta, tendríamos que añadir una lista casi ilimitada de causas posibles. domingo 11 de mayo de 14 Manipulación del Conocimiento Incierto • Una solución podría ser convertir la regla a formula clausal. • ∀x Enfermedad(x,Caries) de-muelas) • • Pero esta regla también es errónea porque no todas las caries causan dolencias. Inclusive existe la posibilidad de que el paciente podría tener un dolor de muelas y una caries que no estén relacionados. domingo 11 de mayo de 14 Sintoma(x,dolor- Manipulación del Conocimiento Incierto • La conexión entre dolor de muelas y caries no es exactamente una consecuencia lógica en ninguna dirección. • Nuestra principal herramienta para tratar este caso sería la teoría de la probabilidad, que asigna a cada hecho un grado numérico de creencia entre 0 y 1. domingo 11 de mayo de 14 Manipulación del Conocimiento Incierto • No podríamos saber con seguridad lo que aqueja a un paciente en particular, pero podríamos creer que hay, digamos un 80 por ciento de posibilidades (esto es, una probabilidad de 0.8) de que el paciente que tiene una caries si tiene un dolor de muelas. domingo 11 de mayo de 14 • • Notación Básica con probabilidades Proposiciones Los grados de creencias se aplican siempre a las proposiciones (afirmaciones de que tal o cual es el caso) • Recordemos la lógica proposicional y la lógica de predicados. • Pero en la teoría de la probabilidad típicamente usa un lenguaje que es ligeramente mas expresivo que la lógica proposicional. domingo 11 de mayo de 14 • Notación Básica con probabilidades El elemento básico del lenguaje es la variable aleatoria, que puede pensarse como algo que se refiere a “una” parte del mundo cuyo estatus es desconocido inicialmente. • Por ejemplo: Caries podría referirse a si mi muela del juicio inferior izquierda tiene una caries. • • Se recomienda escribir en mayúsculas. domingo 11 de mayo de 14 Cada variable aleatoria tiene un dominio de posibles valores que puede tomar. Por ejemplo el dominio de la variable Caries podría ser ⟪cierto, falso⟫ • • • • domingo 11 de mayo de 14 Notación Básica con probabilidades Variables Aleatorias Booleanas • Caries = cierto Variables Aleatorias Discretas. Sea el dominio Tiempo • ⟪soleado,lluvioso,nublado,nevado⟫ Variables Aleatorias Continuas. Toman sus valores de los números reales. X=4.02 ¿Que son las probabilidades? domingo 11 de mayo de 14 Los valores numéricos de las probabilidades domingo 11 de mayo de 14 Consecuencias de los axiomas de probabilidad domingo 11 de mayo de 14 Variables Aleatorias domingo 11 de mayo de 14 Variables Aleatorias domingo 11 de mayo de 14 Distribución de Probabilidad domingo 11 de mayo de 14 Proposiciones mas Complejas domingo 11 de mayo de 14 Ejemplo de distribución conjunta domingo 11 de mayo de 14 La importancia de la distribución conjunta domingo 11 de mayo de 14 Probabilidad Condicional domingo 11 de mayo de 14 Distribución Condicional domingo 11 de mayo de 14 Razonamiento con probabilidades: La regla de Bayes domingo 11 de mayo de 14 1 Regla de Bayes: Forma General Regla de Bayes: Forma General • Forma general de la Regla de Bayes – Si se tiene un conjunto de proposiciones {A1, A2,..., Am} completas y mutuamente excluyente se tiene: P(Ai|B)= P(B|Ai) P(Ai) P(B|A1) P(A1)+... P(B|An) P(Am) O lo que es lo mismo, si tiene una variable aleatoria A con valores a1, a2,..., am P(ai|B)= domingo 11 de mayo de 14 P(B|ai) P(ai) P(B|a1) P(a1)+... P(B|an) P(am) 1 La de de Bayes: Ejemplo LaRegla Regla Bayes: Ejemplo • Intentemos resolver un caso real con probabilidades: – Se pretende determinar si un alumno conoce un concepto en base a la resolución de un ejercicio. • En este caso: – Hipótesis (SC): Sabe_Concepto (variable aleatoria con dos valores verdadero y falso) – Evidencia (RE): Resuelve_Ejercicio (variable aleatoria con dos valores positivo y negativo) • Aplicando la Regla de Bayes: P(sc|re)= P(re|sc) P(sc) /(P(re|sc) P(sc) + P(re| ¬ sc) P(¬ sc))=0.95 P(¬ sc |re)=0.05 • Al elegir la hipótesis más probable debemos concluir que si resuelve el ejercicio sabe el concepto domingo 11 de mayo de 14 Calculo P(sc|re)= [(0.76)*(0.80)]/[(0.76)*(0.80)+(0.18)*(0.20)]= 0.95 0.76 re 0.8 ¬re 0.04 sc ¬sc 0.2 0.18 re ¬re domingo 11 de mayo de 14 0.02 1 La Regla de Bayes: Ejemplo La Regla de Bayes: Ejemplo • Continuamos con el ejemplo: – ¿Y si hay varios ejercicios E1,..., Em? • Supondremos que cada ejercicio RE1, RE2,..., REm es una variable aleatoria que indica si se resuelve con dos valores: verdadero y falso. – Entonces si queremos calcular la probabilidad de que el alumno sepa el concepto necesitamos calcular: P(SC| E1,RE2,...,REm)=P(RE1,,...,REm|SC)P(SC)/P(RE1,RE2,...,REm) – Si al alumno se le hace un conjunto de 7 ejercicios: domingo 11 de mayo de 14 do Pérez Nava • Entonces para almacenar la tabla de probabilidad conjunta P(RE1,RE2,...,REm| SC) se necesitan guardar unos 27 números reales (un DVD por alumno). • ¿De donde sacamos los números ? • ¿Cómo hacemos los cálculos computacionalmente eficientes? 1 Independencia: Solución? Independencia¿Una ¿ Una Solución ? • Independencia – Decimos que dos proposiciones A1 y A2 son independientes si el conocimiento de una no cambia la probabilidad de la otra • Por ejemplo si – A1=“Es rubio” , A2=“Tiene la piel clara” ,A3=“Lloverá mañana” – A1 y A3 son independientes A1 y A2 no. – Formalmente A1,A2 son independientes si P(A1|A2)=P(A1) o de forma equivalente: P(A2|A1)=P(A2) o utilizando la regla del producto P(A1∧A2)= P(A1) P(A2) – Dos variables aleatorias son independientes si el conocimento del valor que toma una no cambia la probabilidad de los valores de la otra: P(A1=c|A2 =d) = P(A1=c) Programa de Doctorado de Física e Informática. Bienio 04-06. Dept. Estadística, I.O. y Computación. Universidad de la Laguna domingo 11 de mayo de 14 Fernando Pérez Nava – Entonces P(A1 ∧ A2 ∧... ∧ An)= P(A1) P(A2)... P(An) Para especificar la distribución conjunta de n variables se necesitan o(n) números en lugar de o(2n) Redes Bayesianas: Introducción domingo 11 de mayo de 14 • En una RB, la información proporcionada por una o más variables que se observan (evidencia) se propaga por la red y actualiza nuestra creencia acerca de las variables no observadas. A este proceso se le llama inferencia. • Es posible aprender las probabilidades condicionales que describen las relaciones entre las variables a partir de los datos. Incluso es posible aprender la estructura completa de la red a partir de datos completos o con algunos de sus valores desconocidos. • Las RB pueden utilizarse para tomar decisiones óptimas introduciendo posibles acciones y la utilidad de sus resultados Programa de Doctorado de Física e Informática. Bienio 04-06. Dept. Estadística, I.O. y Computación. Universidad de la Laguna domingo 11 de mayo de 14 Fernando Pérez Nava Redes bayesianas: Inferencia, Redes Bayesianas: Inferencia, Decisión y Aprendizaje 1 Decisión y Aprendizaje Redes Bayesianas: Redes Bayesianas: Utilización Utilización 1 • Algunas aplicaciones de RB en empresas – Microsoft • Answer Wizard (Office) • Diagnóstico de problemas de usuario (Aladdin) • Home Health en la red de Microsoft (MSN) – Intel • Diagnóstico de fallos de procesadores – HP • Diagnóstico de problemas de impresora – Nokia • Diagnóstico de redes celulares – Nasa • Sistema de ayuda a la decisión en misiones espaciales domingo 11 de mayo de 14 Red Bayesiana: Ejemplo Red Bayesiana:Ejemplo Diagnóstico de Problemas de Impresión (Heckerman) Programa de Doctorado de Física e Informática. Bienio 04-06. Dept. Estadística, I.O. y Computación. Universidad de la Laguna domingo 11 de mayo de 14 Fernando Pérez Nava 1 1 Red Bayesiana:Ejemplo Red Bayesiana: Ejemplo Diagnóstico de Problemas en redes celulares para Nokia (Barco y otros) Programa de Doctorado de Física e Informática. Bienio 04-06. Dept. Estadística, I.O. y Computación. Universidad de la Laguna domingo 11 de mayo de 14 Redes Bayesianas: Redes Bayesianas: Algunas Algunas Herramientas Herramientas 1 • Norsys – Programa: Netica – Descarga de: http://www.norsys.com/netica.html • Microsoft Programa de Doctorado de Física e Informática. Bienio 04-06. Dept. Estadística, I.O. y Computación. Universidad de la Laguna domingo 11 de mayo de 14 Fernando Pérez Nava – MSBNx – Descarga de: http://research.microsoft.com/adapt/MSBNx/ ¿1 Que es una red bayesiana ? ¿Qué es un Red Bayesiana (RB)? • Una RB es un grafo dirigido en el que cada nodo contiene información probabilística. • Para determinar una RB hace falta: – Un conjunto de variables aleatorias que forman los nodos de la red. Las variables pueden ser discretas o continuas – Un conjunto de enlaces dirigidos (arcos) que conectan parejas de nodos. Si hay un arco del nodo X al Y se dice que X es el padre de Y. – Cada nodo Xi tiene una distribución de probabilidad condicional: P(Xi|Padres (Xi)) que mide el efecto de los padres de ese nodo. – El grafo no tiene ciclos dirigidos (y por tanto es un grafo dirigido acíclico o DAG) Programa de Doctorado de Física e Informática. Bienio 04-06. Dept. Estadística, I.O. y Computación. Universidad de la Laguna domingo 11 de mayo de 14 Fernando Pérez Nava • El significado intuitivo de un arco desde el nodo X al Y es que X tiene una influencia directa en Y