Blackboard system: Difference between revisions
m Dating maintenance tags: {{Refimprove section}} |
Citation bot (talk | contribs) Alter: title, template type. Add: chapter-url, chapter. Removed or converted URL. Removed parameters. Some additions/deletions were parameter name changes. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Artificial intelligence engineering | #UCB_Category 13/30 |
||
(45 intermediate revisions by 34 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Type of artificial intelligence approach}} |
|||
A '''blackboard system''' is an [[artificial intelligence]] approach based on the [[blackboard design pattern|blackboard architectural model]],<ref>{{Cite journal |
A '''blackboard system''' is an [[artificial intelligence]] approach based on the [[blackboard design pattern|blackboard architectural model]],<ref>{{Cite journal|last1=Erman|first1=L. D.|last2=Hayes-Roth|first2=F.|last3=Lesser|first3=V. R.|last4=Reddy|first4=D. R.|year=1980|title=The Hearsay-II Speech-Understanding System: Integrating Knowledge to Resolve Uncertainty|journal=ACM Computing Surveys|volume=12|issue=2|pages=213|doi=10.1145/356810.356816|s2cid=118556}} <!-- Erman, Hayes-Roth, & Reddy (1980). "The Hearsay-II Speech-Understanding System: Integrating Knowledge to Resolve Uncertainty" --></ref><ref>{{cite journal |
||
|last1 = Corkill |first1 = Daniel D. |
|last1 = Corkill |first1 = Daniel D. |
||
|title = Blackboard Systems |
|title = Blackboard Systems |
||
|journal = AI Expert |volume = 6 |issue = 9 |date=September 1991 |
|journal = AI Expert |volume = 6 |issue = 9 |date=September 1991 |
||
|pages = 40–47 |
|pages = 40–47 |
||
|url = http://bbtech.com/papers/ai-expert.pdf }}</ref><ref>* {{cite |
|url = http://bbtech.com/papers/ai-expert.pdf }}</ref><ref>* {{cite tech report |
||
|first=H. |
|first = H. Penny |
||
|last = Nii |
|||
|title = Blackboard Systems |
|title = Blackboard Systems |
||
|number = STAN-CS-86-1123 |
|number = STAN-CS-86-1123 |
||
|institution = Department of Computer Science, Stanford University |
|institution = Department of Computer Science, Stanford University |
||
|year = 1986 |
|year = 1986 |
||
|url= |
|url = http://i.stanford.edu/pub/cstr/reports/cs/tr/86/1123/CS-TR-86-1123.pdf |
||
|access-date = 2013-04-12 |
|||
}}</ref><ref>{{Cite journal|last1=Hayes-Roth|first1=B.|author-link=Barbara Hayes-Roth|year=1985|title=A blackboard architecture for control|journal=Artificial Intelligence|volume=26|issue=3|pages=251–321|doi=10.1016/0004-3702(85)90063-3}} <!-- Hayes-Roth (1985). "A blackboard architecture for control" --></ref> 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== |
==Metaphor== |
||
Line 29: | Line 32: | ||
# 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 '''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. |
# 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. |
||
===Learnable Task Modeling Language=== |
|||
A blackboard system is the central space in a [[multi-agent system]]. It's used for describing the world as a communication platform for agents. To realize a blackboard in a computer program, a [[Machine-readable data|machine readable]] notation is needed in which [[fact]]s can be stored. One attempt in doing so is a [[SQL database]], another option is the '''Learnable Task Modeling Language (LTML)'''. The syntax of the LTML planning language is similar to [[PDDL]], but adds extra features like control structures and [[OWL-S]] models.<ref>{{cite conference |title=Shopper: A System for Executing and Simulating Expressive Plans |author=Goldman, Robert P and Maraist, John |conference=ICAPS |pages=230–233 |year=2010}}</ref><ref>{{cite tech report |title=Agent-Based Computing in Distributed Adversarial Planning |author=Pechoucek, Michal |year=2010 |institution=Czech Technical Univ Prague}}</ref> LTML was developed in 2007<ref>{{cite conference |title=An architecture and language for the integrated learning of demonstrations |author=Burstein, Mark and Brinn, Marshall and Cox, Mike and Hussain, Talib and Laddaga, Robert and McDermott, Drew and McDonald, David and Tomlinson, Ray |conference=AAAI Workshop Acquiring Planning Knowledge via Demonstration |pages=6–11 |year=2007}}</ref> as part of a much larger project called POIROT ([[Plan Order Induction by Reasoning from One Trial]]),<ref>{{cite conference |title=Designing experiments to test planning knowledge about plan-step order constraints |author=Morrison, Clayton T and Cohen, Paul R |conference=ICAPS workshop on Intelligent Planning and Learning |year=2007}}</ref> which is a [[Inductive programming|Learning from demonstrations]] framework for [[process mining]]. In POIROT, [[Digital footprint|Plan traces]] and [[Hypothesis|hypotheses]] are stored in the LTML syntax for creating [[semantic web service]]s.<ref>{{cite conference |title=Learning from Observing: Vision and POIROT-Using Metareasoning for Self Adaptation |author=Burstein, Mark and Bobrow, Robert and Ferguson, William and Laddaga, Robert and Robertson, Paul |conference=Self-Adaptive and Self-Organizing Systems Workshop (SASOW), 2010 Fourth IEEE International Conference on |pages=300–307 |year=2010}}</ref> |
|||
Here is a small example: A human user is executing a [[workflow]] in a computer game. The user presses some buttons and interacts with the [[game engine]]. While the user interacts with the game, a plan trace is created. That means the user's actions are stored in a [[logfile]]. The logfile gets transformed into a machine readable notation which is enriched by semantic [[Attribute (computing)|attributes]]. The result is a [[textfile]] in the LTML syntax which is put on the blackboard. [[Software agent|Agents]] (software programs in the blackboard system) are able to parse the LTML syntax. |
|||
==Implementations== |
==Implementations== |
||
We start by discussing two well known early blackboard systems, BB1 and GBB, below and then discuss more recent implementations and applications. |
|||
⚫ | |||
The BB1 blackboard architecture<ref name="BB1">{{Cite journal| doi = 10.1016/0004-3702(85)90063-3| volume = 26| issue = 3| pages = 251–321| last = Hayes-Roth| first = Barbara| title = A blackboard architecture for control| journal = Artificial Intelligence| date = 1985}}</ref> was originally inspired by studies of how humans plan to perform multiple tasks in a trip, used task-planning as a simplified example of tactical planning for the [[Office of Naval Research]].<ref name="OPM">{{Cite conference| publisher = RAND| last = Hayes-Roth| first = Barbara| title = Human Planning Processes| date = 1980}}</ref> Hayes-Roth & Hayes-Roth found that human planning was more closely modeled as an opportunistic process, in contrast to the primarily top-down planners used at the time: |
|||
⚫ | |||
{{Blockquote |
|||
|text=While not incompatible with successive-refinement models, our view of planning is somewhat different. We share the assumption that planning processes operate in a two-dimensional planning space defined on time and abstraction dimensions. However, we assume that people's planning activity is largely opportunistic. That is, at each point in the process, the planner's current decisions and observations suggest various opportunities for plan development. The planner's subsequent decisions follow up on selected opportunities. Sometimes, these decision-sequences follow an orderly path and produce a neat top-down expansion as described above. However, some decisions and observations might also suggest less orderly opportunities for plan development. <ref>{{Cite journal| volume = 3| pages = 275–310| last1 = Hayes-Roth| first1 = Barbara| last2 = Hayes-Roth| first2 = Frederick| title = A Cognitive Model of Planning| journal = Cognitive Science| date = 1979| issue = 4| doi = 10.1207/s15516709cog0304_1| doi-access = free}}</ref> |
|||
}} |
|||
A key innovation of BB1 was that it applied this opportunistic planning model to its own control, using the same blackboard model of incremental, opportunistic, problem-solving that was applied to solve domain problems. Meta-level reasoning with control knowledge sources could then monitor whether planning and problem-solving were proceeding as expected or stalled. If stalled, BB1 could switch from one strategy to another as conditions – such as the goals being considered or the time remaining – changed. BB1 was applied in multiple domains: construction site planning,<ref>{{Cite book| issn = 2413-5844| last1 = Tommelein| first1 = Iris D.| last2 = Levitt| first2 = Raymond E.| last3 = Hayes-Roth| first3 = Barbara| chapter = Sightplan: An Artificial Intelligence Tool to Assist Construction Managers with Site Layout| title = Proceedings of the 6th International Symposium on Automation and Robotics in Construction (ISARC)| accessdate = 2023-03-17| date = 1989| doi = 10.22260/ISARC1989/0043| chapter-url = https://www.academia.edu/48401596}}, inferring 3D</ref> inferring 3-D protein structures from X-ray crystallography,<ref>{{Cite conference| conference = AAAI| pages = 904–909| last1 = Hayes-Roth| first1 = Barbara| last2 = Buchanan| first2 = Bruce G.| last3 = Lichtarge| first3 = Olivier| last4 = Hewitt| first4 = Mike| last5 = Altman| first5 = Russ B.| last6 = Brinkley| first6 = James F.| last7 = Cornelius| first7 = Craig| last8 = Duncan| first8 = Bruce S.| last9 = Jardetzky| first9 = Oleg| title = PROTEAN: Deriving Protein Structure from Constraints| accessdate = 2012-08-11| date = 1986| url = http://dblp.uni-trier.de/rec/bibtex/conf/aaai/Hayes-RothBLHABCDJ86}}</ref> intelligent tutoring systems,<ref>{{Cite conference| publisher = IOS| conference = 4th International Conference of AI and Education| pages = 150–168| last = Murray| first = William R.| title = Control for Intelligent Tutoring Systems: A Blackboard-based Dynamic Instructional Planner| book-title = Proceedings of the 4th International Conference on Artificial Intelligence and Education| location = Amsterdam, Holland| date = 1989}}</ref> and real-time patient monitoring.<ref>{{Cite journal| doi = 10.1016/0004-3702(94)00004-K| issn = 0004-3702| volume = 72| issue = 1| pages = 329–365| last = Hayes-Roth| first = Barbara| title = An architecture for adaptive intelligent systems| journal = Artificial Intelligence| accessdate = 2023-02-09| date = 1995-01-01| url = https://dx.doi.org/10.1016/0004-3702%2894%2900004-K| hdl = 2060/19970037819| hdl-access = free}}</ref> |
|||
⚫ | |||
BB1 also allowed domain-general language frameworks to be designed for wide classes of problems. For example, the ACCORD <ref>{{Cite journal| doi = 10.1016/0954-1810(86)90052-X| issn = 0954-1810| volume = 1| issue = 2| pages = 85–94| last1 = Hayes-Roth| first1 = Barbara| last2 = Vaughan Johnson| first2 = M.| last3 = Garvey| first3 = Alan| last4 = Hewett| first4 = Michael| title = Application of the BB1 blackboard control architecture to arrangement-assembly tasks| journal = Artificial Intelligence in Engineering| accessdate = 2018-12-21| date = 1986-10-01| url = https://dx.doi.org/10.1016/0954-1810%2886%2990052-X| url-access = subscription}}</ref> language framework defined a particular approach to solving configuration problems. The problem-solving approach was to incrementally assemble a solution by adding objects and constraints, one at a time. Actions in the ACCORD language framework appear as short English-like commands or sentences for specifying preferred actions, events to trigger KSes, preconditions to run a KS action, and obviation conditions to discard a KS action that is no longer relevant. |
|||
⚫ | Adobe Acrobat Capture (now discontinued) used a |
||
GBB <ref>{{Cite conference| conference = Proceedings of the Fifth National Conference on Artificial Intelligence| pages = 1008–1014| last1 = Corkill| first1 = Daniel| last2 = Gallagher| first2 = Kevin| last3 = Murray| first3 = Kelly| title = GBB: A Generic Blackboard Development System.| date = 1986}}</ref> focused on efficiency, in contrast to BB1, which focused more on sophisticated reasoning and opportunistic planning. GBB improves efficiency by allowing blackboards to be multi-dimensional, where dimensions can be either ordered or not, and then by increasing the efficiency of pattern matching. GBB1,<ref>{{Cite conference| conference = Workshop on Blackboard Systems| last = Corkill| first = Dan| title = Integrating BB1-Style Control into the Generic Blackboard System| location = Seattle, Washington| series = Coins Technical Report 87-59| date = 1987}}</ref> one of GBB's control shells implements BB1's style of control while adding efficiency improvements. |
|||
Blackboard systems are used routinely in many military [[C4ISTAR]] systems for detecting and tracking objects. |
|||
⚫ | |||
== Criticism == |
|||
{{Refimprove section|date=November 2016}} |
|||
Some more recent examples of deployed real-world applications include: |
|||
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. |
|||
⚫ | * The PLAN component of the Mission Control System for RADARSAT-1,<ref>Corkill, Daniel D. "Countdown to success: Dynamic objects, GBB, and RADARSAT-1." Communications of the ACM 40.5 (1997): 48-58.</ref> an [[Earth]] observation satellite developed by [[Canada]] to monitor environmental changes and Earth's natural resources. |
||
⚫ | |||
⚫ | * Adobe Acrobat Capture (now discontinued), as it 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.<ref>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.</ref> |
||
Blackboard systems are used routinely in many military [[C4ISTAR]] systems for detecting and tracking objects. Another example of current use is in [[Artificial intelligence in video games|Game AI]], where they are considered a standard AI tool to help with adding AI to video games.<ref>{{Cite book| edition = 3rd| publisher = CRC Press| isbn = 978-1-138-48397-2| last = Millington| first = Ian| title = AI for Games, Third Edition| location = Boca Raton| date = 2019-03-26}}</ref><ref>{{Cite book|edition = 1st| publisher = A K Peters/CRC Press| isbn = 978-1-03-247745-9| volume = 1| pages = 61–71| editor = Steve Rabin | last = Dill| first = Kevin| title = Game AI Pro: Collected Wisdom of Game AI Professionals| chapter = Structural Architecture— Common Tricks of the Trade| date = 2023}}</ref> |
|||
==Recent developments== |
==Recent developments== |
||
Blackboard-like systems have been constructed within modern [[Bayesian inference|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 algorithm|Metropolis Hastings sampling]] though the space of possible structures.<ref>{{cite journal |vauthors=Fox C, Evans M, Pearson M, Prescott T |title=Towards hierarchical blackboard mapping on a whiskered robot |journal=Robotics and Autonomous Systems |volume=60 |issue=11 |pages=1356–66 |year=2011 |url=http://eprints.uwe.ac.uk/18368/1/fox_ras_RAS_corrected.pdf}}</ref><ref>Sutton C. A Bayesian Blackboard for Information Fusion, Proc. Int. Conf. Information Fusion, 2004</ref><ref>{{cite conference |
Blackboard-like systems have been constructed within modern [[Bayesian inference|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 algorithm|Metropolis Hastings sampling]] though the space of possible structures.<ref>{{cite journal |vauthors=Fox C, Evans M, Pearson M, Prescott T |title=Towards hierarchical blackboard mapping on a whiskered robot |journal=Robotics and Autonomous Systems |volume=60 |issue=11 |pages=1356–66 |year=2011 |url=http://eprints.uwe.ac.uk/18368/1/fox_ras_RAS_corrected.pdf |doi=10.1016/j.robot.2012.03.005|s2cid=10880337 }}</ref><ref>Sutton C. A Bayesian Blackboard for Information Fusion, Proc. Int. Conf. Information Fusion, 2004</ref><ref>{{cite conference |
||
|first1 = Norman |last1 = Carver |
|first1 = Norman |last1 = Carver |
||
|title = A Revisionist View of Blackboard Systems |
|title = A Revisionist View of Blackboard Systems |
||
| |
|book-title = Proceedings of the 1997 Midwest Artificial Intelligence and Cognitive Science Society Conference |
||
|date=May 1997 |
|date=May 1997 |
||
|url = http://www.cs.siu.edu/~carver/ps-files/maics97.ps.gz}}</ref> 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.<ref>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.</ref> |
|url = http://www.cs.siu.edu/~carver/ps-files/maics97.ps.gz}}</ref> 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.<ref>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.</ref> |
||
Blackboard systems have also been used to build large-scale intelligent systems for the annotation of media content, automating parts of traditional social science research. In this domain, the problem of integrating various AI algorithms into a single intelligent system arises spontaneously, with blackboards providing a way for a collection of distributed, modular [[natural language processing]] algorithms to each annotate the data in a central space, without needing to coordinate their behavior.<ref>{{Cite arXiv|last1=Flaounas|first1=Ilias|last2=Lansdall-Welfare|first2=Thomas|last3=Antonakaki|first3=Panagiota|last4=Cristianini|first4=Nello|date=2014-02-25|title=The Anatomy of a Modular System for Media Content Analysis|eprint=1402.6208|class=cs.MA}}</ref> |
|||
==See also== |
==See also== |
||
<!---♦♦♦ Please keep the list in alphabetical order ♦♦♦---> |
|||
* [[Artificial intelligence systems integration]] |
|||
⚫ | |||
* [[Opportunistic reasoning]] |
* [[Opportunistic reasoning]] |
||
* [[Pandemonium architecture]] |
|||
* [[Tuple space]]s |
* [[Tuple space]]s |
||
⚫ | |||
== References == |
== References == |
||
Line 69: | Line 94: | ||
*[http://www.kogmo-rtdb.de/ KOGMO-RTDB] A real-time open source blackboard for C/C++, used by some DARPA Urban Challenge autonomous vehicles. |
*[http://www.kogmo-rtdb.de/ KOGMO-RTDB] A real-time open source blackboard for C/C++, used by some DARPA Urban Challenge autonomous vehicles. |
||
*[http://www.hartech.co.il/ 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 custom applications. |
*[http://www.hartech.co.il/ 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 custom applications. |
||
* |
*[https://web.archive.org/web/20150912083907/http://www-ksl.stanford.edu/projects/BB1/bb1.html The BB1 Blackboard Control architecture] An older Blackboard system, available for [[Common Lisp]] and [[C++]]. |
||
*[https://github.com/uob-mediapatterns/macsy Macsy] A modular blackboard architecture for Python built on top of MongoDB for the annotation of media content. |
|||
== Further reading == |
== Further reading == |
||
* {{cite book |title=Blackboard Systems |last1=Craig |first1=Iain |year=1995 |publisher= Ablex |location= Norwood, NJ |isbn=0-89391-594- |
* {{cite book |title=Blackboard Systems |last1=Craig |first1=Iain |year=1995 |publisher= Ablex |location= Norwood, NJ |isbn=978-0-89391-594-0}} <!-- Iain Craig, Blackboard Systems, 1995 --> |
||
* {{cite conference |
* {{cite conference |
||
|first1 = Daniel D. |last1 = Corkill |
|first1 = Daniel D. |
||
|last1 = Corkill |
|||
|first2 = Kevin Q. |last2 = Gallagher |
|first2 = Kevin Q. |
||
|last2 = Gallagher |
|||
|first3 = Philip M. |last3 = Johnson |
|first3 = Philip M. |
||
|last3 = Johnson |
|||
|title = Achieving flexibility, efficiency, and generality in blackboard architectures |
|title = Achieving flexibility, efficiency, and generality in blackboard architectures |
||
| |
|book-title = Proceedings of the National Conference on Artificial Intelligence |
||
|pages = 18–23 |
|pages = 18–23 |
||
|date=July 1987 |
|date = July 1987 |
||
|location = Seattle, Washington |
|location = Seattle, Washington |
||
|url = http://dancorkill.home.comcast.net/pubs/aaai87.pdf |
|url = http://dancorkill.home.comcast.net/pubs/aaai87.pdf |
||
|url-status = dead |
|||
⚫ | |||
|archive-url = https://web.archive.org/web/20060920003616/http://dancorkill.home.comcast.net/pubs/aaai87.pdf |
|||
⚫ | * {{cite book |title= Blackboard Architectures and Applications |editor1-first = Vasudevan |editor1-last = Jagannathan |editor2-first = Rajendra |editor2-last = Dodhiawala |editor3-first = Lawrence S. |editor3-last = Baum |year=1989 |publisher= Academic Press |isbn= 0-12-379940- |
||
|archive-date = 2006-09-20 |
|||
}} |
|||
⚫ | |||
⚫ | * {{cite book |title= Blackboard Architectures and Applications |editor1-first = Vasudevan |editor1-last = Jagannathan |editor2-first = Rajendra |editor2-last = Dodhiawala |editor3-first = Lawrence S. |editor3-last = Baum |year=1989 |publisher= Academic Press |isbn= 978-0-12-379940-1}} <!-- Jagannathan & Dodhiawala. Blackboard Architectures and Applications. 1989. --> |
||
* {{cite book |
* {{cite book |
||
|first1 = Dalvi D. |last1 = Corkill |
|first1 = Dalvi D. |last1 = Corkill |
||
Line 96: | Line 129: | ||
|publisher = Academic Press |
|publisher = Academic Press |
||
|year = 1989 |
|year = 1989 |
||
|url = http://dancorkill.home.comcast.net/pubs/parallel-distributed-chapter.pdf }} |
|chapter-url = http://dancorkill.home.comcast.net/pubs/parallel-distributed-chapter.pdf }} |
||
* {{cite conference |
* {{cite conference |
||
|first1 = Dalvi Prathamesh |last1 = Corkill |
|first1 = Dalvi Prathamesh |
||
|last1 = Corkill |
|||
|title = Collaborating Software: Blackboard and Multi-Agent Systems & the Future. |
|title = Collaborating Software: Blackboard and Multi-Agent Systems & the Future. |
||
| |
|book-title = In Proceedings of the International Lisp Conference |
||
|location = New York, New York |
|location = New York, New York |
||
|date=October 2003 |
|date = October 2003 |
||
|url = http://dancorkill.home.comcast.net/~dancorkill/pubs/ilc03.pdf |
|url = http://dancorkill.home.comcast.net/~dancorkill/pubs/ilc03.pdf |
||
|url-status = dead |
|||
|archive-url = https://web.archive.org/web/20110723044929/http://dancorkill.home.comcast.net/~dancorkill/pubs/ilc03.pdf |
|||
|archive-date = 2011-07-23 |
|||
}} |
|||
* {{cite web |
* {{cite web |
||
|last = Corkill |first = Daniel D. |
|last = Corkill |first = Daniel D. |
||
Line 112: | Line 150: | ||
[[Category:Architectural pattern (computer science)]] |
[[Category:Architectural pattern (computer science)]] |
||
[[Category:Artificial intelligence]] |
[[Category:Artificial intelligence engineering]] |
Latest revision as of 15:04, 15 December 2024
A blackboard system is an artificial intelligence approach 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
[edit]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
[edit]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.
Learnable Task Modeling Language
[edit]A blackboard system is the central space in a multi-agent system. It's used for describing the world as a communication platform for agents. To realize a blackboard in a computer program, a machine readable notation is needed in which facts can be stored. One attempt in doing so is a SQL database, another option is the Learnable Task Modeling Language (LTML). The syntax of the LTML planning language is similar to PDDL, but adds extra features like control structures and OWL-S models.[5][6] LTML was developed in 2007[7] as part of a much larger project called POIROT (Plan Order Induction by Reasoning from One Trial),[8] which is a Learning from demonstrations framework for process mining. In POIROT, Plan traces and hypotheses are stored in the LTML syntax for creating semantic web services.[9]
Here is a small example: A human user is executing a workflow in a computer game. The user presses some buttons and interacts with the game engine. While the user interacts with the game, a plan trace is created. That means the user's actions are stored in a logfile. The logfile gets transformed into a machine readable notation which is enriched by semantic attributes. The result is a textfile in the LTML syntax which is put on the blackboard. Agents (software programs in the blackboard system) are able to parse the LTML syntax.
Implementations
[edit]We start by discussing two well known early blackboard systems, BB1 and GBB, below and then discuss more recent implementations and applications.
The BB1 blackboard architecture[10] was originally inspired by studies of how humans plan to perform multiple tasks in a trip, used task-planning as a simplified example of tactical planning for the Office of Naval Research.[11] Hayes-Roth & Hayes-Roth found that human planning was more closely modeled as an opportunistic process, in contrast to the primarily top-down planners used at the time:
While not incompatible with successive-refinement models, our view of planning is somewhat different. We share the assumption that planning processes operate in a two-dimensional planning space defined on time and abstraction dimensions. However, we assume that people's planning activity is largely opportunistic. That is, at each point in the process, the planner's current decisions and observations suggest various opportunities for plan development. The planner's subsequent decisions follow up on selected opportunities. Sometimes, these decision-sequences follow an orderly path and produce a neat top-down expansion as described above. However, some decisions and observations might also suggest less orderly opportunities for plan development. [12]
A key innovation of BB1 was that it applied this opportunistic planning model to its own control, using the same blackboard model of incremental, opportunistic, problem-solving that was applied to solve domain problems. Meta-level reasoning with control knowledge sources could then monitor whether planning and problem-solving were proceeding as expected or stalled. If stalled, BB1 could switch from one strategy to another as conditions – such as the goals being considered or the time remaining – changed. BB1 was applied in multiple domains: construction site planning,[13] inferring 3-D protein structures from X-ray crystallography,[14] intelligent tutoring systems,[15] and real-time patient monitoring.[16]
BB1 also allowed domain-general language frameworks to be designed for wide classes of problems. For example, the ACCORD [17] language framework defined a particular approach to solving configuration problems. The problem-solving approach was to incrementally assemble a solution by adding objects and constraints, one at a time. Actions in the ACCORD language framework appear as short English-like commands or sentences for specifying preferred actions, events to trigger KSes, preconditions to run a KS action, and obviation conditions to discard a KS action that is no longer relevant.
GBB [18] focused on efficiency, in contrast to BB1, which focused more on sophisticated reasoning and opportunistic planning. GBB improves efficiency by allowing blackboards to be multi-dimensional, where dimensions can be either ordered or not, and then by increasing the efficiency of pattern matching. GBB1,[19] one of GBB's control shells implements BB1's style of control while adding efficiency improvements.
Other well-known of early academic blackboard systems are the Hearsay II speech recognition system and Douglas Hofstadter's Copycat and Numbo projects.
Some more recent examples of deployed real-world applications include:
- The PLAN component of the Mission Control System for RADARSAT-1,[20] an Earth observation satellite developed by Canada to monitor environmental changes and Earth's natural resources.
- The 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.[citation needed]
- Adobe Acrobat Capture (now discontinued), as it 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.[21]
Blackboard systems are used routinely in many military C4ISTAR systems for detecting and tracking objects. Another example of current use is in Game AI, where they are considered a standard AI tool to help with adding AI to video games.[22][23]
Recent developments
[edit]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.[24][25][26] 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.[27]
Blackboard systems have also been used to build large-scale intelligent systems for the annotation of media content, automating parts of traditional social science research. In this domain, the problem of integrating various AI algorithms into a single intelligent system arises spontaneously, with blackboards providing a way for a collection of distributed, modular natural language processing algorithms to each annotate the data in a central space, without needing to coordinate their behavior.[28]
See also
[edit]- Artificial intelligence systems integration
- Autonomous decentralized systems
- Opportunistic reasoning
- Pandemonium architecture
- Tuple spaces
References
[edit]- ^ 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. S2CID 118556.
- ^ Corkill, Daniel D. (September 1991). "Blackboard Systems" (PDF). AI Expert. 6 (9): 40–47.
- ^ * Nii, H. Penny (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.
- ^ Goldman, Robert P and Maraist, John (2010). Shopper: A System for Executing and Simulating Expressive Plans. ICAPS. pp. 230–233.
{{cite conference}}
: CS1 maint: multiple names: authors list (link) - ^ Pechoucek, Michal (2010). Agent-Based Computing in Distributed Adversarial Planning (Technical report). Czech Technical Univ Prague.
- ^ Burstein, Mark and Brinn, Marshall and Cox, Mike and Hussain, Talib and Laddaga, Robert and McDermott, Drew and McDonald, David and Tomlinson, Ray (2007). An architecture and language for the integrated learning of demonstrations. AAAI Workshop Acquiring Planning Knowledge via Demonstration. pp. 6–11.
{{cite conference}}
: CS1 maint: multiple names: authors list (link) - ^ Morrison, Clayton T and Cohen, Paul R (2007). Designing experiments to test planning knowledge about plan-step order constraints. ICAPS workshop on Intelligent Planning and Learning.
{{cite conference}}
: CS1 maint: multiple names: authors list (link) - ^ Burstein, Mark and Bobrow, Robert and Ferguson, William and Laddaga, Robert and Robertson, Paul (2010). Learning from Observing: Vision and POIROT-Using Metareasoning for Self Adaptation. Self-Adaptive and Self-Organizing Systems Workshop (SASOW), 2010 Fourth IEEE International Conference on. pp. 300–307.
{{cite conference}}
: CS1 maint: multiple names: authors list (link) - ^ Hayes-Roth, Barbara (1985). "A blackboard architecture for control". Artificial Intelligence. 26 (3): 251–321. doi:10.1016/0004-3702(85)90063-3.
- ^ Hayes-Roth, Barbara (1980). Human Planning Processes. RAND.
- ^ Hayes-Roth, Barbara; Hayes-Roth, Frederick (1979). "A Cognitive Model of Planning". Cognitive Science. 3 (4): 275–310. doi:10.1207/s15516709cog0304_1.
- ^ Tommelein, Iris D.; Levitt, Raymond E.; Hayes-Roth, Barbara (1989). "Sightplan: An Artificial Intelligence Tool to Assist Construction Managers with Site Layout". Proceedings of the 6th International Symposium on Automation and Robotics in Construction (ISARC). doi:10.22260/ISARC1989/0043. ISSN 2413-5844. Retrieved 2023-03-17., inferring 3D
- ^ Hayes-Roth, Barbara; Buchanan, Bruce G.; Lichtarge, Olivier; Hewitt, Mike; Altman, Russ B.; Brinkley, James F.; Cornelius, Craig; Duncan, Bruce S.; Jardetzky, Oleg (1986). PROTEAN: Deriving Protein Structure from Constraints. AAAI. pp. 904–909. Retrieved 2012-08-11.
- ^ Murray, William R. (1989). "Control for Intelligent Tutoring Systems: A Blackboard-based Dynamic Instructional Planner". Proceedings of the 4th International Conference on Artificial Intelligence and Education. 4th International Conference of AI and Education. Amsterdam, Holland: IOS. pp. 150–168.
- ^ Hayes-Roth, Barbara (1995-01-01). "An architecture for adaptive intelligent systems". Artificial Intelligence. 72 (1): 329–365. doi:10.1016/0004-3702(94)00004-K. hdl:2060/19970037819. ISSN 0004-3702. Retrieved 2023-02-09.
- ^ Hayes-Roth, Barbara; Vaughan Johnson, M.; Garvey, Alan; Hewett, Michael (1986-10-01). "Application of the BB1 blackboard control architecture to arrangement-assembly tasks". Artificial Intelligence in Engineering. 1 (2): 85–94. doi:10.1016/0954-1810(86)90052-X. ISSN 0954-1810. Retrieved 2018-12-21.
- ^ Corkill, Daniel; Gallagher, Kevin; Murray, Kelly (1986). GBB: A Generic Blackboard Development System. Proceedings of the Fifth National Conference on Artificial Intelligence. pp. 1008–1014.
- ^ Corkill, Dan (1987). Integrating BB1-Style Control into the Generic Blackboard System. Workshop on Blackboard Systems. Coins Technical Report 87-59. Seattle, Washington.
- ^ 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.
- ^ Millington, Ian (2019-03-26). AI for Games, Third Edition (3rd ed.). Boca Raton: CRC Press. ISBN 978-1-138-48397-2.
- ^ Dill, Kevin (2023). "Structural Architecture— Common Tricks of the Trade". In Steve Rabin (ed.). Game AI Pro: Collected Wisdom of Game AI Professionals. Vol. 1 (1st ed.). A K Peters/CRC Press. pp. 61–71. ISBN 978-1-03-247745-9.
- ^ Fox C, Evans M, Pearson M, Prescott T (2011). "Towards hierarchical blackboard mapping on a whiskered robot" (PDF). Robotics and Autonomous Systems. 60 (11): 1356–66. doi:10.1016/j.robot.2012.03.005. S2CID 10880337.
- ^ 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.
- ^ Flaounas, Ilias; Lansdall-Welfare, Thomas; Antonakaki, Panagiota; Cristianini, Nello (2014-02-25). "The Anatomy of a Modular System for Media Content Analysis". arXiv:1402.6208 [cs.MA].
External links
[edit]- 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 custom applications.
- The BB1 Blackboard Control architecture An older Blackboard system, available for Common Lisp and C++.
- Macsy A modular blackboard architecture for Python built on top of MongoDB for the annotation of media content.
Further reading
[edit]- Craig, Iain (1995). Blackboard Systems. Norwood, NJ: Ablex. ISBN 978-0-89391-594-0.
- 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. Archived from the original (PDF) on 2006-09-20.
- Englemore, Robert; Morgan, Tony (1988). Blackboard Systems. Addison-Wesley. ISBN 978-0-201-17431-1.
- Jagannathan, Vasudevan; Dodhiawala, Rajendra; Baum, Lawrence S., eds. (1989). Blackboard Architectures and Applications. Academic Press. ISBN 978-0-12-379940-1.
- Corkill, Dalvi D. (1989). "Design Alternatives for Parallel and Distributed Blackboard Systems" (PDF). In Jagannathan, V.; Dodhiawala, Rajendra; Baum, Lawrence S. (eds.). Blackboard Architectures and Applications. 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. Archived from the original (PDF) on 2011-07-23.
- Corkill, Daniel D. (March 2011). "GBBopen Tutorial". The GBBopen Project. Retrieve PDF Article