Post on 28-Mar-2020
Introducción a los Sistemas Basados en el Conocimiento Resolución de problemas y conocimiento
Resolución general de problemas
Los métodos de resolución de problemas que hemos visto son deaplicación generalSe fundamentan en una función heurística para obtener el orden deexploración de solucionesLa capacidad expresiva de los heurísticos es reducidaUna única función no puede representar todas las decisiones deexploración en el problemaEl ahorro en coste computacional es limitadoCon conocimiento más específico se podrían tomar mejores decisiones
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 1 / 10
Introducción a los Sistemas Basados en el Conocimiento Resolución de problemas y conocimiento
De los Sistemas Expertos a los SBC
Sistemas ExpertosEl objetivo es emular la capacidad de resolución de expertos humanosSe construyen por procesos de ingeniería del conocimientoBasados principalmente en sistemas de reglas de producciónSistemas cerrados con poca capacidad de aprendizaje
Sistemas Basados en el ConocimientoEl objetivo es usar conocimiento del dominio para solucionarproblemasIncluyen procesos automáticos de adquisición del conocimiento alproceso de ingeniería del conocimientoMetodologías y arquitecturas heterogéneas (reglas, casos, modeloscualitativos, agentes inteligentes, computación emergente, ...)Sistemas adaptables con capacidad de aprendizaje
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 3 / 10
Introducción a los Sistemas Basados en el Conocimiento Características
Características de los SBC
Los SBC se aplican a problemas complejos donde los sistemasconvencionales de software no son suficientes.La naturaleza de estos problemas requieren ciertas características:
Flexibilidad para abordar diferentes problemasEmulación de comportamiento racional como mecanismo de resoluciónOperar en un entorno rico y con mucha informaciónUso de información simbólica en el proceso de razonamientoUso de interfaces naturales en su comunicación con el usuarioCapacidad de aprendizaje como método de adaptación
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 4 / 10
Introducción a los Sistemas Basados en el Conocimiento Características
Características de los SBC
En la construcción de sistemas con estas características:Deberemos mantener el conocimiento del dominio y de resolución deproblemas separado del mecanismo de control de la resoluciónDeberemos incorporar conocimiento heurístico en la resolución(incompleto, aproximado, no sistemático).Deberemos permitir una interacción estrecha con el usuario y/oentorno
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 5 / 10
Introducción a los Sistemas Basados en el Conocimiento Características
Áreas de la IA involucradas en los SBC
Las características que buscamos en los SBC y el tipo de habilidades quenecesitan hacen que se combinen diferentes áreas de la inteligenciaartificial en su diseño y construcción, entre ellas:
Representación del conocimiento (conocimiento sobre dominio, sobrela resolución, heurísticas, ...)Razonamiento e inferencia (lógica clásica, incompletitud,incertidumbre, tiempo, ...)Búsqueda heurística/Resolución de problemasTratamiento del lenguaje natural (interfaces)Aprendizaje automático (adquisición del conocimiento del dominio,adaptación, ...)
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 6 / 10
Introducción a los Sistemas Basados en el Conocimiento Uso de los SBC
Necesidad de los SBC
Disponer del conocimiento de expertos altamente cualificadosPoder ayudar/formar expertos/no expertosPreservar el conocimiento de expertosObtener soluciones rápidas y justificadasTratar grandes volúmenes de informaciónTener sistemas que tomen decisiones autónomas
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 7 / 10
Introducción a los Sistemas Basados en el Conocimiento Uso de los SBC
Problemas resolubles mediante SBC
Han de tener una complejidad suficiente que justifique el coste de sudesarrolloHan de estar correctamente dimensionadosHemos de poder disponer del conocimiento experto necesarioHemos de poder plantear el problema como un proceso derazonamientoHan de poder estructurarse adecuadamenteNo tienen una solución mediante técnicas tradicionalesTenemos expertos cooperativos
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 8 / 10
Introducción a los Sistemas Basados en el Conocimiento Uso de los SBC
Problemas de los SBC
FragilidadDificultad del control del razonamientoPoca reusabilidad del conocimiento o las estrategias de resoluciónDifícil integración del aprendizaje en el sistemaDificultad de adquirir el conocimiento a partir de expertosDificultad en la validación de la correctitud/completitud del sistema
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 9 / 10
Introducción a los Sistemas Basados en el Conocimiento Uso de los SBC
Áreas de aplicación de los SBC
Se pueden encontrar en cualquier dominio en el que se necesite unconocimiento especializadoExisten aplicaciones en multitud de dominios (medicina, ingeniería,predicción meteorológica, banca, ...)Problemas que involucran el análisis de un conjunto de evidencias(interpretación, diagnóstico, supervisión, predicción, ...)Problemas que involucran la construcción de una solución (diseño,planificación, configuración, ...)
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 10 / 10
Arquitectura de los SBC Componentes de los SBC
Componentes de los SBC
Subsistema de
Justificación e
inspección
aprendizaje
Subsistema dealmacenamiento
del conocimiento
Subsistema de
uso e
Subsistema de
interpretacion
del conocimientoSubsistema de
del estado
almacenamiento
Subsistema de comunicacion con el usuario
Subsistema de Razonamiento
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 2 / 23
Arquitectura de los SBC SBC basados en sistemas de producción
SBC basados en sistemas de producción
La resolución se obtiene a partir del proceso de razonamiento de unmotor de inferenciaEl conocimiento del dominio está expresado mediante una ontologíaEl conocimiento de resolución de problemas está almacenadohabitualmente como reglas de producción o un formalismo equivalente
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 3 / 23
Arquitectura de los SBC SBC basados en sistemas de producción
Almacenamiento del conocimiento
Almacenará todo el conocimiento para resolver problemas en eldominio de aplicaciónEncontraremos tres tipos de conocimiento:
Conocimiento factual (objetos del dominio y sus características)Conocimiento relacional (relaciones entre los objetos del dominio)Conocimiento condicional (conocimiento deductivo sobre el problema)
Los dos primeros conocimientos están descritos mediante la ontologíade dominioEl tercer conocimiento describirá el conocimiento relacionado con laresolución
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 4 / 23
Arquitectura de los SBC SBC basados en sistemas de producción
Almacenamiento del conocimiento: Reglas
El conocimiento condicional incluye:Conocimiento deductivo (estructural): Describe los procesos deresolución de problemas como cadenas de deducciónConocimiento sobre objetivos (estratégico): Orienta el proceso deresoluciónConocimiento causal (de soporte): Apoya al proceso de explicación dela resolución
Módulos de reglasPermite facilitar el desarrollo y el mantenimiento del sistemaPermite aumentar la eficiencia del proceso de razonamientoPermite implementar estrategias de uso del conocimiento(meta-conocimiento, meta-reglas)
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 5 / 23
Arquitectura de los SBC SBC basados en sistemas de producción
Almacenamiento del conocimiento: Meta-Reglas
Describen conocimiento a alto nivel sobre la resolución del problemaPermiten dirigir el control de la resolución
Activar y desactivar reglas/módulosDecidir el orden de ejecución de reglas/módulosDecidir estrategias de resolución, tratamiento de excepciones,incertidumbre, ...
Son más difíciles de obtener de los expertos
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 6 / 23
Arquitectura de los SBC SBC basados en sistemas de producción
Uso e interpretación del conocimiento
Es habitualmente un motor de inferenciaAplicará su ciclo de ejecución para resolver el problema
Detección de reglas aplicablesSelección de la mejor regla (estrategia general o guiada por elmetaconocimiento)Aplicación de la regla
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 7 / 23
Arquitectura de los SBC SBC basados en sistemas de producción
Almacenamiento del estado
Guarda los datos iniciales del problema y los hechos obtenidos duranteel proceso de resoluciónPuede guardar otro tipo de información necesaria para el control de laresolución y otros subsistemas
Orden de deducción de los hechosPreferencias sobre el uso de los hechosReglas que generaron los hechosReglas activadas recientementePuntos de backtracking...
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 8 / 23
Arquitectura de los SBC SBC basados en sistemas de producción
Justificación de la solución
La posibilidad de justificar las decisiones da credibilidad al sistemaTambién permite detectar deducciones erróneasUn sistema debería poder contestar Porqué y CómoDiferentes niveles de justificación:
Muestra: Traza de los pasos de resoluciónJustificación: Razones de los elementos que aparecen en la traza de laresolución (linea de razonamiento, preguntas, hechos, preferencias,subproblemas, ...)
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 9 / 23
Arquitectura de los SBC SBC basados en sistemas de producción
Aprendizaje
Por lo general el conjunto de problemas que se resuelven está acotadoEn algunos dominios es necesario adaptarse al entorno y resolvernuevos problemasEl aprendizaje puede suceder:
Durante el proceso de construcción del SBC: Se substituye ocomplementa el proceso de adquisición con métodos de aprendizajeinductivo, se construye un modelo a partir de ejemplosDurante el proceso de resolución: Se detectan y corrigen lasresoluciones erróneas, se aprenden reglas de control que mejoran laeficiencia del proceso de resolución
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 10 / 23
Arquitectura de los SBC SBC basados en Razonamiento Basado en Casos
Razonamiento basado en casos
La resolución de un problema se obtiene identificando una soluciónanterior similarVentajas:
Reducen el problema de extracción del conocimientoFacilitan el mantenimiento/corrección/extensión del sistemaPermite una resolución más eficientePermite explicaciones mas cercanas a la experiencia del usuario
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 11 / 23
Arquitectura de los SBC SBC basados en Razonamiento Basado en Casos
Ciclo de ejecución
Consta de cuatro fases1 Recuperación: Búsqueda de los casos almacenados más similares2 Reuso: Obtenemos la solución del caso recuperado3 Revisión: Evaluamos y adaptamos la solución recuperada4 Retención: Comprobamos si es interesante guardar el caso
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 12 / 23
Arquitectura de los SBC SBC basados en Razonamiento Basado en Casos
Ciclo de ejecución
del dominio
Conocimiento
ResueltoCaso
Caso
Revisado
CasoAprendido
CasoRecuperado
NuevoCaso
NuevoCaso
Casos
Retención
Reuso
Recuperación
Revisión
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 13 / 23
Arquitectura de los SBC SBC basados en Razonamiento Basado en Casos
Almacenamiento del conocimiento
El conocimiento estará formado por casosUn caso es una estructura compleja (características, solución)Se almacenarán en la base de casos (estructura, indexación)Tendremos también conocimiento para:
Evaluar la similaridad entre los casosCombinar/Adaptar las soluciones recuperadasEvaluar las soluciones
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 14 / 23
Arquitectura de los SBC SBC basados en Razonamiento Basado en Casos
Uso e interpretación del conocimiento
Se basa en el ciclo de ejecución de razonamiento basado en casosBúsqueda en la base de casos de los casos más similaresRecuperación de las soluciones de los casosCombinación/adaptación de soluciones (procedimientos/razonamiento)
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 15 / 23
Arquitectura de los SBC SBC basados en Razonamiento Basado en Casos
Almacenamiento del estado
Información del caso actualCálculo de los casos más similaresRazonamiento para la evaluación/combinación/adaptación de lassoluciones
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 16 / 23
Arquitectura de los SBC SBC basados en Razonamiento Basado en Casos
Justificación - Aprendizaje
JustificaciónEs parte de la información de los casosSe complementará con el razonamiento sobre lacombinación/adaptación de las soluciones
AprendizajeAñadir nuevos casos (mas sencillo que en los sistemas de reglas)La solución debe ser suficientemente diferente (evaluación)Podemos olvidar casos (poco usados, parecidos a otros)
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 17 / 23
Arquitectura de los SBC Otras metodologías
Otras metodologías
Sistemas basados en redes neuronalesRazonamiento basado en modelosAgentes Inteligentes/Sistemas Multiagente
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 18 / 23
Arquitectura de los SBC Otras metodologías
Redes neuronales
Dentro del área de la Inteligencia Artificial conexionistaEl elemento base es la neurona (elemento de cómputo)Neurona: Entradas, salidas, estado, funciónes para la combinación delas entradas y el estado y función para generar la salidaLas neuronas se organizan en redes con diferentes capasLa red asocia unas entradas (datos del problema) a unas salidas(solución del problema)La red se debe entrenar (ejemplos resueltos) para que aprenda aresolver el problema (asociación)
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 19 / 23
Arquitectura de los SBC Otras metodologías
Redes neuronales
s
ent1
ent2
ent3
f(ent1,...,peso1,...)peso2
peso1
peso3
Combinacion Activacion
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 20 / 23
Arquitectura de los SBC Otras metodologías
Redes neuronales
Capa deEntrada
Capa deSalida
Capas OcultasE
JEM
PL
OS
RE
SP
UE
ST
A
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 21 / 23
Arquitectura de los SBC Otras metodologías
Razonamiento basado en modelos
Construimos un modelo del comportamiento del sistemaEste modelo se basa en información cualitativaRazonando sobre el modelo podemos predecir las consecuencias denuestras accionesUtilizamos razonamiento de sentido común en la resoluciónFísica naïf
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 22 / 23
Arquitectura de los SBC Otras metodologías
Agentes inteligentes/Sistemas multiagente
Nos alejamos de una visión monolítica de los sistemas inteligentesUn agente inteligente resuelve una tarea “sencilla”El problema global se resuelve en cooperación/coordinaciónOtras áreas involucradas (organización, cooperación, coordinación,negociación, división del trabajo, comunicación, razonamiento sobreotros, ...)Ventajas: Sistemas mas flexibles, reconfiguración/reorganización paraotras tareas (componentes) =⇒ resolver más problemasRelacionado con computación Grid y servicios web
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 23 / 23
Desarrollo de SBC Ingeniería de los SBC
Desarrollo de SBC
El punto más importante del desarrollo de SBC es la extracción delconocimientoRequiere la interacción entre el Ingeniero del Conocimiento y elexpertoLas metodologías de ingeniería de software han de encajar esteproceso entre sus fasesLas metodologías de ingeniería del software han de adaptarse a lascaracterísticas específicas de los SBC
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 1 / 41
Desarrollo de SBC Ingeniería de los SBC
IS: Modelo en cascada
Analisis
Especificacion
Diseño
Implementacion
Prueba
Mantenimiento
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 2 / 41
Desarrollo de SBC Ingeniería de los SBC
IS: Modelo en espiral
Formulacion
Evaluacion Id
entifica
cion
Analisis
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 3 / 41
Desarrollo de SBC Ingeniería de los SBC
Diferencias de los SBC
Sistemas software convencionales =⇒ Algoritmos conocidos y de usocomúnSBC =⇒ Conocimiento incompleto, impreciso, heurísticoSistemas software convencionales =⇒ Posible estimar la naturaleza ycantidad del conocimientoSBC =⇒ Difícil estimar la naturaleza y cantidad del conocimiento
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 4 / 41
Desarrollo de SBC Ingeniería de los SBC
Diferencias de los SBC
Es complicado obtener un diseño adecuado en las fases inicialesDecisiones iniciales erróneas pueden provocar el replanteamientoradical del diseño durante el desarrolloEl ingeniero del conocimiento debe realizar un proceso deadquisición del conocimiento =⇒ Entrevistas con los expertos
El IC debe aprender los elementos básicos del dominioEncontrar un formalismo representación que pueda entender el expertoLos expertos prefieren casos al razonamiento a partir de definicionesgeneralesA los expertos les es difícil explicitar su conocimiento en detalle(paradoja del experto)
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 5 / 41
Desarrollo de SBC Ingeniería de los SBC
Diferencias de los SBC
Solución: Diseño incremental y prototipado rápidoObjetivo: Desarrollar un prototipo funcional que recoja lasfuncionalidades básicas del sistemaEl análisis y la especificación deben tener en cuenta el sistemacompletoEl diseño e implementación se limita al prototipo inicialEste prototipo se completa incrementalmenteVentaja: Disponemos de un sistema funcional durante todo el proceso
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 6 / 41
Desarrollo de SBC Ingeniería de los SBC
Ciclo de vida de un SBC
Evaluacion
AnalisisEspecificacion
DiseñoPreliminar Prototipo
inicial
DiseñoFinal
VerificacionValidacion
Ajustes
Implementacion
Mantenimiento
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 7 / 41
Desarrollo de SBC Ingeniería de los SBC
Ciclo de vida de un SBC (I)
1. Análisis del problema: Recopilar información sobre el proyecto ydeterminar su viabilidad.
2. Especificación de requerimientos: Fijar los objetivos y métodospara conseguirlos.
3. Diseño preliminar: Decisiones a alto nivel sobre el diseño(formalismo de representación del conocimiento, herramientas,fuentes de conocimiento)
4. Prototipo Inicial y evaluación: Construir un prototipo con coberturalimitada, evaluar las decisiones de diseño a partir del prototipo
5. Diseño final: Validar las decisiones y proponer el diseño del sistemade manera que permita un desarrollo incremental.
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 8 / 41
Desarrollo de SBC Ingeniería de los SBC
Ciclo de vida de un SBC (II)
6. Implementación: Completar la adquisición del conocimiento, ampliarincrementalmente el prototipo inicial.
7. Validación y verificación: Comprobar que el sistema cumple lasespecificaciones.
8. Ajustes de diseño: Realimentar el proceso (los cambios en el diseñodeberían se mínimos)
9. Mantenimiento: Mantener el sistema.
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 9 / 41
Desarrollo de SBC Ingeniería de los SBC
Metodologías especializadas
CommonKADSCiclo de vida en espiral y modelado mediante herramientas parecidas aUMLSe construyen seis modelos: Organización, tareas, agentes,comunicación, conocimiento y diseño.
MIKECiclo de vida en espiral: Adquisición del conocimiento (modelo deadquisición y modelo de estructura), diseño, implementación,evaluación.
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 10 / 41
Desarrollo de SBC Una metodología simplificada
Una metodología simplificada
Para aplicaciones pequeñas se puede aplicar una metodología encascada que integra todo el proceso de desarrollo
1 Identificación del problema2 Conceptualización3 Formalización4 Implementación5 Validación y Prueba
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 11 / 41
Desarrollo de SBC Una metodología simplificada
Identificación
Debemos determinar si el problema es adecuado¿Hay una solución algorítmica?¿Disponemos de fuentes de conocimiento?¿El tamaño/objetivo/complejidad del problema es adecuado?
Buscar y evaluar las fuentes de conocimientoDeterminar el conocimiento necesario para el sistemaEstablecer los objetivos del sistema (¿Que respuesta esperamos?)
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 12 / 41
Desarrollo de SBC Una metodología simplificada
Conceptualización
Esta fase nos debería dar la perspectiva del problema desde el punto devista del experto
Deberemos:Detallar los elementos del dominio =⇒ Descripción informal de laontologíaDescomponer el problema en subproblemas mediante refinamientossucesivos, descubriendo los bloques de razonamientoDetallar el flujo de razonamiento y las entradas y salidas de cadasubproblemaDetallar y distinguir entre evidencias, hipótesis y acciones y descubrirsus relaciones
Toda esta información la obtendremos a partir de la interacción con elexperto (entrevistas) y las fuentes de conocimientoEl resultado será un modelo semiformal del dominio y de losproblemas y métodos de resolución
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 13 / 41
Desarrollo de SBC Una metodología simplificada
Formalización
Esta fase transformará la perspectiva del experto en la perspectiva delingeniero del conocimiento
Decidir el formalismo de representación del conocimiento adecuadoIdentificar el espacio de búsquedaAnalizar la tipología de los problemas y bloques de razonamiento ydecidir los métodos de resolución de problemas adecuadosAnalizar la necesidad de tratamiento de incertidumbre y/oinformación incompleta
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 14 / 41
Desarrollo de SBC Una metodología simplificada
Implementación
Construir una ontología del dominioEncajar los problemas identificados en las metodologías de resoluciónde problemas escogidasConstruir los diferentes módulos que correspondan a cada problemasiguiendo el conocimiento obtenidoSi utilizamos una aproximación basada en prototipado rápidoconstruiremos el prototipo inicial y lo iremos aumentandoincrementalmente
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 15 / 41
Desarrollo de SBC Una metodología simplificada
Validación y Prueba
Escoger casos representativos y resolverlos mediante el sistemaLos casos deberían incluir tanto casos usados para la construcción delsistema como casos nuevosSi seguimos una estrategia de construcción incremental esta fase seirá repitiendo a medida que se desarrolle el prototipoLa validación de SBC es más compleja que la de los sistemas desoftware habituales
cbea (LSI - FIB) Sistemas Basados en el Conocimiento IA - Curso 2008/2009 16 / 41