Система «чёрная доска»
Система «чёрная доска» (англ. blackboard system) — это подход в области искусственного интеллекта, основанный на архитектурной модели «чёрная доска»[1], в которой общая база знаний, называемая «чёрной доской», поочерёдно дополняется различными специализированными источниками знаний: работа начинается с постановки задачи и завершается нахождением решения. Каждый источник знаний обновляет чёрную доску частичным решением, если его внутренние условия соответствуют текущему состоянию доски. Таким образом, специалисты совместно решают задачу. Модель чёрной доски была изначально предложена для работы со сложными, слабо формализованными задачами, решение которых складывается из совокупности частных решений.
Метафора
Следующая ситуация иллюстрирует работу системы «чёрная доска»:
Группа специалистов находится в комнате с большой чёрной доской. Они работают командой, чтобы найти решение задачи, используя доску в качестве рабочей области для совместной выработки решения.
Сессия начинается с того, что условия задачи записываются на доске. Все специалисты следят за доской, ища возможность применить свою экспертизу для развития решения. Когда кто-то записывает информацию, дающую другому специалисту шанс применить свои знания, этот второй участник вносит свой вклад на доску, создавая дополнительные возможности для других. Процесс добавления информации продолжается, пока задача не будет решена.
Компоненты
Приложение, реализующее систему «чёрная доска», состоит из трёх основных компонентов:
- Программных специализированных модулей — источников знаний (англ. knowledge sources, KS). Как и человеческие эксперты, каждый источник знаний вносит специфическую экспертизу, необходимую для решения.
- Чёрной доски — общей базы или пространства, где размещаются задачи, частичные решения, предложения и иные сведения. Чёрную доску можно рассматривать как динамическую «библиотеку» вновь появляющихся вкладов в решение задачи.
- Управляющей оболочки, которая контролирует ход рассуждений. Как в реальной группе нужен модератор для упорядочения действий специалистов, так и источникам знаний необходим механизм, организующий их последовательность и эффективность — это реализует управляющая оболочка.
Система «чёрная доска» служит центральным пространством в мультиагентных системах, применяясь в качестве платформы для коммуникации агентов и описания мира. Для реализации черной доски в программе необходим машиночитаемый формат для хранения фактов. Одним из вариантов является использование SQL-базы данных, другой — применение языка Learnable Task Modeling Language (LTML, «Язык моделирования обучаемых задач»). Синтаксис LTML близок к PDDL, но расширен управлением выполнения и поддержкой моделей OWL-S[2]. LTML был разработан в 2007 году[3] в рамках крупного проекта POIROT (англ. Plan Order Induction by Reasoning from One Trial — индукция порядка действий на основе единственной демонстрации)[4], являющегося системой обучения по демонстрациям для анализа процессов. В POIROT, журналы выполнения и гипотезы хранятся в формате LTML для создания семантических веб-сервисов[5].
Пример: пользователь выполняет workflow в компьютерной игре — нажимает кнопки, взаимодействует с игровым движком. Во время этого формируется трассировка плана: действия пользователя фиксируются в журнале событий. Этот журнал преобразуется в машиночитаемую форму с дополнительными семантическими атрибутами, в результате чего получается текстовый файл в формате LTML, который размещается на чёрной доске. Агенты (программы в системе «чёрная доска») могут разбирать и интерпретировать этот файл.
Реализации
Наиболее известными ранними реализациями систем «чёрная доска» являются BB1 и GBB; кроме того, существуют и современные реализации, о которых говорится ниже.
Архитектура BB1[6] изначально вдохновлялась исследованиями по многозадачному планированию человеком (например, организации поездки) и использовалась как пример тактического планирования в проектах Office of Naval Research[7]. Барбара Хейс-Рот и Фредерик Хейс-Рот показали, что реальное человеческое планирование чаще оппортунистично (основывается на возникающих возможностях), в отличие от формально-декларативных (иерархических) моделей:
Хотя наша модель не противоречит моделям поэтапной детализации, наш взгляд на планирование несколько иной. Мы считаем, что планирование происходит в двумерном пространстве — по времени и по уровню абстракции. Однако деятель зачастую действует оппортунистично: в каждый момент его решения и наблюдения открывают различные возможности для развития плана. Последующие решения выбирают среди этих возможностей. Иногда развертывание ведётся строго сверху вниз, но некоторые решения или наблюдения могут привести к менее упорядоченному развитию плана[8].
Ключевая новизна BB1 — применение оппортунистической модели управления и контроля, строящей рассуждение о собственном состоянии таким же образом, как и об объектной задаче. Модуль управления знаниями на метауровне отслеживал, насколько эффективно идёт решение, и позволял гибко переключаться между стратегиями, если система «застревала» или менялись условия (например, цели, ограничения во времени). BB1 применялась в разных сферах: планирование строительных площадок[9], определение трёхмерной структуры белков по данным рентгеноструктурного анализа[10], интеллектуальное обучение[11], мониторинг пациентов в реальном времени[12].
BB1 позволяла разрабатывать языки спецификаций для целых классов задач. Например, фреймворк ACCORD[13] представлял собой язык для решения задач компоновки, в котором действия задавались простыми и читаемыми конструкциями с условиями активации и завершения, триггерами и условиями применения/отмены.
GBB[14] был нацелен в первую очередь на повышение эффективности, реализовав многомерность доски и ускоренное сопоставление шаблонов. Контур управления GBB1[15] реализует стиль BB1, но с дополнительными оптимизациями.
К числу других классических примеров относят систему распознавания речи Hearsay II и проекты Дугласа Хофштадтера Copycat и Numbo.
Современные применения и реализации:
- Система PLAN для управления миссиями спутника RADARSAT-1 — канадского спутника для экологического мониторинга ресурсов и среды[16].
- Программное обеспечение для CAD — GTXImage от GTX Corporation, реализующее систему чёрной доски с базами правил и нейросетями как источниками знаний (разрабатывалось в начале 1990-х).
- Система Adobe Acrobat Capture (снят с производства), где чёрная доска использовалась для разложения и распознавания объектов, текста и шрифтов на страницах изображений (функция сейчас включена в коммерческую Acrobat как «OCR Text Recognition»). Аналогичные решения реализованы и для оптического распознавания текста на фарси[17].
Системы чёрной доски активно используются в военных системах класса C4ISTAR для обнаружения и отслеживания объектов. Примером современной области применения являются игровые ИИ, где такие системы стали стандартным инструментом для построения поведения персонажей[18].
Современные разработки
Системы, аналогичные чёрной доске, реализуются и в современных байесовских системах машинного обучения, где агенты добавляют и удаляют узлы в байесовских сетях. В таких системах эвристики приобретают строгий вероятностный смысл как предложения/приёмки шагов алгоритма Метрополиса—Гастингса при переборе возможных структур[19]. Более того, подобные методы можно трактовать как системы чёрной доски даже тогда, когда авторы их так не называют — например, в алгоритмах для музыкальной транскрипции[20].
Системы чёрной доски применяются и для построения масштабируемых интеллектуальных сред аннотирования мультимедийных данных, автоматизации исследований в социальных науках, где требуется интеграция разнообразных ИИ-алгоритмов в единой системе без необходимости координации между компонентами. В частности, модули обработки естественного языка помечают одни и те же данные в этом общем пространстве[21].
Примечания
- ↑ 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. Дата обращения 2024-06-22.
|access-date=требует|url=(справка) - ↑ Goldman, Robert P; Maraist, John (2010). Shopper: A System for Executing and Simulating Expressive Plans. ICAPS [англ.]. pp. 230—233.
- ↑ Burstein, Mark; Brinn, Marshall; Cox, Mike; Hussain, Talib; Laddaga, Robert; McDermott, Drew; McDonald, David; Tomlinson, Ray (2007). An architecture and language for the integrated learning of demonstrations. AAAI Workshop Acquiring Planning Knowledge via Demonstration [англ.]. pp. 6—11.
- ↑ Morrison, Clayton T; Cohen, Paul R (2007). Designing experiments to test planning knowledge about plan-step order constraints. ICAPS workshop on Intelligent Planning and Learning [англ.].
- ↑ Burstein, Mark; Bobrow, Robert; Ferguson, William; Laddaga, Robert; 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.
- ↑ Hayes-Roth, Barbara (1985). “A blackboard architecture for control”. Artificial Intelligence [англ.]. 26 (3): 251—321. DOI:10.1016/0004-3702(85)90063-3. Дата обращения 2024-06-22.
|access-date=требует|url=(справка) - ↑ Hayes-Roth, Barbara (1980). Human Planning Processes [англ.]. RAND. Дата обращения 2024-06-22.
|access-date=требует|url=(справка) - ↑ Hayes-Roth, Barbara; Hayes-Roth, Frederick (1979). “A Cognitive Model of Planning”. Cognitive Science [англ.]. 3 (4): 275—310. DOI:10.1207/s15516709cog0304_1. Дата обращения 2024-06-22.
|access-date=требует|url=(справка) - ↑ Tommelein, Iris D. 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) : [англ.] / Iris D. Tommelein, Raymond E. Levitt, Barbara Hayes-Roth. — 1989. — doi:10.22260/ISARC1989/0043.
- ↑ 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. Дата обращения 2024-06-22.
- ↑ 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 (1 января 1995). “An architecture for adaptive intelligent systems”. Artificial Intelligence [англ.]. 72 (1): 329—365. DOI:10.1016/0004-3702(94)00004-K. ISSN 0004-3702. Дата обращения 2024-06-22.
- ↑ Hayes-Roth, Barbara; Vaughan Johnson, M.; Garvey, Alan; Hewett, Michael (1 октября 1986). “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. Дата обращения 2024-06-22.
- ↑ 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. (1997). “Countdown to success: Dynamic objects, GBB, and RADARSAT-1”. Communications of the ACM [англ.]. 40 (5): 48—58. Дата обращения 2024-06-22.
|access-date=требует|url=(справка) - ↑ 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. Дата обращения 2024-06-22.
|access-date=требует|url=(справка) - ↑ Millington, Ian. AI for Games, Third Edition : [англ.]. — 3rd. — Boca Raton : CRC Press, 26 марта 2019. — ISBN 978-1-138-48397-2.
- ↑ 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. Дата обращения 2024-06-22.
- ↑ 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 (25 февраля 2014), The Anatomy of a Modular System for Media Content Analysis, arΧiv:1402.6208 [cs.MA].
Ссылки
- Open Blackboard System — открытая среда для разработки систем чёрной доски.
- GBBopen — открытая система на основе чёрной доски для языка Common Lisp.
- Blackboard Event Processor — реализация чёрной доски для JVM с поддержкой планирования сценариев на JavaScript и JRuby.
- KOGMO-RTDB — система реального времени с открытым исходным кодом для C/C++, используется в некоторых автономных транспортных средствах DARPA Urban Challenge.
- HarTech Technologies — компания, реализующая различные системы симуляции и управления на основе архитектуры чёрной доски (в том числе платформы для разработки прикладных решений).
- The BB1 Blackboard Control architecture — реализация чёрной доски для Common Lisp и C++.
- Macsy — модульная архитектура системы чёрной доски на Python, использующая MongoDB для аннотирования мультимедийных данных.
Литература
- Craig, Iain. Blackboard Systems : [англ.]. — Norwood, NJ : Ablex, 1995. — ISBN 978-0-89391-594-0.
- Corkill, Daniel D.; Gallagher, Kevin Q.; Johnson, Philip M. (июль 1987). “Achieving flexibility, efficiency, and generality in blackboard architectures” (PDF). Proceedings of the National Conference on Artificial Intelligence [англ.]. Сиэтл, США. pp. 18—23. Архивировано из оригинала (PDF) 2006-09-20. Используется устаревший параметр
|url-status=(справка); Проверьте дату в|date=(справка на английском) - Englemore, Robert. Blackboard Systems : [англ.] / Robert Englemore, Tony Morgan. — Addison-Wesley, 1988. — ISBN 978-0-201-17431-1.
- Blackboard Architectures and Applications : [англ.]. — Academic Press, 1989. — ISBN 978-0-12-379940-1.
- Corkill, Dalvi D. Design Alternatives for Parallel and Distributed Blackboard Systems // Blackboard Architectures and Applications : [англ.]. — Academic Press, 1989. — P. 99–136.
- Corkill, Dalvi Prathamesh (октябрь 2003). “Collaborating Software: Blackboard and Multi-Agent Systems & the Future.” (PDF). In Proceedings of the International Lisp Conference [англ.]. Нью-Йорк, США. Архивировано из оригинала (PDF) 2011-07-23. Используется устаревший параметр
|url-status=(справка); Проверьте дату в|date=(справка на английском) - Corkill, Daniel D. GBBopen Tutorial (англ.). The GBBopen Project (март 2011). Текст статьи (PDF)