블랙보드 시스템

**블랙보드 시스템**(Blackboard system)은 블랙보드 아키텍처 모델을 기반으로 한 인공지능 접근 방식이다. 여기서 공통 지식 베이스인 "블랙보드"는 다양한 전문 지식 소스 그룹에 의해 문제 정의에서 시작하여 해결책으로 끝나는 방식으로 반복적으로 업데이트된다. 각 지식 소스는 내부 제약 조건이 블랙보드 상태와 일치할 때 부분적인 해결책으로 블랙보드를 업데이트한다. 이런 방식으로 전문가들은 함께 문제를 해결한다. 블랙보드 모델은 원래 해결책이 부분의 합인 복잡하고 잘 정의되지 않은 문제를 처리하는 방법으로 설계되었다.

## 은유
다음 시나리오는 블랙보드가 어떻게 작동하는지에 대한 통찰력을 제공하는 간단한 은유를 제공한다.


한 무리의 전문가들이 큰 칠판이 있는 방에 앉아 있다. 그들은 칠판을 공동으로 해결책을 개발하는 작업 공간으로 사용하여 문제에 대한 해결책을 브레인스토밍하는 팀으로 일한다.

세션은 문제 사양이 칠판에 쓰여질 때 시작된다. 전문가들은 모두 칠판을 주시하며, 개발 중인 해결책에 자신들의 전문 지식을 적용할 기회를 찾는다. 누군가 칠판에 다른 전문가가 자신의 전문 지식을 적용할 수 있도록 하는 것을 쓰면, 두 번째 전문가는 자신의 기여를 칠판에 기록하고, 다른 전문가들이 자신의 전문 지식을 적용할 수 있도록 한다. 칠판에 기여를 추가하는 이 과정은 문제가 해결될 때까지 계속된다.


## 구성 요소

블랙보드 시스템 애플리케이션은 세 가지 주요 구성 요소로 구성된다.

# **지식 소스(KSs)**라고 불리는 소프트웨어 전문가 모듈. 블랙보드에 있는 인간 전문가처럼 각 지식 소스는 애플리케이션에 필요한 특정 전문 지식을 제공한다.
# **블랙보드**는 문제, 부분 해결책, 제안 및 기여된 정보의 공유 저장소이다. 블랙보드는 다른 지식 소스에 의해 최근 "발행"된 현재 문제에 대한 기여의 동적 "라이브러리"로 생각할 수 있다.
# 시스템에서 문제 해결 활동의 흐름을 제어하는 **제어 셸**. 열정적인 인간 전문가가 칠판을 잡기 위해 광란의 질주에서 서로 짓밟는 것을 막기 위해 중재자가 필요한 것처럼, KS는 가장 효과적이고 일관된 방식으로 사용을 조직하는 메커니즘이 필요하다. 블랙보드 시스템에서 이것은 제어 셸에 의해 제공된다.

### 학습 가능한 태스크 모델링 언어

블랙보드 시스템은 다중 에이전트 시스템의 중심 공간이다. 에이전트를 위한 통신 플랫폼으로 세상을 설명하는 데 사용된다. 컴퓨터 프로그램에서 블랙보드를 구현하려면 기계가 읽을 수 있는 표기법이 필요하며, 여기에 사실을 저장할 수 있다. 이를 위한 한 가지 시도는 SQL 데이터베이스이며, 다른 옵션은 **학습 가능한 태스크 모델링 언어(LTML)**이다. LTML 계획 언어의 구문은 PDDL과 유사하지만, 제어 구조 및 OWL-S 모델과 같은 추가 기능을 포함한다. LTML은 2007년에 POIROT(하나의 시도에서 추론을 통한 계획 순서 유도)라는 훨씬 큰 프로젝트의 일부로 개발되었는데, 이는 프로세스 마이닝을 위한 시연으로부터 학습 프레임워크이다. POIROT에서 계획 추적 및 가설은 시맨틱 웹 서비스를 만들기 위해 LTML 구문으로 저장된다.

