Memra

The blackboard architecture

Coordinating many specialist knowledge sources around one shared blackboard — and how HEARSAY-II understood speech.

Beyond a single rule set

A production system has one monolithic rule set. Some problems need *several different kinds* of expertise that must interact — speech understanding needs acoustic processing, phoneme recognition, word finding, syntax, and semantics all at once. The blackboard architecture solves this coordination problem.

Its parts:

- A shared global data structure, the blackboard, the common communication medium. - Multiple independent knowledge sources (KS₁, KS₂, …), each a specialist for one aspect of the problem. - A scheduler — itself a knowledge source — that decides which KS to activate next (heuristic control, via a priority queue).

Each knowledge source is asynchronous: it activates whenever it finds appropriate input data on the blackboard, processes it, posts its results back, and waits for new input. Knowledge sources do not call each other — they only know the blackboard protocol. A new KS can be added without touching the others (the same modularity production rules have). The blackboard is a communication medium, not a controller.

HEARSAY-II

HEARSAY-II understood speech with a blackboard organised by time and by level of analysis. Seven knowledge sources worked up the levels: waveform → phonemes → syllables → words → word sequences → phrases. Many competing hypotheses coexisted at each level, and higher levels constrained lower ones top-down (if a phrase KS could not interpret a word, it could ask the word KS to try again) — exactly how human context resolves acoustic ambiguity. HEARSAY-III generalised the idea: it dropped the time dimension and split the scheduler onto a *second* control blackboard, making it a general expert-system shell.

Worked example — a level-climbing blackboard

Blackboard starts with {signal: raw}. Three knowledge sources fire in turn, each triggered by the level below it being present and its own level being absent:

- KS-signal sees signal, posts phonemes = [k, ae, t]. - KS-word sees phonemes, posts word = cat. - KS-phrase sees word, posts phrase = the cat. - No KS can contribute → the scheduler halts.

No KS ever called another; each just reacted to what appeared on the blackboard. That data-driven, asynchronous activation is what makes the architecture scale and is a direct precursor to multi-agent AI.

NORMAL ~/memra/learn/comp-456/blackboard-architecture utf-8 LF