Tema 3: Ðreas de la IA: Ejemplos de Investigaci‡n Actual (I) Sistemas de Blackboard. SRP Carlos Carrascosa Casamayor Vicente J. Julián Inglada Sistemas de Representación y Procesamiento Automático del Conocimiento Sistemas de Representación y Procesamiento Automático del Conocimiento 1 Tema 3: Ðreas de La IA: Ejemplos de Investigaci‡n Actual (I) Sistemas de Blackboard. 3.1. Definición de Blackboard. Blackboard. 3.2. Knowledge Sources (KSs) KSs). 3.3. Idea de Blackboard. Blackboard. 3.4. Ciclo de Control. 3.5. Estrategias de Control. 3.6. Diversas Arquitecturas de Control. 3.7. Relación con los Sistemas de Producción. 3.8. Ejemplos de Sistemas de Blackboard. Blackboard. 3.9. 3.9. Un Ejemplo: BB1. • Bibliografía: – Pfleger, Pfleger, K., HayesHayes-Roth, Roth, B., “An Introduction to BlackboardBlackboard-Style Systems Organization”, Stanford University, (1997). – Nii, Nii, H. P., “Blackboard Systems: The blackboard model of problem solving and the evolution of blackboard architectures”. AI Magazine, 7 (2): 3838-53, 1986. Sistemas de Representación y Procesamiento Automático del Conocimiento Definici‡n de Blackboard (I) • “Blackboard”: modelo de resolución de problemas incremental y oportunista. • Modelo de Resolución de Problemas: – Esquema para organizar los pasos de razonamiento y el conocimiento del dominio para construir una solución al problema (provee una estructura conceptual para organizar el conocimiento y unas estrategias para aplicar ese conocimiento ). • Resolución de Problemas Incremental: – Las soluciones completas son construidas "pieza" a "pieza" a partir de una solución (parcial) basada en datos incompletos. • Oportunismo: – Aplicación de la estrategia de razonamiento más apropiada en cada momento. Sistemas de Representación y Procesamiento Automático del Conocimiento 2 Definici‡n de Blackboard (II) • Blackboard Estructura Global de Datos • Conjunto de Fuentes de Conocimiento (Knowledge (Knowledge Sources, Sources, KSs) KSs) Módulos computacionales independientes que contienen el conocimiento útil en el contexto de la aplicación del sistema Realizan cambios en el Blackboard BlackBoard KS KS . . . KS Sistemas de Representación y Procesamiento Automático del Conocimiento Historia – Origen: sistemas de reconocimiento del habla HEARSAY (Carnegie Mellon University, 70’s). – Primer sistema de Blackboard: HEARSAY-II. – Segundo: HASP (interpretación de datos de sonar pasivos). – Desarrollado para tratar con las características del problema de reconocimiento del habla: • Espacio de búsqueda muy grande. • Datos de entrada erróneos o incompletos. • Conocimiento de resolución del problema impreciso y/o incompleto. Modelo de Resolución de Problemas con: Desarrollo incremental de soluciones. Aplicable a diversos tipos de conocimiento. Adapte sus estrategias de forma oportunista. – Blackboard Architecture o Blackboard Shell: • Templates para la creación de sistemas reales. • Ejemplos: HEARSAYHEARSAY-III, AGE, BB1. Sistemas de Representación y Procesamiento Automático del Conocimiento 3 Blackboard • Estructura de Datos global. • Comunicación entre todas las KSs KSs. • Contiene datos, hipótesis (soluciones parciales potenciales) y soluciones completas. • Espacio de Soluciones: Soluciones: conjunto de todas las posibles soluciones, parciales y totales, al problema. • No existe un modelo de representación estándar para los datos en el Blackboard, Blackboard, aunque eso sí, se suele optar por una representación estructurada (tipo red o frame, frame, con variantes). Sistemas de Representación y Procesamiento Automático del Conocimiento Knowledge Sources -KS s- (I) – Ejecución de KSs: KSs: • Realizan cambios al Blackboard. Blackboard. • Sólo un conjunto de KSs son apropiados / habilitados / disparados (triggered (triggered)) para ejecución en cada momento. Según el estado actual (o cambios) del Blackboard Sistemas de Representación y Procesamiento Automático del Conocimiento 4 Knowledge Sources -KS s- (II) – Características: • • • Las KSs KSs no pueden comunicarse directamente. AutoAuto-activadas (oportunistas). El orden de ejecución y el tipo de razonamiento son determinados en tiempo de ejecución basándose en: • Computaciones previas • Posibles eventos externos Estado Actual del Sistema Sistemas de Representación y Procesamiento Automático del Conocimiento Knowledge Sources -KS s- (III) – Composición de una KS: KS: • Precondición Determina si se activa la KS. KS. • Problema: Reevaluación. • Información adicional: valor indicando la importancia de la KS, KS, estimación de la duración de la ejecución del cuerpo,... Útil para el Módulo de Control. • Cuerpo Acciones a realizar por la KS cuando se ejecuta. • No existe un estándar para la codificación: procedural, procedural, conjuntos de reglas, ... • No suelen mantener un estado interno entre distintas ejecuciones (se suele almacenar en el Blackboard). Blackboard). Sistemas de Representación y Procesamiento Automático del Conocimiento 5 Idea de Blackboard (I) • Problema: Grupo de personas intentando resolver un rompecabezas • Entorno: – – – – Habitación con una pizarra y a su alrededor, un grupo de personas cada una de las cuales posee un puñado de piezas del rompecabezas Inicio: unos voluntarios ponen sus piezas más "prometedoras" en la pizarra. Cada persona mira sus piezas y ve si alguna de ellas encaja en las piezas que ya hay en la pizarra. Aquellos con las piezas apropiadas se acercan a la pizarra y actualizan la solución. Esto causa que otras piezas encuentren su lugar. Sistemas de Representación y Procesamiento Automático del Conocimiento Idea de Blackboard (II) • No importa si una persona tiene más piezas que otra. • El rompecabezas completo puede ser resuelto en absoluto silencio. • Cada persona "se activa" a sí misma, conociendo cuando sus piezas contribuirán a la solución. • Existe un orden no establecido a priori sobre las personas para acercarse a la pizarra. • El comportamiento cooperativo aparente es proporcionado por el estado de la solución en la pizarra. • Solución construida incrementalmente (una pieza cada vez) y de forma oportunista (conforme se da una oportunidad para añadir una pieza). • Lo opuesto a comenzar sistemáticamente desde una esquina e intentar cada pieza. Sistemas de Representación y Procesamiento Automático del Conocimiento 6 Idea de Blackboard (III) Habitación con sólo un pasillo central que lleva a la pizarra, ancho para una única persona. • Necesidad de un monitor (alguien que vea el grupo y elija el orden en el cual una persona se acerca a la pizarra). • Funcionamiento: – El monitor pide a todas las personas con piezas para añadir que levanten sus manos. – El monitor elige una persona de entre las que tienen sus manos levantadas según algún criterio, como por ejemplo, la persona que levanta primero la mano, la que tiene una pieza que sirve de puente entre dos “islas de solución” (es decir, dos grupos de piezas completadas), ... Sistemas de Representación y Procesamiento Automático del Conocimiento Idea de Blackboard (IV) • El monitor necesita una estrategia o un conjunto de estrategias para resolver el rompecabezas, pudiendo elegir una estrategia antes de que la resolución del rompecabezas comience o desarrollar estrategias conforme la solución comienza a revelarse. • Monitor Módulo de Control. • Añadiendo la restricción de que la construcción de la solución ocurre, físicamente, paso a paso en algún orden determinado por el monitor (cuando múltiples pasos son posibles y deseables), el modelo de “Blackboard” es acercado a las realidades inherentes en los entornos de computación serial, lo cual es útil si trabajamos en computadoras uniprocesadores. uniprocesadores. Sistemas de Representación y Procesamiento Automático del Conocimiento 7 Ciclo de Control Determinar las KSs KSs a activar. Elegir las KSs KSs a ejecutar de entre las activas (1 por ciclo) mediante una Estrategia de Control Planificador o Scheduler. Scheduler. Ejecutar la KS (o KSs) KSs) Causa cambios en el Blackboard BlackBoard C o n t r o l KS KS . . . KS Sistemas de Representación y Procesamiento Automático del Conocimiento Estrategias de Control – Foco de Atención: • Seleccionar una zona del BB. y el/los KS/s más apropiado/s para esa zona (contexto) Estrategia de Activación. – Ciclo de Control de Periodo Acotado: • Seleccionar las KSs KSs en base al tiempo de ejecución estimado de las mismas, y al tiempo que tiene para su ejecución el módulo de Control Aplicación a sistemas de tiempo real. – Terminación: • Si el sistema debe finalizar su ejecución, se puede utilizar una KS especial cuyas precondiciones evalúan la validez de la solución. – Codificación de la Estrategia de Control: • Almacenar la estrategia de control en el BB. y construir KSs que la puedan modificar Sistema adaptativo. adaptativo. Sistemas de Representación y Procesamiento Automático del Conocimiento 8 Diversas Arquitecturas de Control (I) – Control Basado en Agenda : • Todas las acciones posibles son colocadas en una agenda y, en cada ciclo, las acciones son valuadas y la acción de valor más alto es escogida para su ejecución. – Control Basado en Eventos : • Los cambios en el "Blackboard" se describen en términos de un conjunto de tipos de "eventos del Blackboard" Blackboard" que activan las KSs apropiadas (para evaluar sus precondiciones). – Control Jerárquico : • Se usa una jerarquía de ”KS s de control". ”KSs Sistemas de Representación y Procesamiento Automático del Conocimiento Diversas Arquitecturas de Control (II) – Blackboard dirigido por el objetivo : • Trata de integrar factores dirigidos por el objetivo con dirigidos por los datos en el control basado en agenda. – Blackboard de Control : • Extensión del control basado en agenda por medio de la adición de un mecanismo de "planificación de control". • El problema del control es tratado como una tarea de resolución de problemas en sí misma. • Tanto el problema del dominio como el del control son resueltos usando una aproximación de "Blackboard". "Blackboard". – Blackboard Canalizado Parametrizado : • Extensión del Blackboard dirigido por el objetivo en combinación con el Blackboard de control. Sistemas de Representación y Procesamiento Automático del Conocimiento 9 Relaci‡n con los Sistemas de Producci‡n (I) Sistemas de Blackboard – Blackboard – KSs – Estrategia de Control Sistemas de Producción – – – Memoria de Trabajo Reglas Estrategia de Resol. de Conflictos Sistemas de Producción: – Puede verse como un caso particular de un Sistema de Blackboard donde los KSs tienen la forma de una simple regla. Sistemas de Representación y Procesamiento Automático del Conocimiento Relaci‡n con los Sistemas de Producci‡n (II) Principales diferencias: – Las reglas de los SP poseen la misma forma y son típicamente mucho más simples que las KSs (una KS podría ser un SP). – Los S. de BB. pueden razonar sobre cualquier tipo arbitrario de datos (con las KSs apropiadas), los SP no pueden (imágenes, ...) si no son transformadas antes a un conjunto de ítems lógicos. Sistemas de Representación y Procesamiento Automático del Conocimiento 10 Ejemplos de sistemas de Blackboard – Aplicaciones de Arquitecturas de Blackboard: • • • • • Reconocimiento del habla. Reconocimiento de señales. Reconocimiento de imágenes. Planificación y Scheduling. cheduling. OrdenaciónOrdenación-montaje ( identificación de estructuras ),... Sistemas de Representación y Procesamiento Automático del Conocimiento Un Ejemplo: BB1 (I) – Marco independiente del dominio para construir aplicaciones con arquitectura de Blackboard . – Diseñado por el Laboratorio de Sists. Sists. del Conoc. Conoc. (KSL) de la Universidad de Stanford según una idea y dirección de Barbara HayesHayes-Roth. Roth. – Implementación: Inicialmente en Lisp. Lisp. Última versíón (BBK) en C++. Sistemas de Representación y Procesamiento Automático del Conocimiento 11 Un Ejemplo: BB1 (II) • Arquitectura de Blackboard de Control KSs de Control Blackboard de Control Blackboard de Dominio Eventos de Control Eventos de Dominio KSs de Dominio Gestor de la Agenda Funciones de Validación (Heurísticas) KSI’s Agenda Planificador Sistemas de Representación y Procesamiento Automático del Conocimiento Un Ejemplo: BB1 (III) Scheduler Plan de Control Agenda: Acciones Posibles Acciones Conocidas Gestor de la Agenda Memoria Próxima Operación Resultados del Razonamiento Eventos Ejecutor Sistemas de Representación y Procesamiento Automático del Conocimiento 12 Un Ejemplo: BB1 (IV) Scheduler Plan de Control Agenda: Acciones Posibles – Ciclo de Ejecución: Memoria Acciones Conocidas Gestor de la Agenda Ejecutor Próxima Operación Resultados del Razonamiento Eventos Ejecutor Ejecuta la siguiente acción Cambios en la memoria Producen eventos asociados Gestor de la Agenda Planificador Sistemas de Representación y Procesamiento Automático del Conocimiento Un Ejemplo: BB1 (V) Scheduler Plan de Control Agenda: Acciones Posibles – Ciclo de Ejecución: Memoria Acciones Conocidas Ejecutor Gestor de la Agenda Próxima Operación Resultados del Razonamiento Eventos Ejecutor Gestor de la Agenda Activa acciones en respuesta a los eventos, y pone instancias específicas del contexto en una agenda de posibles acciones Planificador Sistemas de Representación y Procesamiento Automático del Conocimiento 13 Un Ejemplo: BB1 (VI) Scheduler Plan de Control Agenda: Acciones Posibles – Ciclo de Ejecución: Memoria Acciones Conocidas Ejecutor Gestor de la Agenda Próxima Operación Resultados del Razonamiento Eventos Ejecutor Gestor de la Agenda Planificador Tasa las posibles acciones contra el plan de control actual y elige la que tiene una mejor tasa como siguiente acción a ser ejecutada Sistemas de Representación y Procesamiento Automático del Conocimiento Un Ejemplo: BB1 (VI) – Una adaptación de BB1, para funcionar en entornos con restricciones temporales (AIS satisficing cycle) se ha empleado en: • Guardian: Control de pacientes en unidad de cuidados intensivos. • AIBots (B-Robot): Robots Móviles Inteligentes en un entorno incierto y dinámico. • Virtual Theater: actores inteligentes para un juego de teatro animado por computador. • Extempo Systems Inc. (http://www.extempo.com): empresa que desarrolla personajes interactivos para aplicaciones en: comercio electrónico, comunicaciones y entrenamiento corporativo, y entretenimiento. Sistemas de Representación y Procesamiento Automático del Conocimiento 14 Ejemplo de Aplicaci‡n: BBB ò Buscador BlackBoard (I) – Objetivo: • Diseño de un meta-buscador Sistemas de Representación y Procesamiento Automático del Conocimiento Ejemplo de Aplicaci‡n: BBB ò Buscador BlackBoard (II) Blackboard KS Buscador 1 KS Buscador 2 KS Buscador n Internet KS Visualizador (KSV) KS de Filtrado (KSF) KS Receptor de Preguntas (KSRP) Sistemas de Representación y Procesamiento Automático del Conocimiento 15 Ejemplo de Aplicaci‡n: BBB ò Buscador BlackBoard (III) – Funcionamiento: Consulta a Realizar KSRP KS Buscador 1 KS Buscador 2 KS Buscador n Respuestas sin Filtrar Internet KSF Respuestas Finales KSV Blackboard Sistemas de Representación y Procesamiento Automático del Conocimiento 16