다음은 작은 예시이다. 인간 사용자가 컴퓨터 게임에서 워크플로를 실행하고 있다. 사용자는 몇몇 버튼을 누르고 게임 엔진과 상호작용한다. 사용자가 게임과 상호작용하는 동안 계획 추적이 생성된다. 즉, 사용자의 행동은 로그파일에 저장된다. 로그파일은 의미론적 속성으로 풍부해진 기계가 읽을 수 있는 표기법으로 변환된다. 그 결과는 LTML 구문의 텍스트 파일이며 블랙보드에 저장된다. 에이전트(블랙보드 시스템의 소프트웨어 프로그램)는 LTML 구문을 파싱할 수 있다.

## 구현

아래에서는 잘 알려진 초기 블랙보드 시스템인 BB1과 GBB를 먼저 논의한 다음, 최근의 구현 및 응용에 대해 다룬다.

BB1 블랙보드 아키텍처는 원래 사람들이 여행 중 여러 작업을 수행하기 위해 어떻게 계획하는지에 대한 연구에서 영감을 받았으며, 해군연구청을 위한 전술 계획의 단순화된 예시로 작업 계획을 사용했다. 헤이스-로스 & 헤이스-로스는 인간의 계획이 당시 주로 사용되던 하향식 계획과 대조적으로 기회주의적인 과정으로 더 가깝게 모델링된다는 것을 발견했다.

BB1의 핵심 혁신은 이 기회주의적 계획 모델을 자체 제어에 적용하여, 도메인 문제 해결에 적용된 것과 동일한 점진적, 기회주의적 문제 해결 블랙보드 모델을 사용했다는 것이다. 제어 지식 소스를 사용한 메타 수준 추론은 계획 및 문제 해결이 예상대로 진행되는지 또는 정체되는지 모니터링할 수 있었다. 정체되면 BB1은 고려 중인 목표나 남은 시간과 같은 조건이 변경됨에 따라 한 전략에서 다른 전략으로 전환할 수 있었다. BB1은 여러 도메인에 적용되었다: 건설 현장 계획, X선 결정학에서 3차원 단백질 구조 추론, 지능형 튜터링 시스템, 그리고 실시간 환자 모니터링.

BB1은 또한 광범위한 문제에 대해 도메인 일반 언어 프레임워크를 설계할 수 있도록 했다. 예를 들어, ACCORD 언어 프레임워크는 구성 문제를 해결하기 위한 특정 접근 방식을 정의했다. 문제 해결 접근 방식은 한 번에 하나씩 객체와 제약 조건을 추가하여 해결책을 점진적으로 조립하는 것이었다. ACCORD 언어 프레임워크의 동작은 선호하는 동작, KS를 트리거할 이벤트, KS 동작을 실행할 전제 조건, 더 이상 관련 없는 KS 동작을 폐기할 폐기 조건을 지정하기 위한 짧은 영어와 유사한 명령 또는 문장으로 나타난다.

GBB는 정교한 추론과 기회주의적 계획에 더 중점을 둔 BB1과 달리 효율성에 중점을 두었다. GBB는 블랙보드를 정렬되거나 정렬되지 않은 다차원으로 허용하고 패턴 일치의 효율성을 높여 효율성을 향상시킨다. GBB1, GBB의 제어 셸 중 하나는 효율성 향상을 추가하면서 BB1 스타일의 제어를 구현한다.

초기 학술 블랙보드 시스템 중 잘 알려진 다른 예로는 Hearsay II 음성 인식 시스템과 더글러스 호프스태터의 카피캣 및 Numbo 프로젝트가 있다.

배포된 실제 애플리케이션의 최신 예는 다음과 같다.

* 캐나다가 환경 변화 및 지구의 자연 자원을 모니터링하기 위해 개발한 지구 관측 위성인 RADARSAT-1을 위한 임무 제어 시스템의 PLAN 구성 요소

