Representación del Conocimiento Otros formalismos Licenciatura en Ciencias de la Computación. Introducción a la Inteligencia Artificial. Conocimiento – Definición El conocimiento es una mezcla de experiencia, información y “saber hacer” que actúa como marco para la incorporación de nuevas experiencias y guia la acción. Se utiliza para alcanzar una meta Genera nuevo conocimiento Resulta en gran medida dependiente de la tarea y del dominio de aplicación. PREMISA FUNDAMENTAL DE IA: Para que un sistema informático demuestre un comportamiento “inteligente” en la solución de problemas, debe poseer : •gran cantidad de conocimientos •un potente mecanismo de razonamiento. IMPORTANCIA DE UNA ADECUADA REPRESENTACION DEL CONOCIMIENTO Niveles de representación: Nivel del conocimiento Hechos, comportamiento y objetivos de los agentes. Debe existir correspondencia Nivel simbólico Símbolos manipulables por un sistema Adecuación representacional Adecuación inferencial • La representación elegida influye directamente en la eficacia y eficiencia de la solución lograda Representación:Modelado de un sistema Adquisición del conocimiento Modelo Conceptual Conceptos y relaciones No computable Modelo Formal Métodos de resolución Representa simbólicamente y organiza el conocimiento. Determina el mecanismo Semicomputable de inferencia adecuado. Representación: Modelado de un sistema Modelo Computable Bases de Conocimiento Mecanismos de inferencia Mecanismos de control Operacional Las tareas de adquisición y modelado son difíciles y costosas. Existen esquemas de representación útiles en dominios variados. Los Sistemas Basados en Conocimiento los combinan. ELEMENTOS BASICOS QUE INTERVIENEN EN EL DISEÑO DE UN SISTEMA BASADO EN EL CONOCIMIENTO (KBS) Lenguaje formal para expresar conocimiento Forma de efectuar razonamientos COMPONENTE MEDULAR DE UN KBS (Agente) BASE DE CONOCIMIENTOS (KB) Es un conjunto de representaciones de hechos acerca del mundo Conjunto de sentencias del lenguaje para la representación del conocimiento DISTINTOS FORMALISMOS FORMALISMOS LOGICOS SISTEMAS DE PRODUCCION FORMALISMOS ESTRUCTURADOS: • REDES SEMANTICAS • FRAMES • OBJETOS OTROS FORMALISMOS Sistemas de producción Newell & Simon - 1973 Utilizan elementos de la lógica Salen del marco estrictamente formal más flexibles más eficientes Pierden propiedades fundamentales como la consistencia y completitud. Sistemas de producción Los procesos del dominio se representan como acciones independientes que son integradas por el mecanismo de inferencias para resolver una tarea más general. ARQUITECTURA BASE DE CONOCIMIENTO Base de Hechos Base de Reglas Motor de Inferencias Sistemas de producción Se utilizan Reglas de Producción para representar el conocimiento IF <premisa> THEN <conclusión y/o acción> Son los elementos de deducción básicos El proceso de inferencia se basa fundamentalmente en la Regla de Inferencia de la lógica denominada MP A →B, A / ∴B Reglas de producción Es el modelo formal para representar un elemento mínimo de conocimiento IF <premisa> THEN <conclusión y/o acción> Conclusión Puede especificar Acción Estrategia La premisa puede tener conectivos lógicos <premisa> = <cláusula1 AND/OR...AND/OR cláusulak> Reglas de producción- Ejemplos Si un animal come carne entonces es carnívoro. Si un animal tiene dientes agudos y garras entonces es carnívoro. Si un animal es carnívoro y es de color marrón-claro y tiene el pelaje franjas negras, entonces es un tigre. Reglas de producción- Ejemplos Sintaxis Reglas en KAPPA-PC MakeRule( Rtigre, [], animal:grupo #= carnívoro And animal:color #= leonado And animal:pelaje #= franjas_negras, animal:especie = tigre ); Reglas de producción- Ejemplos Sintaxis Reglas en JESS (defrule apagarLuces (and (vivienda vacia) (luz encendida) ) => (printout t "La vivienda esta vacia. Las luces deben estar apagadas." crlf) (retract-string "(luz encendida)") (assert (luz apagada)) ) Sistemas de producción Cada regla es independiente del resto de las reglas en la BC. Las reglas no tienen porque estar ordenadas en la BC. Las reglas se pueden agrupar por nociones semánticas en “módulos” o “grupos”. El metaconocimiento puede ser expresado mediante reglas: metareglas Sistemas de producción Como razonamos??? Utilizando un MECANISMO DE INFERENCIA (MOTOR DE INFERENCIA) El cual determina de que forma utilizar las reglas para alcanzar el objetivo planteado Sistemas de producción Motor de Inferencia Direcciones de búsqueda: Hacia delante, Forward Chaining o guiada por los hechos. Hacia atrás, Backward Chaining o guiada por los objetivos. Implementa alguna estrategia de búsqueda dónde los operadores a aplicar son las reglas de producción. Para seleccionar las reglas candidatas en cada estado utiliza el EMPAREJAMIENTO, FILTRADO o MATCHING. Sistemas de producción Motor de Inferencia Qué dirección de encadenamiento utilizar ??? Factores a tener en cuenta Cantidad de estados iniciales vs. objetivos El menor Factor de ramificación Necesidad de justificar el razonamiento Dirección natural para el problema A veces es conveniente encarar partes del problema con cada una Sistemas de producción VENTAJAS Flexibles. Sencillos de modificar y extender. A los expertos les resulta simple “pensar en reglas”. PROBLEMAS Completitud y consistencia. El conocimiento se separa en pequeños “gránulos”. Es común que se los combine con otros formalismos. Sistemas estructurados ESTRUCTURAS DE RANURA Y RELLENO (slot and filler) REDES SEMANTICAS (Quillan 67/68) FRAMES (Minsky, 75) OBJETOS ( Década 80) ONTOLOGIAS Redes semánticas Idea: el significado de un concepto depende del modo en que se encuentre conectado a otros conceptos Representación: mediante un grafo dirigido donde los nodos representan objetos y los arcos relaciones entre los conceptos REX PERRO INSTANCIA MAMIFERO ES-UN Redes semánticas - Ejemplo Estudiante -UNR ES-UN TIENE Estudiante -FCEIA ES-UN Legajo ES-UN Estudiante -LCC INSTANCIA Pedro García TIENE Prom1 INSTANCIA INSTANCIA Estudiante -IEca INSTANCIA Juan Perez TIENE Prom2 Promedio INSTANCIA TIENE Legajo P-1233/5 Redes semánticas - Arcos Etiquetas de los arcos Generalización “es-un” relación subclase-clase Instanciación “instancia” relación objeto-clase “parte-de” relación componente-objeto Agregación definidas por el usuario Descripción Dominio de aplicación Sistemas basados en Redes semánticas Base de conocimiento En esta representación una BC es una colección de estos grafos Las modificaciones se refieren a inserción o eliminación de nodos y sus relaciones. Redes semánticas Como razonamos??? Búsqueda de intersección Encontrando relaciones entre objetos Cual es la conexión (arco) entre Rex y mamífero? Es Juan Pérez un estudiante de la UNR? Cuál es el promedio de Pedro García? Utiliza fundamentalmente la estructura jerárquica Marcos (frames) Una red semántica representa conexiones entre entidades Problemas más complejos Asignar más estructura a los nodos y a las conexiones Marcos No existe una distinción clara entre una Red semántica y un sistema de Marcos Marcos (frames) Idea: Estructura para atender la representación del conocimiento asociado a situaciones estereotípicas (Minsky) Representación: Es una colección de atributos (ranuras - slots) con valores asociados (y posibles restricciones entre valores, llamados facetas) Marcos - Estructura ENCABEZADO ATRIBUTO1 (slots) ATRIBUTOn NOMBRE ES-UN INSTANCIA VALOR1 •valores por defecto •procedimientos •relación con otros marcos VALORn Marcos - Ejemplo Estudiante FCEIA ES-UN Estudiante UNR TIENE Legajo (letra/numerodigito) TIENE Promedio (procedimiento) Estudiante Ing.Eca. ES-UN ESTUDIANTE FCEIA Juan Perez INSTANCIA Estudiante Ing.Eca. TIENE Promedio = 6,80 DIRECCION ...... (Defecto Rosario) TEL ..... TRABAJA NO (Defecto No) Sistemas de Marcos Marcos Clase Representan conceptos, o situaciones genéricas descriptos por propiedades comunes Marcos Instancia Elementos específicos. Sus propiedades se asocian con información de cada individuo De Clase: Atributos genéricos de un concepto, con valores comunes a todas sus ocurrencias. Propiedades De Instancia: Atributos con valores particulares para cada ocurrencia del concepto. Slots definidos en los marcos Clase Sistemas de Marcos Consideraciones al definir los Slots: Evitar redundancias aprovechando la herencia. Poseer información suficiente para identificar el marco clase. En un marco clase se puede definir un slot de instancia en base a otro marco clase. Los slots de instancia pueden tener uno o varios valores. En los marcos clase se pueden redefinir slots heredados para representar excepciones a la herencia. Sistemas de Marcos BASE DE CONOCIMIENTO Conjunto de marcos relacionados mediante los valores de los slots (atributos) INFERENCIA Utilizar la estructura jerárquica para heredar propiedades (valores de slots). Tener procedimientos (reglas) para hallar valores de los slots. Sistemas de Marcos Tienen mucha tradicion en IA y son antecesores de los objetos Los sistemas de marcos agregan expresividad a las redes semánticas y permiten representar conocimiento declarativo y procedimental. Marcos se utilizan para estructurar el conocimiento en Kappa-PC (shell-herramienta constructora de SE) Expresividad Sistemas de Marcos - Redes PODER EXPRESIVO Redes Semánticas Sistemas de Marcos MAS CLAROS (GRAFICA) UTILIZAN HERENCIA Lógica de predicados PRUEBAS DE COMPLETITUD Y CONSISTENCIA Objetos IIA Los vemos más como una forma de representar el mundo que como un paradigma de programación Los encontramos en muchas herramientas dentro del área. Tienen ciertas características en común con los agentes. Objetos OBJETO: Es una entidad que tiene un comportamiento. ESTADO INTERNO MENSAJES que es capaz de responder. ENCAPSULAMIENTO Permite la utilización de clases con implementaciones intercambiables. INTERFAZ Un PROGRAMA OO es una red de objetos cooperantes, que interactúan entre sí, enviándose mensajes. Cómo elegir la mejor representación??? No hay receta establecida !!! Frente a cada problema a resolver: Analizar las características del conocimiento involucrado. Recurrir a la combinación de formalismos.