1
Sistemas de Representación y Procesamiento Automático del Conocimiento
Tema 3: Ðreas de la IA: Tema 3: Ðreas de la IA: Tema 3: Ðreas de la IA: Tema 3: Ðreas de la IA: Tema 3: Ðreas de la IA: Tema 3: Ðreas de la IA: Tema 3: Ðreas de la IA: Tema 3: Ðreas de la IA: Ejemplos de Investigaci‡n Actual Ejemplos de Investigaci‡n Actual Ejemplos de Investigaci‡n Actual Ejemplos de Investigaci‡n Actual Ejemplos de Investigaci‡n Actual Ejemplos de Investigaci‡n Actual Ejemplos de Investigaci‡n Actual Ejemplos de Investigaci‡n Actual
(I)(I)(I)(I)(I)(I)(I)(I)Sistemas de Sistemas de Sistemas de Sistemas de Sistemas de Sistemas de Sistemas de Sistemas de BlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboard........
SRPSRPCarlos Carrascosa Casamayor
Vicente J. Julián Inglada
Sistemas de Representación y Procesamiento Automático del Conocimiento
2
Sistemas de Representación y Procesamiento Automático del Conocimiento
Tema 3: Ðreas de La IA:Tema 3: Ðreas de La IA:Tema 3: Ðreas de La IA:Tema 3: Ðreas de La IA:Tema 3: Ðreas de La IA:Tema 3: Ðreas de La IA:Tema 3: Ðreas de La IA:Tema 3: Ðreas de La IA:Ejemplos de Investigaci‡n Actual (I) Ejemplos de Investigaci‡n Actual (I) Ejemplos de Investigaci‡n Actual (I) Ejemplos de Investigaci‡n Actual (I) Ejemplos de Investigaci‡n Actual (I) Ejemplos de Investigaci‡n Actual (I) Ejemplos de Investigaci‡n Actual (I) Ejemplos de Investigaci‡n Actual (I)
Sistemas de Sistemas de Sistemas de Sistemas de Sistemas de Sistemas de Sistemas de Sistemas de BlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboard........3.1. Definición de 3.1. Definición de BlackboardBlackboard..3.2. 3.2. KnowledgeKnowledge SourcesSources ((KSsKSs))..3.3. Idea de 3.3. Idea de BlackboardBlackboard..3.4. Ciclo de Control.3.4. Ciclo de Control.3.5. Estrategias de Control.3.5. Estrategias de Control.3.6. Diversas Arquitecturas de Control.3.6. Diversas Arquitecturas de Control.3.7. Relación con los Sistemas de Producción.3.7. Relación con los Sistemas de Producción.3.8. Ejemplos de Sistemas de 3.8. Ejemplos de Sistemas de BlackboardBlackboard..3.93.9. Un Ejemplo: BB1.. Un Ejemplo: BB1.
•• Bibliografía:Bibliografía:–– PflegerPfleger, K., , K., HayesHayes--RothRoth, B., “An Introduction to Blackboard, B., “An Introduction to Blackboard--Style Style
Systems Organization”, Stanford University, (1997).Systems Organization”, Stanford University, (1997).–– NiiNii, H. P., “Blackboard Systems: The blackboard model of , H. P., “Blackboard Systems: The blackboard model of
problem solving and the evolution of blackboard architectures”. problem solving and the evolution of blackboard architectures”. AI Magazine, 7 (2): 38AI Magazine, 7 (2): 38--53, 1986. 53, 1986.
Sistemas de Representación y Procesamiento Automático del Conocimiento
Definici‡n de Definici‡n de Definici‡n de Definici‡n de Definici‡n de Definici‡n de Definici‡n de Definici‡n de BlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboard (I)(I)(I)(I)(I)(I)(I)(I)•• ““Blackboard”:Blackboard”: modelo de resolución de problemasmodelo de resolución de problemas
incremental y oportunista.incremental y oportunista.•• Modelo de Resolución de Problemas:Modelo de Resolución de Problemas:
–– Esquema para organizar los pasos de razonamiento y el Esquema para organizar los pasos de razonamiento y el conocimiento del dominio para construir una solución al conocimiento del dominio para construir una solución al problema (provee una estructura conceptual para problema (provee una estructura conceptual para organizar el conocimiento y unas estrategias para aplicar organizar el conocimiento y unas estrategias para aplicar ese conocimiento ). ese conocimiento ).
•• Resolución de Problemas Incremental:Resolución de Problemas Incremental:–– Las soluciones completas son construidas "pieza" a Las soluciones completas son construidas "pieza" a
"pieza" a partir de una solución (parcial) basada en datos "pieza" a partir de una solución (parcial) basada en datos incompletos.incompletos.
•• Oportunismo:Oportunismo:–– Aplicación de la estrategia de razonamiento más Aplicación de la estrategia de razonamiento más
apropiada en cada momento.apropiada en cada momento.
3
Sistemas de Representación y Procesamiento Automático del Conocimiento
Definici‡n de Definici‡n de Definici‡n de Definici‡n de Definici‡n de Definici‡n de Definici‡n de Definici‡n de BlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboard (II)(II)(II)(II)(II)(II)(II)(II)•• BlackboardBlackboard EstructuraEstructura Global de Global de DatosDatos•• Conjunto de Fuentes de Conocimiento (Conjunto de Fuentes de Conocimiento (KnowledgeKnowledge SourcesSources, ,
KSsKSs)) Módulos computacionales independientes que Módulos computacionales independientes que contienen el conocimiento útil en el contexto de contienen el conocimiento útil en el contexto de la aplicación del sistemala aplicación del sistema
Realizan cambios en el Realizan cambios en el BlackboardBlackboard
BlackBoardBlackBoard
KSKS
KSKS
KSKS
.
.
.
Sistemas de Representación y Procesamiento Automático del Conocimiento
HistoriaHistoriaHistoriaHistoriaHistoriaHistoriaHistoriaHistoria– 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.
– Blackboard Architecture o Blackboard Shell:•• TemplatesTemplates para la creación de sistemas reales.para la creación de sistemas reales.•• Ejemplos: HEARSAYEjemplos: HEARSAY--III, AGE, BB1.III, AGE, BB1.
Modelo de Resolución de Problemas con:Modelo de Resolución de Problemas con:Desarrollo incremental de soluciones.Desarrollo incremental de soluciones.
Aplicable a diversos tipos de conocimiento.Aplicable a diversos tipos de conocimiento.Adapte sus estrategias de forma oportunista.Adapte sus estrategias de forma oportunista.
4
Sistemas de Representación y Procesamiento Automático del Conocimiento
BlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboard•• Estructura de Datos global.Estructura de Datos global.•• Comunicación entre todas las Comunicación entre todas las KSKSss..•• Contiene datos, hipótesis (soluciones parciales Contiene datos, hipótesis (soluciones parciales
potenciales) y soluciones completas.potenciales) y soluciones completas.•• Espacio de SolucionesEspacio de Soluciones: conjunto de todas las posibles : conjunto de todas las posibles
soluciones, parciales y totales, al problema.soluciones, parciales y totales, al problema.•• No existe un modelo de representación estándar para los No existe un modelo de representación estándar para los
datos en el datos en el BlackboardBlackboard, aunque eso sí, se suele optar por , aunque eso sí, se suele optar por una representación estructurada (tipo red o una representación estructurada (tipo red o frameframe, con , con variantes).variantes).
Sistemas de Representación y Procesamiento Automático del Conocimiento
KnowledgeKnowledgeKnowledgeKnowledgeKnowledgeKnowledgeKnowledgeKnowledge SourcesSourcesSourcesSourcesSourcesSourcesSourcesSources --------KS sKS sKS sKS sKS sKS sKS sKS s-------- (I)(I)(I)(I)(I)(I)(I)(I)–– Ejecución de Ejecución de KSsKSs::
•• Realizan cambios al Realizan cambios al BlackboardBlackboard..
•• Sólo un conjunto de Sólo un conjunto de KSsKSs son apropiados / habilitados / son apropiados / habilitados / disparados (disparados (triggeredtriggered) para ejecución en cada momento.) para ejecución en cada momento.
Según el estado actual (o cambios) Según el estado actual (o cambios) del del BlackboardBlackboard
5
Sistemas de Representación y Procesamiento Automático del Conocimiento
KnowledgeKnowledgeKnowledgeKnowledgeKnowledgeKnowledgeKnowledgeKnowledge SourcesSourcesSourcesSourcesSourcesSourcesSourcesSources --------KS sKS sKS sKS sKS sKS sKS sKS s-------- (II)(II)(II)(II)(II)(II)(II)(II)–– Características:Características:
•• Las Las KSKSss nono pueden comunicarse directamente.pueden comunicarse directamente.•• AutoAuto--activadas (oportunistas).activadas (oportunistas).•• El orden de ejecución y el tipo de razonamiento son El orden de ejecución y el tipo de razonamiento son
determinados en tiempo de ejecución basándose en:determinados en tiempo de ejecución basándose en:
•• Computaciones previasComputaciones previas•• Posibles eventos externosPosibles eventos externos
Estado Actual del Sistema
Sistemas de Representación y Procesamiento Automático del Conocimiento
KnowledgeKnowledgeKnowledgeKnowledgeKnowledgeKnowledgeKnowledgeKnowledge SourcesSourcesSourcesSourcesSourcesSourcesSourcesSources --------KS sKS sKS sKS sKS sKS sKS sKS s-------- (III)(III)(III)(III)(III)(III)(III)(III)–– Composición de una Composición de una KSKS::
•• PrecondiciónPrecondición Determina si se activa la Determina si se activa la KSKS..•• Problema: Reevaluación.Problema: Reevaluación.•• Información adicional: valor indicando la importancia Información adicional: valor indicando la importancia
de la de la KSKS, estimación de la duración de la ejecución , estimación de la duración de la ejecución del cuerpo,... Útil para el Módulo de Control.del cuerpo,... Útil para el Módulo de Control.
•• CuerpoCuerpo Acciones a realizar por la Acciones a realizar por la KSKS cuando se ejecuta.cuando se ejecuta.•• No existe un estándar para la codificación: No existe un estándar para la codificación:
proceduralprocedural, conjuntos de reglas, ..., conjuntos de reglas, ...•• No suelen mantener un estado interno entre distintas No suelen mantener un estado interno entre distintas
ejecuciones (se suele almacenar en el ejecuciones (se suele almacenar en el BlackboardBlackboard).).
6
Sistemas de Representación y Procesamiento Automático del Conocimiento
Idea de Idea de Idea de Idea de Idea de Idea de Idea de Idea de BlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboard (I)(I)(I)(I)(I)(I)(I)(I)•• Problema: Problema:
•• Entorno:Entorno:
–– Inicio: unos voluntarios ponen sus piezas másInicio: unos voluntarios ponen sus piezas más"prometedoras" en la pizarra. "prometedoras" en la pizarra.
–– Cada persona mira sus piezas y ve si alguna de ellas Cada persona mira sus piezas y ve si alguna de ellas encaja en las piezas que ya hay en la pizarra. encaja en las piezas que ya hay en la pizarra.
–– Aquellos con las piezas apropiadas se acercan a la pizarra Aquellos con las piezas apropiadas se acercan a la pizarra yy actualizan la solución. actualizan la solución.
–– Esto causa que otras piezas encuentren su lugar. Esto causa que otras piezas encuentren su lugar.
Grupo de personas intentando resolver Grupo de personas intentando resolver un rompecabezasun rompecabezas
Habitación con una pizarra y a su alrededor, un grupo Habitación con una pizarra y a su alrededor, un grupo de personas cada una de las cuales posee un puñado de personas cada una de las cuales posee un puñado
de piezas del rompecabezasde piezas del rompecabezas
Sistemas de Representación y Procesamiento Automático del Conocimiento
Idea de Idea de Idea de Idea de Idea de Idea de Idea de Idea de BlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboard (II)(II)(II)(II)(II)(II)(II)(II)•• No importa si una persona tiene más piezas No importa si una persona tiene más piezas
que otra.que otra.•• El rompecabezas completo puede ser El rompecabezas completo puede ser
resuelto en absoluto silencio. resuelto en absoluto silencio. •• Cada persona "se activa" a sí misma, conociendo cuando sus Cada persona "se activa" a sí misma, conociendo cuando sus
piezas contribuirán a la solución. piezas contribuirán a la solución. •• Existe un orden no establecido a priori sobre las personas Existe un orden no establecido a priori sobre las personas
para acercarse a la pizarra. para acercarse a la pizarra. •• El comportamiento cooperativo aparente es proporcionado El comportamiento cooperativo aparente es proporcionado
por el estado de la solución en la pizarra. por el estado de la solución en la pizarra. •• Solución construida Solución construida incrementalmenteincrementalmente (una pieza cada(una pieza cada
vez) y de forma vez) y de forma oportunistaoportunista (conforme se da una (conforme se da una oportunidad para añadir una pieza).oportunidad para añadir una pieza).
•• Lo opuesto a comenzar sistemáticamente desde Lo opuesto a comenzar sistemáticamente desde una esquina e intentar cada pieza.una esquina e intentar cada pieza.
7
Sistemas de Representación y Procesamiento Automático del Conocimiento
Idea de Idea de Idea de Idea de Idea de Idea de Idea de Idea de BlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboard (III)(III)(III)(III)(III)(III)(III)(III)
•• Necesidad de un Necesidad de un monitormonitor (alguien que vea el grupo y elija el (alguien que vea el grupo y elija el orden en el cual una persona se acerca a la pizarra). orden en el cual una persona se acerca a la pizarra).
•• FuncionamientoFuncionamiento::–– El monitor pide a todas las personas con piezas para El monitor pide a todas las personas con piezas para
añadir que levanten sus manos. añadir que levanten sus manos. –– El monitor elige una persona de entre las que tienen sus El monitor elige una persona de entre las que tienen sus
manos levantadas según algún criterio, como por manos levantadas según algún criterio, como por ejemplo, la persona que levanta primero la mano, la que ejemplo, la persona que levanta primero la mano, la que tiene una pieza que sirve de puente entre dos “islas de tiene una pieza que sirve de puente entre dos “islas de solución” (es decir, dos grupos de piezas completadas), ... solución” (es decir, dos grupos de piezas completadas), ...
Habitación con sólo un pasillo Habitación con sólo un pasillo central que lleva a la pizarra, ancho central que lleva a la pizarra, ancho
para una única persona. para una única persona.
Sistemas de Representación y Procesamiento Automático del Conocimiento
Idea de Idea de Idea de Idea de Idea de Idea de Idea de Idea de BlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboard (IV)(IV)(IV)(IV)(IV)(IV)(IV)(IV)•• El monitor necesita una estrategia o un El monitor necesita una estrategia o un
conjunto de estrategias para resolver conjunto de estrategias para resolver el rompecabezas, pudiendo elegir una el rompecabezas, pudiendo elegir una estrategia antes de que la resolución estrategia antes de que la resolución del rompecabezas comience o desarrollar estrategias del rompecabezas comience o desarrollar estrategias conforme la solución comienza a revelarse.conforme la solución comienza a revelarse.
•• Monitor Módulo de Control.Monitor Módulo de Control.
•• Añadiendo la restricción de que la construcción de la Añadiendo la restricción de que la construcción de la solución ocurre, físicamente, paso a paso en algún orden solución ocurre, físicamente, paso a paso en algún orden determinado por el monitor (cuando múltiples pasos son determinado por el monitor (cuando múltiples pasos son posibles y deseables), el modelo de posibles y deseables), el modelo de “Blackboard”“Blackboard” es es acercado a las realidades inherentes en los entornos de acercado a las realidades inherentes en los entornos de computación serial, lo cual es útil si trabajamos en computación serial, lo cual es útil si trabajamos en computadoras computadoras uniprocesadoresuniprocesadores..
8
Sistemas de Representación y Procesamiento Automático del Conocimiento
Ciclo de ControlCiclo de ControlCiclo de ControlCiclo de ControlCiclo de ControlCiclo de ControlCiclo de ControlCiclo de Control� Determinar las Determinar las KSKSs a activar.s a activar.� Elegir las Elegir las KSKSs a ejecutar de entre las activas s a ejecutar de entre las activas
(1 por ciclo) mediante una Estrategia de Control(1 por ciclo) mediante una Estrategia de ControlPlanificador o Planificador o SchedulerScheduler..
� Ejecutar la Ejecutar la KSKS (o (o KSKSs)s)
Causa cambios en el Causa cambios en el BlackboardBlackboard
BlackBoardBlackBoard
KSKS
KSKS
KSKS
.
.
.
CCoonnttrrooll
Sistemas de Representación y Procesamiento Automático del Conocimiento
Estrategias de ControlEstrategias de ControlEstrategias de ControlEstrategias de ControlEstrategias de ControlEstrategias de ControlEstrategias de ControlEstrategias de Control–– Foco de Atención:Foco de Atención:
•• Seleccionar una zona del BB. y el/los KS/s más apropiado/s Seleccionar una zona del BB. y el/los KS/s más apropiado/s para esa zona (contexto) Estrategia de Activación.para esa zona (contexto) Estrategia de Activación.
–– Ciclo de Control de Periodo Acotado:Ciclo de Control de Periodo Acotado:•• Seleccionar las Seleccionar las KSKSss en base al tiempo de ejecución estimado en base al tiempo de ejecución estimado
de las mismas, y al tiempo que tiene para su ejecución el de las mismas, y al tiempo que tiene para su ejecución el módulo de Control Aplicación a sistemas de tiempo real.módulo de Control Aplicación a sistemas de tiempo real.
–– Terminación:Terminación:•• Si el sistema debe finalizar su ejecución, se puede utilizar Si el sistema debe finalizar su ejecución, se puede utilizar
una una KSKS especial cuyas precondiciones evalúan la validez de especial cuyas precondiciones evalúan la validez de la solución.la solución.
–– Codificación de la Estrategia de Control:Codificación de la Estrategia de Control:•• Almacenar la estrategia de control en el BB. y construir Almacenar la estrategia de control en el BB. y construir KSsKSs
que la puedan modificar Sistema que la puedan modificar Sistema adaptativoadaptativo..
9
Sistemas de Representación y Procesamiento Automático del Conocimiento
Diversas Diversas Diversas Diversas Diversas Diversas Diversas Diversas Arquitecturas de Control (I)Arquitecturas de Control (I)Arquitecturas de Control (I)Arquitecturas de Control (I)Arquitecturas de Control (I)Arquitecturas de Control (I)Arquitecturas de Control (I)Arquitecturas de Control (I)
–– Control Basado en Agenda :Control Basado en Agenda :•• Todas las acciones posibles son colocadas en una agenda y, Todas las acciones posibles son colocadas en una agenda y,
en cada ciclo, las acciones son valuadas y la acción de valor en cada ciclo, las acciones son valuadas y la acción de valor más alto es escogida para su ejecución.más alto es escogida para su ejecución.
–– Control Basado en Eventos :Control Basado en Eventos :•• Los cambios en el Los cambios en el "Blackboard""Blackboard" se describen en términos de se describen en términos de
un conjunto de tipos de "eventos del un conjunto de tipos de "eventos del BlackboardBlackboard" que " que activan las activan las KSsKSs apropiadas (para evaluar sus apropiadas (para evaluar sus precondiciones).precondiciones).
–– Control Jerárquico :Control Jerárquico :•• Se usa una jerarquía de ”Se usa una jerarquía de ”KSKSs de control".s de control".
Sistemas de Representación y Procesamiento Automático del Conocimiento
Diversas Diversas Diversas Diversas Diversas Diversas Diversas Diversas Arquitecturas de Control (II)Arquitecturas de Control (II)Arquitecturas de Control (II)Arquitecturas de Control (II)Arquitecturas de Control (II)Arquitecturas de Control (II)Arquitecturas de Control (II)Arquitecturas de Control (II)
–– BlackboardBlackboard dirigido por el objetivo :dirigido por el objetivo :•• Trata de integrar factores dirigidos por el objetivo con Trata de integrar factores dirigidos por el objetivo con
dirigidos por los datos en el control basado en agenda.dirigidos por los datos en el control basado en agenda.
–– BlackboardBlackboard de Control :de Control :•• Extensión del control basado en agenda por medio de la Extensión del control basado en agenda por medio de la
adición de un mecanismo de "planificación de control". adición de un mecanismo de "planificación de control". •• El problema del control es tratado como una tarea de El problema del control es tratado como una tarea de
resolución de problemas en sí misma. resolución de problemas en sí misma. •• Tanto el problema del dominio como el del control son Tanto el problema del dominio como el del control son
resueltos usando una aproximación de resueltos usando una aproximación de "Blackboard""Blackboard"..
–– BlackboardBlackboard Canalizado Canalizado ParametrizadoParametrizado ::•• Extensión del Extensión del BlackboardBlackboard dirigido por el objetivo en dirigido por el objetivo en
combinación con el combinación con el BlackboardBlackboard de control. de control.
10
Sistemas de Representación y Procesamiento Automático del Conocimiento
Relaci‡n con losRelaci‡n con losRelaci‡n con losRelaci‡n con losRelaci‡n con losRelaci‡n con losRelaci‡n con losRelaci‡n con losSistemas de Producci‡n (I)Sistemas de Producci‡n (I)Sistemas de Producci‡n (I)Sistemas de Producci‡n (I)Sistemas de Producci‡n (I)Sistemas de Producci‡n (I)Sistemas de Producci‡n (I)Sistemas de Producci‡n (I)
–– BlackboardBlackboard–– KSsKSs–– Estrategia de ControlEstrategia de Control
Sistemas de Blackboard
–– Memoria de TrabajoMemoria de Trabajo–– ReglasReglas–– Estrategia de Resol. Estrategia de Resol.
de Conflictosde Conflictos
Sistemas de Producción
� 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 losRelaci‡n con losRelaci‡n con losRelaci‡n con losRelaci‡n con losRelaci‡n con losRelaci‡n con losRelaci‡n con losSistemas de Producci‡n (II)Sistemas de Producci‡n (II)Sistemas de Producci‡n (II)Sistemas de Producci‡n (II)Sistemas de Producci‡n (II)Sistemas de Producci‡n (II)Sistemas de Producci‡n (II)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 KSpodría ser un SP).
– Los S. de BB. pueden razonarrazonar sobresobre cualquier tipo cualquier tipo arbitrario de datosarbitrario de datos (con las KSs apropiadas), los SP no pueden (imágenes, ...) si no son transformadas antes a un un conjunto de ítems lógicos.conjunto de ítems lógicos.
11
Sistemas de Representación y Procesamiento Automático del Conocimiento
Ejemplos de sistemas de Ejemplos de sistemas de Ejemplos de sistemas de Ejemplos de sistemas de Ejemplos de sistemas de Ejemplos de sistemas de Ejemplos de sistemas de Ejemplos de sistemas de BlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboardBlackboard– Aplicaciones de Arquitecturas de Blackboard:
•• Reconocimiento del habla.Reconocimiento del habla.•• Reconocimiento de señales.Reconocimiento de señales.•• Reconocimiento de imágenes.Reconocimiento de imágenes.•• Planificación y Planificación y SSchedulingcheduling..•• OrdenaciónOrdenación--montaje ( identificación de estructuras ),... montaje ( identificación de estructuras ),...
Sistemas de Representación y Procesamiento Automático del Conocimiento
Un Ejemplo: BB1 (I)Un Ejemplo: BB1 (I)Un Ejemplo: BB1 (I)Un Ejemplo: BB1 (I)Un Ejemplo: BB1 (I)Un Ejemplo: BB1 (I)Un Ejemplo: BB1 (I)Un Ejemplo: BB1 (I)–– Marco independiente del dominio para Marco independiente del dominio para
construir aplicaciones con arquitectura de construir aplicaciones con arquitectura de BlackboardBlackboard ..
–– Diseñado por el Laboratorio de Diseñado por el Laboratorio de SistsSists. del . del ConocConoc. (KSL) de la Universidad de . (KSL) de la Universidad de StanfordStanfordsegún una idea y dirección de según una idea y dirección de BarbaraBarbaraHayesHayes--RothRoth..
–– Implementación: Inicialmente en Implementación: Inicialmente en LispLisp. . Última Última versíónversíón (BBK) en C++.(BBK) en C++.
12
Sistemas de Representación y Procesamiento Automático del Conocimiento
Un Ejemplo: BB1 (II)Un Ejemplo: BB1 (II)Un Ejemplo: BB1 (II)Un Ejemplo: BB1 (II)Un Ejemplo: BB1 (II)Un Ejemplo: BB1 (II)Un Ejemplo: BB1 (II)Un Ejemplo: BB1 (II)• Arquitectura de Blackboard de Control
BlackboardBlackboardde Controlde Control
KSsKSs de de ControlControl
KSsKSs de de DominioDominio
BlackboardBlackboardde Dominiode Dominio
Gestor de la Gestor de la AgendaAgenda
AgendaAgenda
PlanificadorPlanificador
Funciones de Funciones de Validación Validación
(Heurísticas)(Heurísticas)
Eventos de Eventos de DominioDominio
Eventos de Eventos de ControlControl
KSI’sKSI’s
Sistemas de Representación y Procesamiento Automático del Conocimiento
Un Ejemplo: BB1 (III)Un Ejemplo: BB1 (III)Un Ejemplo: BB1 (III)Un Ejemplo: BB1 (III)Un Ejemplo: BB1 (III)Un Ejemplo: BB1 (III)Un Ejemplo: BB1 (III)Un Ejemplo: BB1 (III)
Plan de Control
Resultados del Razonamiento
Scheduler
Agenda: Acciones Posibles
Próxima Operación
EjecutorGestor de la
Agenda
Acciones Conocidas
Eventos
Memoria
13
Sistemas de Representación y Procesamiento Automático del Conocimiento
�Planificador
�Gestor de la Agenda
– Ciclo de Ejecución:
Ejecuta la siguiente acciónEjecuta la siguiente acciónCambios en la memoriaCambios en la memoria
Producen eventos asociadosProducen eventos asociados
Un Ejemplo: BB1 (IV)Un Ejemplo: BB1 (IV)Un Ejemplo: BB1 (IV)Un Ejemplo: BB1 (IV)Un Ejemplo: BB1 (IV)Un Ejemplo: BB1 (IV)Un Ejemplo: BB1 (IV)Un Ejemplo: BB1 (IV)Plan de Control
Resultados del Razonamiento
Scheduler
Agenda: Acciones Posibles
Próxima Operación
EjecutorGestor de la
Agenda
Acciones Conocidas
Eventos
Memoria
�Ejecutor
Sistemas de Representación y Procesamiento Automático del Conocimiento
– Ciclo de Ejecución:
Un Ejemplo: BB1 (V)Un Ejemplo: BB1 (V)Un Ejemplo: BB1 (V)Un Ejemplo: BB1 (V)Un Ejemplo: BB1 (V)Un Ejemplo: BB1 (V)Un Ejemplo: BB1 (V)Un Ejemplo: BB1 (V)Plan de Control
Resultados del Razonamiento
Scheduler
Agenda: Acciones Posibles
Próxima Operación
EjecutorGestor de la
Agenda
Acciones Conocidas
Eventos
Memoria
�Ejecutor
�Gestor de la Agenda
�Planificador
Activa acciones en respuesta a los eventos, y Activa acciones en respuesta a los eventos, y pone instancias específicas del contexto en pone instancias específicas del contexto en una agenda de posibles accionesuna agenda de posibles acciones
14
Sistemas de Representación y Procesamiento Automático del Conocimiento
�Planificador�Gestor de la Agenda
– Ciclo de Ejecución:
Un Ejemplo: BB1 (VI)Un Ejemplo: BB1 (VI)Un Ejemplo: BB1 (VI)Un Ejemplo: BB1 (VI)Un Ejemplo: BB1 (VI)Un Ejemplo: BB1 (VI)Un Ejemplo: BB1 (VI)Un Ejemplo: BB1 (VI)Plan de Control
Resultados del Razonamiento
Scheduler
Agenda: Acciones Posibles
Próxima Operación
EjecutorGestor de la
Agenda
Acciones Conocidas
Eventos
Memoria
Tasa las posibles acciones contra el plan de Tasa las posibles acciones contra el plan de control actual y elige la que tiene una mejor control actual y elige la que tiene una mejor tasa como siguiente acción a ser ejecutadatasa como siguiente acción a ser ejecutada
�Ejecutor
Sistemas de Representación y Procesamiento Automático del Conocimiento
Un Ejemplo: BB1 (VI)Un Ejemplo: BB1 (VI)Un Ejemplo: BB1 (VI)Un Ejemplo: BB1 (VI)Un Ejemplo: BB1 (VI)Un Ejemplo: BB1 (VI)Un Ejemplo: BB1 (VI)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.
15
Sistemas de Representación y Procesamiento Automático del Conocimiento
Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: BBB BBB BBB BBB BBB BBB BBB BBB òòòòòòòò Buscador BlackBoard (I)Buscador BlackBoard (I)Buscador BlackBoard (I)Buscador BlackBoard (I)Buscador BlackBoard (I)Buscador BlackBoard (I)Buscador BlackBoard (I)Buscador BlackBoard (I)
– Objetivo:
• Diseño de un meta-buscador
Sistemas de Representación y Procesamiento Automático del Conocimiento
Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: BBB BBB BBB BBB BBB BBB BBB BBB òòòòòòòò Buscador BlackBoard (II)Buscador BlackBoard (II)Buscador BlackBoard (II)Buscador BlackBoard (II)Buscador BlackBoard (II)Buscador BlackBoard (II)Buscador BlackBoard (II)Buscador BlackBoard (II)
Blackboard
KS Buscador 1 KS Buscador
2 KS Buscador n
KS
Receptor de Preguntas (KSRP)
KS Visualizador
(KSV)
KS de Filtrado (KSF)
Internet
16
Sistemas de Representación y Procesamiento Automático del Conocimiento
Blackboard
Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: Ejemplo de Aplicaci‡n: BBB BBB BBB BBB BBB BBB BBB BBB òòòòòòòò Buscador BlackBoard (III)Buscador BlackBoard (III)Buscador BlackBoard (III)Buscador BlackBoard (III)Buscador BlackBoard (III)Buscador BlackBoard (III)Buscador BlackBoard (III)Buscador BlackBoard (III)
– Funcionamiento:KSRP Consulta a Realizar
KS Buscador 1KS Buscador 2
KS Buscador n
Internet Respuestas sin Filtrar
KSF
Respuestas Finales
KSV