Un sistema de pizarra (blackboard system) es un enfoque de inteligencia artificial basado en un modelo arquitectónico donde una base de conocimientos común, denominada "pizarra", es actualizada iterativamente por un grupo diverso de fuentes de conocimiento especializadas. Este proceso comienza con la especificación de un problema y culmina en la obtención de una solución.
Metáfora del Funcionamiento
Para comprender cómo funciona un sistema de pizarra, imagine a un grupo de especialistas sentados en una habitación con una gran pizarra física. Estos expertos trabajan en equipo para generar una solución a un problema, utilizando la pizarra como el espacio de trabajo cooperativo.
- El proceso comienza cuando las especificaciones del problema se escriben en la pizarra.
- Los especialistas observan la pizarra constantemente, buscando oportunidades para aplicar su experiencia.
- Cuando un experto escribe algo que permite a otro aplicar sus conocimientos, el segundo especialista registra su contribución, habilitando potencialmente a otros expertos adicionales.
- Este ciclo de contribuciones continúa hasta que el problema se resuelve por completo.
Componentes Principales
Una aplicación de sistema de pizarra consta de tres componentes fundamentales:
1. Fuentes de Conocimiento (KSs)
Son módulos de software especializados que actúan como los expertos humanos en la metáfora. Cada fuente de conocimiento proporciona la experiencia específica necesaria para que la aplicación resuelva el problema.
2. La Pizarra (Blackboard)
Es un repositorio compartido de problemas, soluciones parciales, sugerencias e información contribuida. Funciona como una "biblioteca" dinámica de contribuciones publicadas recientemente por otras fuentes de conocimiento.
3. El Caparazón de Control (Control Shell)
El control shell es el mecanismo que organiza el uso de las fuentes de conocimiento de la manera más efectiva y coherente. Actúa como un moderador para evitar que los módulos de software interfieran entre sí, gestionando el flujo de la actividad de resolución de problemas.
Modelado de Tareas y Lenguajes
En los sistemas multi-agente, la pizarra sirve como el espacio central y plataforma de comunicación para describir el mundo. Para implementar esto en programas informáticos, se requiere una notación legible por máquina.
Mientras que algunas implementaciones utilizan bases de datos SQL, otras emplean el lenguaje LTML (Learnable Task Modeling Language). El LTML es similar al PDDL, pero añade estructuras de control y modelos OWL-S. Fue desarrollado en 2007 como parte del proyecto POIROT para la minería de procesos y la creación de servicios web semánticos.
Implementaciones Históricas: BB1
Una de las implementaciones más tempranas y destacadas fue la arquitectura BB1. Inspirada en estudios sobre cómo los humanos planifican tareas múltiples, BB1 introdujo el concepto de planificación oportunista.
A diferencia de los planificadores tradicionales de arriba hacia abajo (top-down), BB1 asumía que la planificación humana es oportunista: las decisiones y observaciones actuales sugieren oportunidades para el desarrollo del plan, y el planificador actúa sobre ellas. Esta innovación permitió que BB1 se aplicara en diversos dominios, como la planificación de sitios de construcción, la inferencia de estructuras de proteínas 3D y sistemas de tutoría inteligente.

