Title: Sistemas Expertos Introducci
1Sistemas ExpertosIntroducciónArquitectura -
Motor de Inferencias
Ingeniería Electrónica
Ingeniería del Conocimiento
2Inicio de los Sistemas Expertos
60s
Se buscaban soluciones generales
70s
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.
3Sistemas 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.
4Sistemas 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
5Sistemas 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.
Hardware software
Fuente de pericia humana en el dominio
Específico y especializado
6Experiencia humana vs. SE.
? Los humanos son imprescindibles!!!
7SE/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.
8Primeros Sistemas Expertos
Stanford (Buchanan - Shortliffe 1976)
Diagnóstico y tratamiento de enfermedades
infecciosas (aprox. 500 reglas). Introduce
factores de certeza.
MYCIN
Conocimiento inexacto
Stanford-US Geological Survey (Duda-Gashning-Hart,
1979) Evaluación de yacimientos minerales y
petrolíferos. (aprox 1600 reglas). Probabilidades
condicionales y Teorema de Bayes.
PROSPECTOR
Carnegie Mellon (Mc Dermott) Configuración de
ordenadores VAX (aprox 500 reglas). Descompone el
diseño en distintos niveles de abstracción.
R1
Reducción espacio de búsqueda
Stanford (Stefik) Diseño de experimentos
genéticos. Utiliza abstracción.
MOLGEN
9Habilidades 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.
10Periodo industrial de la IA
Década de los 80
Importante apoyo económico a los esfuerzos de
ID. Gran cantidad de SE en distintos dominios.
Problemas con la metodología de desarrollo
Limitaciones propias del tipo de sistema.
CRISIS
Comparable a la Crisis de los SI pero posterior
11Ingeniería del Conocimiento (IC)
Crisis SI
Desarrollo de la Ingeniería del Software
Crisis SBC
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
12SBC 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.
13SBC 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
14Estructura básica de un SE/SBC.
KAT
Ingeniero del conocimiento
Usuario
Experto del dominio
15Estructura básica de un SE/SBC
Su estructura de datos queda definida en términos
del esquema de representación elegido para
incorporar el conocimiento del dominio de trabajo.
Base de Conocimientos
Separados entre sí
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.
Motor de Inferencias
16REPRESENTACION DEL CONOCIMIENTO
17PREMISA 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
18CONOCIMIENTO 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.
19Conocimiento 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.
20Niveles de representación
Nivel del conocimiento
Debe existir correspondencia
Hechos, comportamiento y objetivos de los agentes.
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
21RepresentaciónModelado de un sistema
Adquisición del conocimiento
Modelo Conceptual
Conceptos y relaciones
Métodos de inferencia
No computable
Modelo Formal
- Representa simbólicamente y
organiza el conocimiento.
- Determina el mecanismo de inferencia adecuado.
Semicomputable
22Representació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.
23- 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
24UNA KB DEBE PERMITIR CON EFICIENCIA
AÑADIR YMODIFICAR SENTENCIAS
BC
PREGUNTAS RESPUESTAS MECANISMO DE
INFERENCIAS
25PROPIEDADES DE UN BUEN FORMALISMO DE
REPRESENTACION
- ADECUACION REPRESENTACIONAL
- ADECUACION INFERENCIAL
- EFICIENCIA INFERENCIAL
- EFICIENCIA EN LA ADQUISICION- MODIFICACION
Rich Knight
26DISTINTOS 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
27DISTINTOS FORMALISMOS
- FORMALISMOS LOGICOS
- SISTEMAS DE PRODUCCION
- FORMALISMOS ESTRUCTURADOS
- REDES SEMANTICAS
- FRAMES
- OBJETOS
- ONTOLOGÍAS
28FORMALISMOS 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
29FORMALISMOS 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)
30DISTINTOS 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
31Sintaxis
- Alfabeto PROPOSICIONAL
- ?PROP que consiste de
- i) variables proposicionales p0, p1,p2,...
- ii) conectivos ?, ?, ?, ?,?
- iii) símbolos auxiliares (, )
-
-
32Introducció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.
33má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.
34Traducció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).
35Todo perro es un mamífero y Rex es un perro,
luego Rex es un mamífero..
- 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
36Por qué lógica de predicados ?
- Lógica proposicional bajo poder expresivo
- Muchas expresiones usuales no son representables
- Rex es un perro
En proposicional p (una prop. atómica)
En predicados Sujeto Rex Propiedad Ser
Perro Perro(Rex)
37Lenguaje 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
38Ejemplos 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))
39PROLOG 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 perro (Rex) ?
- preguntas como X / perro (X)?
40LOGICA 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).
41Representación del Conocimiento Otros formalismos
42DISTINTOS FORMALISMOS
- FORMALISMOS LOGICOS
- SISTEMAS DE PRODUCCION
- FORMALISMOS ESTRUCTURADOS
- REDES SEMANTICAS
- FRAMES
- OBJETOS
43OTROS 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.
44SE basados en reglas de producción
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.
Sistemas de producción
45Los sistemas de producción
46Sistemas 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
Motor de Inferencias
Base de Hechos
Base de Reglas
47SE basados en reglas de producción
Reglas de producción
IF lt CONDICION gt THEN lt ACCIONgt
SI ?X ES MAMIFERO Y ?X COME CARNE ENTONCES
?X ES CARNIVORO.
48SE 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.
49Sistemas de producción
- Se utilizan Reglas de Producción para representar
el conocimiento - IF ltpremisagt THEN ltconclusión y/o accióngt
- 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
50Reglas de producción
- Es el modelo formal para representar un elemento
mínimo de conocimiento - IF ltpremisagt THEN ltconclusión y/o accióngt
- Conclusión
- Puede especificar Acción
- Estrategia
- La premisa puede tener conectivos lógicos
- ltpremisagt ltcláusula1 AND/OR...AND/OR cláusulakgt
51Reglas 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.
52Reglas de producción- Ejemplos
- Sintaxis Reglas en KAPPA-PC
- MakeRule( Rtigre, ,
- animalgrupo carnívoro And animalcolor
leonado And - animalpelaje franjas_negras,
- animalespecie tigre )
53Sistemas 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
54Sistemas 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 .
55Sistemas 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 .
56Sistemas de producción.Un ejemplo
57Sistemas 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.
58El 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.
59El 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
res-tantes reglas, con lo cual, la ampliación de
la KB puede realizarse sin mayor problema.
60El 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
61El desarrollo de las reglas de producción para
construir la KB.
- Lo mismo ocurre con las luces no en-cienden, en
la se-gunda y tercera re-glas. - Por consiguiente, este es el único requisito que
requiere el agre-gado de nuevas re-glas.
62Sistemas 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
63La 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.
64La ejecución del proceso de inferencia en los KBS
65La 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.
66La 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.
67La 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,
en-cuentra que hay una con-cordancia en las tres
reglas.
68La 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 desen-cadena, y produce
entonces la conclusión falla la ba-tería, y el
problema queda resuelto.
69La 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.
70Sistemas 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.
71Sistemas de producción
VENTAJAS
- Flexibles.
- Sencillos de modificar y extender.
- A los expertos les resulta simple pensar en
reglas.
PROBLEMAS
Es común que se los combine con otros
formalismos.
- Completitud y consistencia.
- El conocimiento se separa en pequeños
gránulos.
72Sistemas estructurados
- ESTRUCTURAS DE RANURA Y RELLENO (slot and
filler) - REDES SEMANTICAS (Quillan 67/68)
- FRAMES (Minsky, 75)
- OBJETOS ( Década 80)
73Redes 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
MAMIFERO
ES-UN
INSTANCIA
74Redes semánticas - Ejemplo
ES-UN
TIENE
ES-UN
ES-UN
INSTANCIA
INSTANCIA
INSTANCIA
TIENE
TIENE
INSTANCIA
INSTANCIA
75Redes semánticas - Arcos
- Etiquetas de los arcos
- es-un relación subclase-clase
- instancia relación objeto-clase
- parte-de relación componente-objeto
- definidas por el usuario
Generalización
Instanciación
Agregación
Descripción
Dominio de aplicación
76Sistemas 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.
77Redes 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
78Marcos (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
79Marcos (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)
80Marcos - Estructura
- NOMBRE
- ENCABEZADO ES-UN
- INSTANCIA
- ATRIBUTO1 VALOR1
- ATRIBUTOn VALORn
- valores por
- defecto
- procedimientos
- relación con
- otros marcos
(slots)
81Marcos - 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)
82Sistemas de Marcos
MC Actores Interpreta Si ()Nombre Conj
Caracteres ()Peliculas (0..100) ()Fecha1aPelicu
la
MC Fecha ()Dia (1..31) ()Mes (0..120) ()Año
1900..2005
Instancia
Instancia
MC Actor Sexo M ()ParejaMiticaCon
MC Actriz Sexo F ()ParejaMiticaCon
Instancia
Instancia
Instancia
MI - 2232 Dia 27 Mes 3 Año 1944
MI - 7543 Nombre H.Bogart Fecha1aPelicula Pareja
MiticaCon
MI - 8832 NombreL.Bacall Peliculas
42 ParejaMiticaCon
83Sistemas de Marcos
Representan conceptos, o situaciones genéricas
descriptos por propiedades comunes
Marcos Clase
Elementos específicos. Sus propiedades se asocian
con información de cada individuo
Marcos Instancia
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
84Sistemas 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.
85Sistemas 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.
86Marcos 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.
87Sistemas 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.
88Sistemas 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
89Objetos
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.
90Objetos
Década del 80
Pensados como gran aporte para el Reuso
BALA DE PLATA
Actualmente se apunta a relaciones
arquitecturales entre clases para lograr
Evolución y Mantenibilidad
Patrones de diseño
91Objetos
OBJETO Es una entidad que tiene un
comportamiento.
ESTADO INTERNO
MENSAJES que es capaz de responder.
ENCAPSULAMIENTO
INTERFAZ
Permite la utilización de clases con
implementaciones intercambiables.
Un PROGRAMA OO es una red de objetos cooperantes,
que interactúan entre sí, enviándose mensajes.
92Objetos
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. - INTERFAZ conjunto de métodos. Los objetos
concretos buscan en su clase la definición cuando
reciben un mensaje.
CLASE
93Objetos
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.
94Có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.