一、黑板模式
黑板模式是一種常用的架構模式,應用中的多種不同數據處理邏輯相互影響和協同來完成數據分析處理。就好像多位不同的專家在同一黑板上交流思想,每個專家都可以獲得別的專家寫在黑板上的信息,同時也可以用自己的分析去更新黑板上的信息,從而影響其它專家。
黑板模型是一種典型而流行的專家系統結構模式。黑板模型首先於1973-1976年在美國Carnegie-Mellon大學開發的HEARSAY-Ⅱ系統中創立,又在HEARSAY-Ⅲ中得到發展,后來由許多系統所效仿和采用,已是一種十分流行的知識系統結構模式。
其基本思想為:多個人類專家或主體專家協同求解一個問題,黑板是一個共享的問題求解工作空間,多個專家都能“看到”黑板。當問題和初始數據記錄到黑板上,求解開始。所有專家通過“看”黑板尋求利用其專家經驗知識求解問題的機會。當一個專家發現黑板上的信息足以支持他進一步求解問題時,他就將求解結果記錄在黑板上。新增加的信息有可能使其他專家繼續求解。重復這一過程直到問題徹底解決,獲得最終結果。
二、黑板模式結構
(1)知識源(KS):應用領域根據求解問題專門知識的不同划分成若干相互獨立的專家,這些專家稱為知識源(即主體)。
(2)黑板:即共享的問題求解工作空間。一般是以層次結構的方式組織,主要存放知識源所需要的信息和求解過程中的解狀態數據,有時也存放控制數據。在問題求解過程中,知識源不斷地修改黑板。知識源之間的通信和交互只能通過黑板進行。
(3)監控機制:根據黑板上的問題求解狀態和各知識源的求解技能,依據某種控制策略,動態地選擇和激活合適的知識源,使知識源能適時響應黑板變化。

三、黑板模式特點
(1) 各主體(即知識源)之間相互獨立;
(1) 各主體(即知識源)之間相互獨立,主體之間不存在相互作用;
(2) 黑板結構能夠靈活表示信息;
(3) 使用共同的交互語言;
(4) 獨立的監控機制;
(5) 黑板結構適合於在多重抽象級上描述與處理問題;
(6) 機遇問題求解機制,特別適合於事先無法確定問題求解次序的復雜問題;
(7) 黑板模型提供了集成現有軟件的一種方法。
四、黑板模式實現方法
在實際應用中常見的實現模式有:
1,數據庫
利用數據庫充當黑板,不同的應用共享數據庫中信息,並且可以更新數據信息。這也是最常見的實現方式。
特點:
(1)便於實現信息的查詢,篩選和統計,這方面關系數據庫提供了SQL 92的強大支持。
(2)不能用於較高實時性要求的環境,這種實現是工作在“拉模式”下的,並且高頻率的訪問數據庫會導致嚴重的系統性能問題。
2,發布—訂閱模式
這種實現方式通常采用消息隊列作為黑板,隊列工作在主題模式(Topic),專家作為隊列的訂閱者,同時可以向隊列發送消息,消息會被發送至所有訂閱者。以上過程實現了專家間的信息交流。
特點:
(1)可以有效應用於實時性要求較高的系統,這種實現工作在“推模式”下。
(2)難於實現信息的統計分析,不像實現方式一那樣可以通過SQL支持,這些工作必須開發者自己完成。
五、黑板模式應用場景
黑板模式常應用於:語音識別、車輛識別和跟蹤、蛋白質結構識別、聲納信號的解釋。
黑板模式解決沒有確定可行的解決方案,將原始數據轉換為高級數據結構(圖表或英語詞組)。存在這些問題的領域包括視覺識別,圖像識別,語音識別和監視等。這種問題具體如下特點:可分解成多個子問題,但每個子問題都屬於不同的專業領域。
適用范圍:
1,不可能在合理的時間內遍歷整個解空間;
2,鑒於領域不成熟,可能需要對同一個子任務嘗試不同的算法;
3,子問題的算法各不相同;
4,輸入,中間結果和最終結果的表示方式各不相同,而不同算法是根據不同范式實現的;
5,一個算法通常使用另一個算法的結果;
6,涉及不可靠的數據和近似解;
7,算法的執行順序不確定時還可能要求支持並行性。
應用舉例:
可解決的問題:可分解成多個子問題,但每個子問題都屬於不同的專業領域。
解決方案:黑板模式正是來解決這種問題的,黑板模式就好像多位不同的專家在同一黑板上交流思想,每個專家都可以獲得別的專家寫在黑板上的信息,同時也可以用自己的分析去更新黑板上的信息,從而影響其它專家,正好解決了可分解成多個子問題,但每個子問題都屬於不同的專業領域的問題。
實例分析:語音識別(語音翻譯)
系統可以識別漢語,英語,俄語,意大利語,法語,日語這6種語言。
數據庫存放事實:英式英語,美式英語,語言的各種方言
判定那種語言?
TF 語音是四川話 THEN 語音是漢語
TF 語音是美式英語 THEN 語音是英語
TF 語音是粵語 THEN 語音粵語
TF 語音是河南話和普通話 THEN 語音是漢語
解釋:每種語言屬於不同領域,每個語音可能摻雜多種語言,要解析就要分解,黑板模式適用