* GTX Corporation의 GTXImage CAD 소프트웨어는 1990년대 초에 블랙보드 시스템에서 작동하는 규칙 기반 및 신경망 세트를 전문가로 사용하여 개발되었다.

* Adobe Acrobat Capture (현재 단종)는 블랙보드 시스템을 사용하여 이미지 페이지를 분해하고 인식하여 페이지의 객체, 텍스트 및 글꼴을 이해했다. 이 기능은 현재 Adobe Acrobat의 소매 버전에 "OCR 텍스트 인식"으로 내장되어 있다. 페르시아어 텍스트를 위한 유사한 OCR 블랙보드의 세부 정보는 공개 도메인에 있다.

블랙보드 시스템은 많은 군사 C4ISTAR 시스템에서 객체 감지 및 추적을 위해 일상적으로 사용된다. 현재 사용되는 다른 예는 게임 AI이며, 비디오 게임에 AI를 추가하는 데 도움이 되는 표준 AI 도구로 간주된다.

## 최근 개발

블랙보드와 유사한 시스템은 현대 베이즈 기계 학습 설정 내에서 구축되었으며, 에이전트를 사용하여 베이즈 네트워크 노드를 추가하고 제거한다. 이러한 '베이즈 블랙보드' 시스템에서 발견법은 가능한 구조 공간을 통한 메트로폴리스 헤이스팅스 샘플링에서 제안 및 수락으로서 더 엄격한 확률적 의미를 얻을 수 있다. 반대로, 이러한 매핑을 사용하면 구조 공간에 대한 기존 메트로폴리스-헤이스팅스 샘플러는 저자에 의해 그렇게 명명되지 않았더라도 이제 블랙보드 시스템의 한 형태로 볼 수 있다. 이러한 샘플러는 예를 들어 음악 전사 알고리즘에서 일반적으로 발견된다.

블랙보드 시스템은 미디어 콘텐츠 주석을 위한 대규모 지능형 시스템을 구축하는 데도 사용되어 전통적인 사회 과학 연구의 일부를 자동화했다. 이 도메인에서는 다양한 AI 알고리즘을 단일 지능형 시스템에 통합하는 문제가 자연스럽게 발생하며, 블랙보드는 분산된 모듈식 자연어 처리 알고리즘 모음이 동작을 조정할 필요 없이 중앙 공간의 데이터를 각자 주석을 달 수 있는 방법을 제공한다.

## 같이 보기
* 인공지능 시스템 통합
* 자율 분산 시스템
* 기회주의적 추론
* 판데모니움 아키텍처
* 튜플 공간

## 각주

## 외부 링크
* Open Blackboard System 블랙보드 시스템 개발을 위한 오픈 소스 프레임워크.
* GBBopen 커먼 리스프를 위한 오픈 소스 블랙보드 시스템 프레임워크.
* Blackboard Event Processor JVM에서 실행되지만 자바스크립트 및 JRuby에서 계획 스크립트를 지원하는 오픈 소스 블랙보드 구현.
* KOGMO-RTDB 일부 DARPA 도시 챌린지 자율 주행 차량에서 사용되는 C/C++용 실시간 오픈 소스 블랙보드.
* HarTech Technologies 독특한 블랙보드 아키텍처를 기반으로 시뮬레이션 및 명령 및 제어 솔루션을 모두 제공하는 회사. 블랙보드 개발 프레임워크는 사용자 정의 애플리케이션을 개발하는 데 활용될 수 있다.
* BB1 블랙보드 제어 아키텍처 커먼 리스프 및 C++에서 사용 가능한 이전 블랙보드 시스템.
* Macsy 미디어 콘텐츠 주석을 위해 MongoDB 위에 구축된 Python용 모듈식 블랙보드 아키텍처.

## 추가 자료

*  
* 
*  
*  
* 
* 
*  PDF 문서 검색

분류:아키텍처 패턴
분류:인공지능공학