Blackboard system
A blackboard system is an artificial intelligence application based on the blackboard architectural model,[1][2][3][4] where a common knowledge base, the "blackboard", is iteratively updated by a diverse group of specialist knowledge sources, starting with a problem specification and ending with a solution. Each knowledge source updates the blackboard with a partial solution when its internal constraints match the blackboard state. In this way, the specialists work together to solve the problem. The blackboard model was originally designed as a way to handle complex, ill-defined problems, where the solution is the sum of its parts.
Metaphor
The following scenario provides a simple metaphor that gives some insight into how a blackboard functions:
A group of specialists are seated in a room with a large blackboard. They work as a team to brainstorm a solution to a problem, using the blackboard as the workplace for cooperatively developing the solution.
The session begins when the problem specifications are written onto the blackboard. The specialists all watch the blackboard, looking for an opportunity to apply their expertise to the developing solution. When someone writes something on the blackboard that allows another specialist to apply their expertise, the second specialist records their contribution on the blackboard, hopefully enabling other specialists to then apply their expertise. This process of adding contributions to the blackboard continues until the problem has been solved.
Components
A blackboard-system application consists of three major components
- The software specialist modules, which are called knowledge sources (KSs). Like the human experts at a blackboard, each knowledge source provides specific expertise needed by the application.
- The blackboard, a shared repository of problems, partial solutions, suggestions, and contributed information. The blackboard can be thought of as a dynamic "library" of contributions to the current problem that have been recently "published" by other knowledge sources.
- The control shell, which controls the flow of problem-solving activity in the system. Just as the eager human specialists need a moderator to prevent them from trampling each other in a mad dash to grab the chalk, KSs need a mechanism to organize their use in the most effective and coherent fashion. In a blackboard system, this is provided by the control shell.
Implementations
Famous examples of early academic blackboard systems are the Hearsay II speech recognition system and Douglas Hofstadter's Copycat and Numbo projects.
More recent examples include deployed real-world applications, such as the PLAN component of the Mission Control System for RADARSAT-1,[5] an Earth observation satellite developed by Canada to monitor environmental changes and Earth's natural resources.
GTXImage CAD software by GTX Corporation was developed in the early 1990s using a set of rulebases and neural networks as specialists operating on a blackboard system.
Adobe Acrobat Capture (now discontinued) used a Blackboard system to decompose and recognize image pages to understand the objects, text, and fonts on the page. This function is currently built into the retail version of Adobe Acrobat as "OCR Text Recognition". Details of a similar OCR blackboard for Farsi text are in the public domain.[6]
Blackboard systems are used routinely in many military C4ISTAR systems for detecting and tracking objects.
Criticism
Blackboard systems were popular before the AI Winter and, along with most symbolic AI models, fell out of fashion during that period. Along with other models it was realised that initial successes on toy problems did not scale well to real problems on the available computers of the time. Most problems using blackboards are inherently NP-hard, so resist tractable solution by any algorithm in the large size limit. During the same period, statistical pattern recognition became dominant, most notably via simple Hidden Markov Models outperforming symbolic approaches such as Hearsay-II in the domain of speech recognition.
Recent developments
Blackboard-like systems have been constructed within modern Bayesian machine learning settings, using agents to add and remove Bayesian network nodes. In these 'Bayesian Blackboard' systems, the heuristics can acquire more rigorous probabilistic meanings as proposal and acceptances in Metropolis Hastings sampling though the space of possible structures.[7][8][9] Conversely, using these mappings, existing Metropolis-Hastings samplers over structural spaces may now thus be viewed as forms of blackboard systems even when not named as such by the authors. Such samplers are commonly found in musical transcription algorithms for example.[10]
See also
References
- ↑ Erman, L. D.; Hayes-Roth, F.; Lesser, V. R.; Reddy, D. R. (1980). "The Hearsay-II Speech-Understanding System: Integrating Knowledge to Resolve Uncertainty". ACM Computing Surveys 12 (2): 213. doi:10.1145/356810.356816.
- ↑ Corkill, Daniel D. (September 1991). "Blackboard Systems" (PDF). AI Expert 6 (9): 40–47.
- ↑
- Nii, H. Yenny (1986). Blackboard Systems (PDF) (Technical report). Department of Computer Science, Stanford University. STAN-CS-86-1123. Retrieved 2013-04-12.
- ↑ Hayes-Roth, B. (1985). "A blackboard architecture for control". Artificial Intelligence 26 (3): 251–321. doi:10.1016/0004-3702(85)90063-3.
- ↑ Corkill, Daniel D. "Countdown to success: Dynamic objects, GBB, and RADARSAT-1." Communications of the ACM 40.5 (1997): 48-58.
- ↑ Khosravi, H., & Kabir, E. (2009). A blackboard approach towards integrated Farsi OCR system. International Journal of Document Analysis and Recognition (IJDAR), 12(1), 21-32.
- ↑ Fox C, Evans M, Pearson M and Prescott T. (2011). "Towards hierarchical blackboard mapping on a whiskered robot" (PDF). Robotics and Autonomous Systems 60 (11): 1356–66.
- ↑ Sutton C. A Bayesian Blackboard for Information Fusion, Proc. Int. Conf. Information Fusion, 2004
- ↑ Carver, Norman (May 1997). "A Revisionist View of Blackboard Systems". Proceedings of the 1997 Midwest Artificial Intelligence and Cognitive Science Society Conference.
- ↑ Godsill, Simon, and Manuel Davy. "Bayesian harmonic models for musical pitch estimation and analysis." Acoustics, Speech, and Signal Processing (ICASSP), 2002 IEEE International Conference on. Vol. 2. IEEE, 2002.
External links
- Open Blackboard System An open source framework for developing blackboard systems.
- GBBopen An open source blackboard system framework for Common Lisp.
- Blackboard Event Processor An open source blackboard implementation that runs on the JVM but supports plan scripting in JavaScript and JRuby.
- KOGMO-RTDB A real-time open source blackboard for C/C++, used by some DARPA Urban Challenge autonomous vehicles.
- HarTech Technologies A company that provides both Simulation and Command and Control solutions which are all based on a unique Blackboard architecture. The Blackboard development framework can be utilized to develop own costume applications.
- The BB1 Blackboard Control architecture An older Blackboard system, available for Common Lisp and C++.
Further reading
- Craig, Iain (1995). Blackboard Systems. Norwood, NJ: Ablex. ISBN 0-89391-594-7.
- Corkill, Daniel D.; Gallagher, Kevin Q.; Johnson, Philip M. (July 1987). "Achieving flexibility, efficiency, and generality in blackboard architectures" (PDF). Proceedings of the National Conference on Artificial Intelligence. Seattle, Washington. pp. 18–23.
- Englemore, Robert; Morgan, Tony (1988). Blackboard Systems. Addison-Wesley. ISBN 0-201-17431-6.
- Jagannathan, Vasudevan; Dodhiawala, Rajendra; Baum, Lawrence S., eds. (1989). Blackboard Architectures and Applications. Academic Press. ISBN 0-12-379940-6.
- Corkill, Dalvi D. (1989). "Design Alternatives for Parallel and Distributed Blackboard Systems". In Jagannathan, V.; Dodhiawala, Rajendra; Baum, Lawrence S. Blackboard Architectures and Applications (PDF). Academic Press. pp. 99–136.
- Corkill, Dalvi Prathamesh (October 2003). "Collaborating Software: Blackboard and Multi-Agent Systems & the Future." (PDF). In Proceedings of the International Lisp Conference. New York, New York.
- Corkill, Daniel D. (March 2011). "GBBopen Tutorial". The GBBopen Project. Retrieve PDF Article