IC-SBC1-2009.pdf

Anuncio
Sistemas Expertos
Introducción
Arquitectura - Motor de Inferencias
Ingeniería Electrónica
Ingeniería del Conocimiento
IC - MODULOS
• INTRODUCCION
• SISTEMAS BASADOS EN
CONOCIMIENTO
• RAZONAMIENTO APROXIMADO
• FUZZY SYSTEMS
• APRENDIZAJE
• AGENTES INTELIGENTES
INGENIERIA DEL CONOCIMIENTO
Conjunto de Conocimientos y Técnicas que
permiten aplicar el saber científico a la utilización del
conocimiento.
ADQUISICION
QUE SE OCUPA DE LA
REPRESENTACION
INFERENCIA
MANTENIMIENTO
INGENIERIA DEL CONOCIMIENTO
• Es la disciplina tecnológica que se centra en el
desarrollo, funcionamiento y mantenimiento de
Sistemas Basados en Conocimiento (SBC – KBS) de
una forma sistemática, disciplinada y cuantificable
(utilizando Ingeniería de Software)
• SBC: sistema de software capaz de soportar la
representación explícita de 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
Estructura básica de un SE/SBC.
Ingeniero del
conocimiento
Experto del
dominio
K
A
T
Base de
Conocimientos
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.
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.
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
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.
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
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)
OBJETIVO: ESTABLECER LA VALIDEZ DE
DISTINTOS RAZONAMIENTOS OBTENER CONCLUSIONES DE UN CONJUNTO
DE FORMULAS
Sintaxis
Lenguaje PROPOSICIONAL
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
– El auto no arranca.
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) .
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.
Mundo Exterior
Memoria de
trabajo (Hechos)
Motor de Inferencias
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.
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 reglas
aparece como un gránulo
de conocimiento que es
independiente de las restantes reglas
– 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.
• El
matching
será
exacto
(string
to
string)
• Hay que tenerlo en
cuenta para 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”.
es necesario ingresar esta información en la memoria de
trabajo (KBS), para obtener una solución o respuesta al
problema.
la interfaz de este KBS, deberá proveer los medios (ej.
unos cuadros de diálogo), 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 el
hecho “el motor no
arranca”, que ingresará
a la memoria de trabajo
del KBS.
La ejecución del proceso de
inferencia en los KBS
• ingresarán otros dos
hechos 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 inferencia,
consiste en tomar cada una de
estos hechos y explorar la KB
buscando coincidencias en las
premisas de cada una de las
reglas.
• Con “el motor no arranca”,
encuentra que hay una concordancia en las tres reglas.
La ejecución del proceso de
inferencia en los KBS
• Con “las luces no encienden”
solo hay concordancia en la
primera regla, 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
este proceso de comparación que explora cada
una de las reglas, es prácticamente independiente
del orden en que se encuentren 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
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
Estudiante -IEca
INSTANCIA
Pedro García
TIENE
Prom1
INSTANCIA
Juan Perez
TIENE
Prom2
INSTANCIA
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:
(*)Dia: (1..31)
(*)Mes: (0..120)
(*)Año: 1900..2009
Instancia
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
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.
Descargar