孫喁喁
(西安工業(yè)大學(xué) 計算機科學(xué)與工程學(xué)院,陜西 西安 710032)
黑板模型是一種高度結(jié)構(gòu)化的問題求解模型,用于“適時”問題求解[1],作為一種高效的多知識源知識處理方法,廣泛應(yīng)用于大型知識庫系統(tǒng)求解中。黑板系統(tǒng)可以作為一類多Agent系統(tǒng)進行建模和實現(xiàn)?;贏gent的結(jié)構(gòu)提供了柔性,可變性、魯棒性,適用于解決一些動態(tài)的,不確定的和分布式的問題[2]。多Agent系統(tǒng)是一種松散耦合的Agent網(wǎng)絡(luò)[3],具有很好的靈巧性和精干性,Agent之間通過相互調(diào)度、相互合作協(xié)同完成大規(guī)模的復(fù)雜問題求解。
筆者基于黑板系統(tǒng)和多Agent技術(shù),在傳統(tǒng)的IDSS的基礎(chǔ)上提出了一種基于黑板的多Agent智能決策支持系統(tǒng)[4]。在該系統(tǒng)中,每個Agent可以利用黑板充分交換信息、數(shù)據(jù)和知識,黑板控制Agent對黑板進行監(jiān)督和控制,完成任務(wù)的分解和沖突的消解。并且通過黑板進行Agent之間地協(xié)調(diào),以便多個Agent共同協(xié)作來求解給定的問題。
在基于黑板的多Agent智能決策支持系統(tǒng)中,每種決策任務(wù)或功能可由一個獨立的Agent來完成,各種Agent通過一個相應(yīng)的標(biāo)準從各自角度出發(fā)來分析問題[5],不同Agent從自身角度審視決策問題,獨立完成一定子任務(wù),然后通過黑板協(xié)同合作來達到一個共同的目標(biāo)。由于Agent的自治性和實體化[6],可以隨時加入或離開一個問題求解系統(tǒng),使得決策者可以方便地參與到?jīng)Q策過程中,從而保證系統(tǒng)的靈活性。文中提出的系統(tǒng)結(jié)構(gòu)為交互層→智能決策層→資源層的3層體系結(jié)構(gòu)。其中交互層由智能界面Agent和決策用戶組成;智能決策層由以黑板、功能Agent和決策Agent組成;資源層由模型庫及模型庫管理系統(tǒng)、知識庫及知識庫管理系統(tǒng)、方法庫及方法庫管理系統(tǒng)及數(shù)據(jù)倉庫和多庫協(xié)同器組成。
系統(tǒng)可以通過智能界面Agent和決策者通信,通過學(xué)習(xí)用戶的目標(biāo)、愛好、習(xí)慣、經(jīng)驗、行為等,輔助用戶更高效地完成任務(wù)。它強調(diào)Agent的自主性和學(xué)習(xí)性,主動的探測環(huán)境變化,能夠通過不斷地學(xué)習(xí),獲得用戶地某些特征知識,從而可以在決策的過程中根據(jù)感知到的用戶行為方式提供合適的用戶界面,自主地做出與用戶意志相符合的策略。在智能界面Agent的全局知識中主要包括:問題領(lǐng)域知識、用戶模型或用戶知識、自身知識、其他Agent能力的知識。其結(jié)構(gòu)如圖1所示。其可以用三元組描述:
其中A是智能界面Agent標(biāo)識的集合;Ks是智能界面Agent的數(shù)據(jù)庫和推理機制,包含了有關(guān)決策領(lǐng)域和決策者的知識,可以用來推測決策者的決策模式;Bout是Agent的行為,可以對其他Agent施加影響。
圖1 智能界面Agent模型Fig.1 Model of the intelligent interface Agent
利用智能界面Agent不斷與用戶交互,學(xué)習(xí)用戶的習(xí)慣、興趣和偏好,根據(jù)與系統(tǒng)交互的情況,獲取用戶對系統(tǒng)的要求,形成用戶所需的,反映用戶個性的系統(tǒng)功能和界面顯示,同時存儲用戶的功能和界面格式,待用戶的功能和界面格式趨于穩(wěn)定,記錄下來形成用戶模式,存入到用戶模式表中,并會定期刷新、修改,當(dāng)用戶使用系統(tǒng)時,智能界面Agent就會感知用戶的請求。用戶模式是智能界面Agent代表用戶或模仿用戶實現(xiàn)用戶的行為,并把行為的結(jié)果以適當(dāng)?shù)姆绞椒祷亟o用戶,使用戶滿意。用戶也可以隨時干預(yù)智能界面Agent的活動,以滿足用戶的要求。用戶模式一般用5元組表示:
UID——用戶唯一標(biāo)識,以區(qū)分不同的用戶。
Time——用戶模式的有效期。
TID——用戶模式的任務(wù)號。
F——∑fi用戶UID的TID在Time下的功能集,fi為某一功能或功能子集的標(biāo)識。
D——∑di用戶UID的TID在Time下的界面集,di為某一界面子集或界面格式的標(biāo)識。
用戶模式不是系統(tǒng)預(yù)選設(shè)定的,而是與用戶不斷交互,不斷學(xué)習(xí),逐步形成的具有用戶知識和用戶特性的模式。其接口可描述為:
用戶進入系統(tǒng)
if not find UID //用戶是新用戶
new (TID); //智能界面Agent生成一個用戶模式給新用戶
else
read (TID); //智能界面Agent從用戶模式庫中提取當(dāng)前用戶的用戶模式
end if
用戶通過智能界面Agent與系統(tǒng)交互
while(not end) do //用戶沒有退出系統(tǒng)
if F changed //用戶修改了模式
Update(F);
Update(D); //智能界面 Agent更新用戶模式
else
execute(TID); //智能界面Agent按用戶模式完成用戶的任務(wù)
end if
功能Agent對黑板數(shù)據(jù)平面的變化進行監(jiān)督,對各決策Agent的激活條件和黑板各平面信息進行匹配,將黑板上的信息發(fā)給相應(yīng)的決策Agent。它內(nèi)部有一個各決策Agent讀黑板的激活條件表,當(dāng)黑板各層信息變化時,則對與該層信息變化有關(guān)的激活條件表進行檢查,如果匹配,則進行進一步分析,決定是直接激活相應(yīng)的決策Agent讀取黑板信息或者是做其它操作。其結(jié)構(gòu)如圖2所示。它的事件驅(qū)動規(guī)則有如下形式:
RULE<規(guī)則名>[(<參數(shù)>,…)]
WHEN<事件表達式>
IF<條件 1>THEN<動作 1>
……
IF<條件 i>THEN<動作i>
END-RULE[<規(guī)則名>]
<條件 i>(i=1,2,…,n)是某種邏輯中的任意的一個合法的邏輯公式。 <動作 i>(i=1,2,…,n)既可以是系統(tǒng)預(yù)先定義的一些標(biāo)準動作,也可以是用戶定義的一個動作,或者是用某種語言編寫的一個程序。每個事件都有一個事件名標(biāo)識,并有開始(發(fā)生)時間 B(e)、終止(發(fā)生)時間 E(e)和發(fā)生期D(e)等屬性,其中e是一個事件名。
圖2 功能Agent模型Fig.2 Model of the function Agent
把每一種決策方法設(shè)計為一個決策Agent,多個決策Agent在功能Agent的控制和監(jiān)督下,通過相互間的協(xié)調(diào)和合作解決復(fù)雜決策問題。決策Agent可以描述為一個6元組:
其中A是Agent的標(biāo)識的集合;St是Agent的內(nèi)部狀態(tài);Ta是任務(wù)標(biāo)識的集合,表示Agent的計劃;Mt是Agent的消息傳遞機制;Ks是決策Agent的知識系統(tǒng),包含了知識庫以及推理機;Bout是決策Agent的行為,可以對其他Agent施加的影響。決策Agent沒有關(guān)于外部環(huán)境的模型,沒有關(guān)于其他Agent的知識,但仍然有與其他Agent交互的能力。其基本結(jié)構(gòu)同功能Agent。其中,決策Agent在接收到信號/信息后,先對其進行過濾、抽象、聚合,使其形成可以與客觀世界的對象聯(lián)系起來的有意義的符號,然后將這些符號及特征與知識庫中的知識塊進行模糊匹配。如果能查找到高度匹配的知識塊,相應(yīng)的知識塊被用來處理信息并產(chǎn)生決策,如果只能部分匹配,則將被匹配的部分知識作為符號,運用推理機制及知識庫中的規(guī)則處理信息,并形成新的知識塊;如果的確沒有可用的知識塊,則知識庫中的規(guī)則被用來處理信息。知識庫中的規(guī)則及知識塊隨著問題的處理不斷被添加及更新。
在基于黑板的多Agent智能決策支持系統(tǒng)中,可以把各功能Agent和決策Agent的組合看作各個知識源,通過黑板進行交互。其中黑板是用來存儲數(shù)據(jù)、傳遞信息和處理方法的綜合數(shù)據(jù)庫,是系統(tǒng)中的全局工作區(qū)。在該黑板結(jié)構(gòu)中,對傳統(tǒng)的黑板進行了改進,利用了黑板控制Agent。黑板控制Agent是整個系統(tǒng)的大腦,它直接控制著黑板并且間接地控制著系統(tǒng)中的其他Agent,它根據(jù)自身知識庫和協(xié)作的原則把待處理問題分解成相應(yīng)的子問題,并分配到黑板中相應(yīng)的數(shù)據(jù)平面,對各數(shù)據(jù)平面進行統(tǒng)一管理,并且消除不同決策Agent間的沖突。黑板控制Agent能夠根據(jù)用戶需求,確定問題類型,利用知識庫和模型庫將問題分解,發(fā)送數(shù)據(jù)和控制信息,將子問題分配給合適的決策Agent,等著決策Agent發(fā)來的數(shù)據(jù)和結(jié)果寫入黑板時,即對黑板上的各數(shù)據(jù)平面的內(nèi)容進行改變時,消除不同決策Agent之間的沖突,協(xié)調(diào)各決策Agent,并將合成結(jié)果反饋給用戶。其結(jié)構(gòu)如圖3所示。
圖3 黑板控制Agent模型Fig.3 Model of the blackboard control Agent
黑板控制Agent有2個主要的子功能:問題分解和沖突消解,可以用一個8元組表示:
其中A是Agent的標(biāo)識的集合;St是Agent的內(nèi)部狀態(tài);E是Agent面臨的外部環(huán)境,內(nèi)部狀態(tài)和外部環(huán)境構(gòu)成Agent推理和行為的基礎(chǔ);Ka是關(guān)于其他Agent的知識,通常是(A×Ta)的部分函數(shù);Ta是任務(wù)標(biāo)識的集合,表示Agent的計劃;這兩個指標(biāo)描述了黑板控制Agent如何分解決策問題。Mt是Agent的消息傳遞機制;Ks是黑板控制Agent的知識系統(tǒng),包括任務(wù)分解方法以及不同Agent間的目標(biāo)、意圖和推理機制等的沖突消解;Bout是其對其他Agent施加的行為。
基于黑板的多Agent智能決策支持系統(tǒng)進行決策的過程可以描述為問題的輸入;決策問題的分解;通過多個決策Agent的協(xié)作進行問題求解;決策結(jié)果合成,形成整體解決方案這幾個階段。進一步細化如下:1)通過決策者和智能界面Agent之間的交互,輸入有關(guān)決策問題的信息;2)在決策者的參與下,黑板控制Agent對問題進行整體分析,搜索知識庫,案例庫,把決策問題分解為若干子問題,并分配給相應(yīng)的數(shù)據(jù)平面;3)功能Agent監(jiān)督黑板各平面的信息,通過條件匹配和一系列控制策略激活相應(yīng)的決策Agent;4)每個決策Agent運用自身知識完成自己的決策任務(wù),得到子問題的結(jié)果,并且改變黑板上的假設(shè);5)轉(zhuǎn)至第3步繼續(xù)進行推理決策,并且在黑板控制Agent的協(xié)調(diào)和控制下,完成多個決策Agent之間的協(xié)商和沖突消解;6)黑板控制Agent把各決策Agent的決策子結(jié)果合成,形成完整的決策方案。在決策過程中,決策者具有選擇權(quán),在任務(wù)的分解、決策結(jié)果的綜合等方面參與到?jīng)Q策過程中,從而最終形成決策者滿意的結(jié)果。
文中采用的基于黑板的多Agent智能決策支持系統(tǒng)模型中,Agent之間通過黑板進行信息共享,通過黑板控制Agent的協(xié)調(diào)機制共同完成復(fù)雜問題地求解。系統(tǒng)中關(guān)于知識的獲取以及數(shù)據(jù)倉庫的設(shè)計,多Agent之間的沖突消解算法及結(jié)果的合成在今后的實際應(yīng)用中需要進一步學(xué)習(xí)和完善。
[1]毛海軍,唐煥文.智能決策支持系統(tǒng)(IDSS)研究進展[J].小型微型計算機,2003,24(5):874-879.MAO Hai-jun,TANG Huan-wen.Developmentofthe research on intelligent decision support systems[J].Minimicro Systems,2003,24(5):874-879.
[2]Gottinger H W,Weimann P.Intelligent decision support system[J].Decision Support System,1992(8):317-332.
[3]Fetzer J H.Pepople are not computers:(most) thought processes are not computational procedures[J].Journal of Experimental&Theoretical Artifical Intellience,1998(10):371-391.
[4]向陽,沈洪.基于Agent的智能決策支持系統(tǒng)[J].計算機工程,2006,32(16):167-169.XIANG Yang,SHEN Hong.Intelligentdecision support system based on agent[J].Computer Engineering,2006,32(16):167-169.
[5]常艷,陳毛狗,袁捷,等.基于MAS的分布式群體決策支持系統(tǒng)框架體系結(jié)構(gòu)的研究[J].計算機工程與應(yīng)用,2003(18):100-102.CHANG Yan,CHEN Mao-gou,YUAN Jie,et al.Study on the architecture of MAS-based distributed group decision support system[J].Computer Engineering and Applications,2003(18):100-102.
[6]Toledo C B E,Bourne R A,Jennings N R.Reasoning about commitments and penalties for coordination between autonomous agents[C]//Conference of Workshop Item,2001.