Sistemas Expertos Introducción Arquitectura - Motor de Inferencias Ingeniería Electrónica Ingeniería del Conocimiento Inicio de los Sistemas Expertos 60´s 70´s Se buscaban soluciones generales Los sistemas son más eficientes en dominios acotados La calidad y cantidad de conocimiento son esenciales para una buena performance Es importante independizar el conocimiento del dominio, del mecanismo de inferencia. Sistemas basados en conocimiento (SBC-KBS) Definiciones. Sistemas que resuelven problemas aplicando una representación simbólica de la experiencia humana. Jackson. Sistemas que representan el conocimiento sobre el dominio en forma explícita y separada del resto del sistema. Waterman. Sistemas basados en conocimiento (SBC-KBS) Definiciones. Sistemas de software capaz de soportar la representación explícita del conocimiento de un dominio específico y de explotarlo a través de mecanismos apropiados de razonamiento para proporcionar un comportamiento de alto nivel en la resolución de problemas. Guida y Taso Sistemas Expertos: Definición. Es un sistema de cómputo capaz de simular la conducta inteligente de un experto humano en un dominio específico y especializado, con el objeto de resolver problemas. Sistema de computación Hardware + software Simulación Conducta inteligente Experto Dominio limitado Fuente de pericia humana en el dominio Específico y especializado Experiencia humana vs. SE. PERICIA ARTIFICIAL Permanente Siempre accesible Fácil de documentar Estable, confiable Costo manejable Fragilidad de las máquinas Sin inspiración Conocimiento técnico Estática - Dinámica Dominios estrechos PERICIA HUMANA Perecedera No siempre accesible No documentable Variable, flexible Costosa Fragilidad humana Creativa Sentido común Dinámica (aprendizaje) Dominios más extensos Los humanos son imprescindibles!!! SE/SBC: Tareas Síntesis: Clasificación, diagnóstico Tareas abordadas Análisis: Planificación, diseño o modelado Las áreas de aplicación son muy variadas !!! Los SBC abordan problemas complejos en dominios específicos en los que el peso de las heurísticas para acotar el espacio de búsqueda es importante. Primeros Sistemas Expertos MYCIN PROSPECTOR INTERNIST CASNET R1 MOLGEN Stanford (Buchanan - Shortliffe 1976): Diagnóstico y tratamiento de enfermedades infecciosas (aprox. 500 reglas). Introduce factores de certeza. Stanford-US Geological Survey (Duda-GashningHart, 1979): Evaluación de yacimientos minerales y petrolíferos. (aprox 1600 reglas). Probabilidades condicionales y Teorema de Bayes. Pittsburg (Pople-Myers, 1977): Diagnóstico en Medicina interna. CADUCEUS: Analiza relaciones causales. Rutgens (Kulikowsky-Weiss-Safir, 1977): Oftalmología. Aplica un modelo causal para el diagnóstico de glaucoma. Carnegie Mellon (Mc Dermott): Configuración de ordenadores VAX (aprox 500 reglas). Descompone el diseño en distintos niveles de abstracción. Stanford (Stefik): Diseño de experimentos genéticos. Utiliza abstracción. Conocimiento inexacto Razonamiento experto Modelos causales Reducción espacio de búsqueda Habilidades que se esperan de un SE Manipular con fluidez descripciones simbólicas. Buena perfomance, comparable al menos a la de los especialistas. Interfaz amigable, adecuada a las necesidades de la aplicación. Habilidad para manipular conocimiento incompleto e impreciso. Capacidad de explicar sus decisiones a los usuarios. Posibilidad de justificar sus conclusiones. Periodo industrial de la IA Década de los 80 Importante apoyo económico a los esfuerzos de I+D. Gran cantidad de SE en distintos dominios. Problemas con la metodología de desarrollo Limitaciones propias del tipo de sistema. Comparable a la Crisis de los SI pero posterior CRISIS Ingeniería del Conocimiento (IC) Crisis SI Crisis SBC Desarrollo de la Ingeniería del Software Desarrollo de la Ingeniería del Conocimiento La Ingeniería del Software consiste en la aplicación de una aproximación sistemática, disciplinada y cuantificable al desarrollo, funcionamiento y mantenimiento del software. (IEEE, 1999) La IC tiene los mismos objetivos respecto de los SBC SBC: Ventajas El conocimiento no se pierde. Reducción del espacio de búsqueda con heurísticas para que el problema sea tratable en un tiempo razonable. Manejo de conocimiento incierto e incompleto. Posibilidad de justificar el razonamiento seguido. Hacer el conocimiento disponible en ambientes hostiles o con carencia de especialistas. Aumento de fiabilidad, evitando que prevalezcan las últimas experiencias. Modificación sencilla de la BC por su característica modular. SBC: Inconvenientes La adquisición del conocimiento es difícil y cara. La reutilización del conocimiento en contextos diferentes no es simple. Falta de creatividad y sentido común. Obstáculos para el aprendizaje y la adaptación. Quedan inmersos en el campo de los Sistemas Inteligentes. Se trabaja sobre metodología de desarrollo Se los combina con otras tecnologías Estructura básica de un SE/SBC. Ingeniero del conocimiento Experto del dominio K Base de A Conocimientos T Motor de Inferencias I n t e r f a c e U s u a r i o Estructura básica de un SE/SBC Base de Conocimientos Su estructura de datos queda definida en términos del esquema de representación elegido para incorporar el conocimiento del dominio de trabajo. Separados entre sí Motor de Inferencias Es la estructura de control de un SE, contiene el programa que gestiona la BC y otros mecanismos necesarios para administrar un sistema de naturaleza interactiva. REPRESENTACION DEL CONOCIMIENTO 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 y un potente mecanismo de razonamiento. IMPORTANCIA DE UNA ADECUADA REPRESENTACION DEL CONOCIMIENTO •CONOCIMIENTO DEL MUNDO (en IA) : Es la habilidad para construir un modelo de los objetos, sus vinculaciones y de las acciones que pueden realizar. •REPRESENTACION DEL CONOCIMIENTO Es la expresión mediante algún lenguaje, de un modelo que exprese el conocimiento sobre el mundo. 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. 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 inferencia 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 UNA KB DEBE PERMITIR CON EFICIENCIA: AÑADIR YMODIFICAR SENTENCIAS BC PREGUNTAS RESPUESTAS MECANISMO DE INFERENCIAS PROPIEDADES DE UN BUEN FORMALISMO DE REPRESENTACION: • • • • ADECUACION REPRESENTACIONAL ADECUACION INFERENCIAL EFICIENCIA INFERENCIAL EFICIENCIA EN LA ADQUISICIONMODIFICACION Rich & Knight DISTINTOS PARADIGMAS: • DECLARATIVO Descripción del estado del mundo • PROCEDIMENTAL Expresión de las transformaciones de estados • ORIENTADO A OBJETOS Descripción de los objetos existentes DISTINTOS FORMALISMOS FORMALISMOS LOGICOS SISTEMAS DE PRODUCCION FORMALISMOS ESTRUCTURADOS: • • • • REDES SEMANTICAS FRAMES OBJETOS ONTOLOGÍAS FORMALISMOS LOGICOS Constituyen sistemas formales en los cuales: ♦ SINTAXIS Y SEMANTICA ESTA BIEN DEFINIDA ♦ HAY UNA TEORIA DE LA DEMOSTRACION •Completa y Consistente LA LOGICA DE 1er ORDEN Es la base de la mayoría de los esquemas de representación FORMALISMOS LOGICOS • Conocimiento es representado mediante un conjunto de fórmulas bien formadas (fbfs) en algún sistema lógico (proposicional predicados - multivaluada...) • Los mecanismos de inferencia son los métodos deductivos del sistema lógico (Resolución en predicados) DISTINTOS SISTEMAS LOGICOS: ♦LOGICA PROPOSICIONAL ♦LOGICA DE PREDICADOS ♦LOGICAS NO-CLASICAS – MULTIVALUADAS (Fuzzy Logic) – MODALES OBJETIVO: ESTABLECER LA VALIDEZ DE DISTINTOS RAZONAMIENTOS OBTENER CONCLUSIONES DE UN CONJUNTO DE FORMULAS Sintaxis Alfabeto PROPOSICIONAL ΣPROP que consiste de: i) variables proposicionales p0, p1,p2,... ii) conectivos ¬, ∧, ∨, →,↔ iii) símbolos auxiliares: (, ) Introducción Informal • Proposición: Una oración afirmativa de la cual podemos decir que es verdadera o falsa (pero no ambas!!) • Ejemplos de Proposiciones: – Ayer llovió en Rosario. – El sol gira alrededor de la tierra. –2.3=3+3 – 3 es primo. – El auto no arranca. más proposiciones... – Si ayer llovió en Rosario, entonces el intendente se mojó. – El sol gira alrededor de la tierra o la tierra gira alrededor del sol. – 2 . 3 = 6 y 6 es impar – El auto no arranca y las luces encienden. Traducción al lenguaje Lógico • Las oraciones compuestas se traducen usando los conectivos – Ejemplos: • El auto no arranca y las luces encienden (p0 ∧ p1). • Si las luces encienden, entonces la batería está ok (p1 → p2) . • 2 . 3 = 6 o 6 es impar (p3 ∨ p4). Todo perro es un mamífero y Rex es un perro, luego Rex es un mamífero.. ∀x (Perro(x)→ Mamífero (x) Perro (Rex) Mamífero (Rex) ∀x. P(x) P(Rex) • La corrección de este razonamiento depende de la relación entre los sujetos de las proposiciones. • Lógica proposicional NO es suficientemente expresiva para captar esta relación Por qué lógica de predicados ? • Lógica proposicional : bajo poder expresivo • Muchas expresiones usuales no son representables En proposicional: • « Rex es un perro » p (una prop. atómica) En predicados: Sujeto: Rex Propiedad: Ser Perro Perro(Rex) Lenguaje de lógica de predicados • símbolos para denotar objetos - sb. de constante (ej. Rex, 2, π) - sb. de variable (ej. x, y, z) - sb. de función (ej. +, *, Padre) etc que permiten crear nuevos nombres de objetos • símbolos de propiedades y de relaciones (Es-perro) • conectivos • cuantificadores Ejemplos de traducción • Si algunos perros son mamíferos, luego todos son mamíferos (∃ x) (P(x) ∧ M(x)) → ∀x (P(x) → m(x)) • Todo número es par o impar (∀x) (N(x) → P(x) ∨ I(x)) • Ningún número es a la vez par e impar ¬(∃x) (P(x) ∧ I(x)) PROLOG: Una implementación de programación lógica LOGICA DE PREDICADOS + DEDUCCIÓN AUTOMÁTICA (RESOLUCION) • Dada la BC y una fórmula α podemos probar que » BC - α Podemos contestar preguntas como perro (Rex) ? X / perro (X)? LOGICA DE PREDICADOS COMO FORMALISMO DE REPRESENTACION VENTAJAS: Es un formalismo bien establecido con una sintaxis y semántica bien definida y que maneja fácilmente aspectos cuantificación. Automatización de la deducción LIMITACIONES: Existen límites en el poder expresivo: • posibilidades, incertidumbre, Problemas en la implementación de otros tipos de razonamientos (aproximados, no-monótonos). Representación del Conocimiento Otros formalismos 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. SE basados en reglas de producción Sistemas de producción BC (Reglas) Newell y Simon (1972): Al resolver problemas, las personas utilizan su memoria a largo plazo (permanente) que aplican a situaciones actuales contenidas en su memoria a corto plazo (transitoria). Esto puede generar modificaciones en la última. Memoria de trabajo (Hechos) Motor de Inferencias Mundo Exterior Los sistemas de producción 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 SE basados en reglas de producción Reglas de producción IF < CONDICION > THEN < ACCION> Son “gránulos” de conocimiento. Reúnen información relativa a las condiciones de disparo y a los efectos resultantes del disparo. Son estructuras bidireccionales. SI ?X ES MAMIFERO Y ?X COME CARNE ENTONCES ?X ES CARNIVORO. SE basados en reglas de producción Ventajas: Naturaleza modular: El conocimiento es fácil de encapsular y expandir. Explicaciones sencillas: El registro de reglas disparadas permite presentar la cadena de razonamiento asociada. Semejanza con el proceso cognitivo humano: modelo natural del razonamiento humano. Dificultades: Completitud y consistencia como responsabilidad del desarrollador. Se necesitan otras estructuras para lograr una visión global del conocimiento del dominio. Se las combina con otros formalismos de representación. 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> Puede especificar Conclusión 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 ); 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. Un ejemplo de regla Un especialista que participa en el desarrollo de un sistema basado en conocimiento relativo al diagnóstico de una falla en un auto, podrá expresar: “ si el motor no arranca y las luces no encienden, entonces la falla está en la batería ”. Sistemas de producción. Un ejemplo de regla A partir de esta expresión, se puede definir la regla de producción asociada a las proposiciones como: If el motor no arranca And las luces no encienden, Then la falla está en la batería . Sistemas de producción. Un ejemplo Sistemas de producción. Un conjunto de reglas If el motor no arranca And las luces no encienden Then falla la batería. If el motor no arranca And las luces encienden And llega combustible Then falla el sistema de ignición. If el motor no arranca And las luces encienden And no llega combustible Then falla el sistema de combustible. El desarrollo de las reglas de producción para construir la KB. • Debe observarse que las reglas no están identificadas, por ejemplo: con una numeración correlativa. El desarrollo de las reglas de producción para construir la KB. • Cada una de estas re-glas aparece como un gránulo de conoci-miento que es inde-pendiente de las restantes reglas, con lo cual, la ampliación de la KB puede realizarse sin mayor problema. El desarrollo de las reglas de producción para construir la KB. • Sin embargo, desde el punto de vista del motor de inferencia, estas reglas deben estar relacionadas para que puedan ser interpretadas adecuadamente durante el proceso de inferencia. • Por ejemplo; la premisa “el motor no arranca” El desarrollo de las reglas de producción para construir la KB. • Lo mismo ocurre con “las luces no encienden”, en la segunda y tercera reglas. • Por consiguiente, este es el único requisito que requiere el agregado de nuevas reglas. 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 La ejecución del proceso de inferencia en los KBS Supóngase que se observa una falla en motor del auto y se constata que: “no arranca el motor, ni encienden las luces, y llega combustible”. Desde el enfoque del KBS, es necesario ingresar esta información en la memoria de trabajo, para obtener una solución o respuesta al problema. Entonces, la interfaz de este KBS, deberá proveer unos cuadros de un diálogo orientado, que permita ingresar las observaciones del caso. La ejecución del proceso de inferencia en los KBS La ejecución del proceso de inferencia en los KBS • La respuesta seleccionada en el primer cuadro de diálogo, origina la plantilla “el motor no arranca”, que ingresará a la memoria de trabajo del KBS. La ejecución del proceso de inferencia en los KBS • Continuando con el diálogo orientado, ingresarán otras dos plantillas a la memoria de trabajo: “las luces no encienden” y “llega combustible”. La ejecución del proceso de inferencia en los KBS • El proceso de ejecución que realiza el motor de inferen-cia, consiste en tomar cada una de estas plantillas, y explorar la KB buscando coincidencias en las premisas de cada una de las reglas. • Con la primera plantilla, “el motor no arranca”, encuentra que hay una concordancia en las tres reglas. La ejecución del proceso de inferencia en los KBS • Con la segunda plantilla “las luces no encienden”, solo hay concordan-cia en la primera regla, y la segunda y tercera reglas quedan descartadas. • La primera regla se desencadena, y produce entonces la conclusión: “falla la batería”, y el problema queda resuelto. La ejecución del proceso de inferencia en los KBS Por último cabe observar que este proceso de comparación que explora cada una de las reglas, es prácticamente independiente del orden en que se encuentren dispuestas las mismas en la KB. Este proceso de inferencia en los KBS, es denominado: sistema de inferencia por filtrado (pattern maching inference system), o simplemente, filtrado. 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. Para seleccionar las reglas candidatas en cada estado utiliza el EMPAREJAMIENTO, FILTRADO o MATCHING. 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) 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 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 estereotipadas (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 VALORn otros marcos 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 MC Actores MC Fecha Interpreta: Si (*)Nombre: Conj Caracteres (*)Peliculas: (0..100) (*)Fecha1aPelicula: Instancia (*)Dia: (1..31) (*)Mes: (0..120) (*)Año: 1900..2005 MC Actriz Instancia MC Actor Sexo: F (*)ParejaMiticaCon: Sexo: M (*)ParejaMiticaCon: Instancia Instancia MI - 8832 MI - 7543 Nombre:L.Bacall Peliculas: 42 ParejaMiticaCon: Nombre: H.Bogart Fecha1aPelicula: ParejaMiticaCon: Instancia MI - 2232 Dia: 27 Mes: 3 Año: 1944 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 Facetas Modelan características de slots y relaciones Algunas facetas declarativas usuales: Tipo de Slot: Tipo de datos de los valores, puede apuntar a otro marco. Cardinalidad: Cantidad de valores posibles. Valores permitidos: tipo de datos, rango o puntero a otro marco. Valores por defecto: Para slots de instancia si quedan sin definir. Marcos – Facetas/Métodos Hay facetas ligadas a métodos de uso frecuente, asociados a cambios o utilización de los valores de las ranuras: When_needed: Formas de conseguir el valor cuando se lo necesita y no está disponible. Before_changed: Restricciones propias del dominio. After_changed: Acciones pertinentes asociadas a los cambios de valor de la ranura. When_accessed: Acciones pertinentes cuando la ranura es accedida de alguna forma. 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 Objetos 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 Década del 80 Pensados como gran aporte para el Reuso Actualmente se apunta a relaciones arquitecturales entre clases para lograr Evolución y Mantenibilidad BALA DE PLATA Patrones de diseño 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. Objetos Una CLASE es una definición de las características comunes de un conjunto de objetos semejantes. ESTRUCTURA: Conjunto de variables de clase e instancia. CLASE INTERFAZ: conjunto de métodos. Los objetos concretos buscan en su clase la definición cuando reciben un mensaje. Objetos Las CLASES se organizan en jerarquías modelizando el dominio Esquema de colaboración entre objetos (explícito en el código) De Estructura: Más estática. HERENCIA De Comportamiento: Ocurre en ejecución. Cuando un objeto recibe un mensaje, busca el código en su clase, y si no lo encuentra recorre la jerarquía. 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.