基于黑板的多Agent智能決策支持系統(tǒng)的Agent實現(xiàn)
Agent是人工智能和對象實體相結(jié)合的產(chǎn)物,是能夠獨立、自動代替用戶執(zhí)行某一特定任務的程序。Agent所具有的自治、協(xié)作、學習、歸納、推理等特性能夠支持各階段的決策制定和問題求解,增強傳統(tǒng)決策支持系統(tǒng)的功能?;贏gent的結(jié)構(gòu)提供可柔性、可變性、魯棒性,適用于解決一些動態(tài)的,不確定的和分布式的問題。Agent之間通過相互調(diào)度、合作協(xié)同完成大規(guī)模的復雜問題求解。由于絕大多數(shù)工作都是在特定的群體環(huán)境中由組成群體的各主體分工協(xié)作、共同完成的。大多數(shù)工作同時伴隨著決策過程,而決策過程的優(yōu)劣直接影響工作任務的順利完成,因此,Agent技術使建立一個網(wǎng)絡化、智能化、集成化的人機協(xié)調(diào)的智能決策支持系統(tǒng)成為現(xiàn)實。
在傳統(tǒng)的智能決策支持系統(tǒng)的基礎上,提出了一種基于黑板的多Agent智能決策支持系統(tǒng)。在該系統(tǒng)中,黑板能為分布式結(jié)構(gòu)系統(tǒng)提供公共工作區(qū),每個Agent可利用黑板充分交換信息、數(shù)據(jù)和知識,任意時候訪問黑板,查詢發(fā)布內(nèi)容,然后各自提取所需的工作信息,以便完成各自擔當?shù)娜蝿?,并且通過黑板協(xié)調(diào)各個Agent,使多個Agent共同協(xié)作來求解給定的問題,同時強調(diào)將決策者的智慧和系統(tǒng)相結(jié)合。
2 基于黑板的多Agent智能決策支持系統(tǒng)
在基于黑板的多Agent智能決策支持系統(tǒng)中,每種決策任務或功能是由獨立的Agent完成,各種Agent通過相應標準從各自角度分析問題,每個Agent能力、意志和信念的不同,使它們具有問題求解領域的知識以及問題求解的技能也不同。不同的Agent從自身角度審視決策問題獨立完成子任務,然后通過黑板協(xié)同合作實現(xiàn)共同目標。由于Agent的自治性和實體化,可以隨時加入或離開一個問題求解系統(tǒng),使得決策者方便地參與到?jīng)Q策過程中,從而保證系統(tǒng)的靈活性。這里所構(gòu)建的系統(tǒng)結(jié)構(gòu)為交互層、智能決策層和資源層的3層體系結(jié)構(gòu),如圖1所示。其中智能界面Agent和決策用戶組成交互層;黑板、功能Agent和決策Agent組成智能決策層;模型庫及模型庫管理系統(tǒng)、知識庫及知識庫管理系統(tǒng)、方法庫及方法庫管理系統(tǒng)及數(shù)據(jù)倉庫和多庫協(xié)同器組成資源層。
2.1 智能界面Agent
智能界面Agent是基于Agent的智能決策支持系統(tǒng)體系結(jié)構(gòu)中與決策者聯(lián)系的部件,能夠獨立持續(xù)運行。系統(tǒng)通過它和決策者通信,或利用學習用戶的目標、愛好、習慣、經(jīng)驗、行為等,使用戶高效地完成任務。智能界面A—gent代替?zhèn)鹘y(tǒng)的人機交互界面,強調(diào)Agent的自主性和學習性,可以主動探測環(huán)境變化,在與用戶交互共同作用的決策中,通過不斷學習,獲得用戶某些特征知識,從而在決策過程中根據(jù)感知到的用戶行為方式提供合適的用戶界面,自主地做出與用戶意志相符合的策略。智能界面Agent的全局知識中主要包括:問題領域知識、用戶模型或用戶知識、自身知識、其他Agent能力知識。它采用發(fā)現(xiàn)和模擬用戶學習知識,獲得用戶的正向和反向反饋學習知識.用戶的指導獲得知識,通過與其他Agent的通訊獲取知識等。
2.2 功能Agent
功能Agent監(jiān)督黑板數(shù)據(jù)平面變化,匹配各決策A—gent的激活條件和黑板各平面信息,將黑板上的信息發(fā)給相應的決策Agent。功能Agent利用系統(tǒng)的消息、隊列機制發(fā)送黑板上的信息,并且負責報告系統(tǒng)運行情況,向用戶報告任務完成情況,并提供解釋和查詢。其內(nèi)部有一個各決策Agent讀黑板的激活條件表,當黑板各層信息變化時,則檢查與該層信息變化有關的激活條件表,如果匹配,則進一步分析,決定是直接激活相應的決策Agent讀取黑板信息完成相應的任務或者是做其他操作,例如提供報告和解釋等。同時還隨時提供系統(tǒng)執(zhí)行情況的查詢。它實際上就是一個可以對黑板上信息、變化進行感知的反應型Agent,每當黑板上信息改變時觸發(fā)它的檢查黑板各數(shù)據(jù)平面動作。
2.3 決策Agent
決策Agent在某個特定領域有解決問題的知識和技能。把每一種決策方法設計為一個決策Agent,多個決策Agent在功能Agent的控制和監(jiān)督下,通過相互間的協(xié)調(diào)和合作,能夠解決復雜決策問題。這類Agent是可擴展的,隨著決策理論的發(fā)展和智能化決策方法的進步,可以開發(fā)更多的決策Agent。決策Agent沒有關于外部環(huán)境的模型,沒有關于其他Agent的知識,但仍然有與其他Agent交互的能力。
3 Agent的實現(xiàn)技術
3.1 Agent的抽象結(jié)構(gòu)
Agent行為包含:感知、認知、行為3個階段。首先感知外部環(huán)境信息,然后由認知處理部分根據(jù)自身狀態(tài),通過制定相應的決策方案,根據(jù)決策方案從多種決策方法中選擇并執(zhí)行合適的方法,從而表現(xiàn)出主動的智能行為。在認知處理中,還需要進行規(guī)劃及學習等過程,從而不斷學習新的知識,使Agent智能不斷提高。行為輸出部分通過Agent行為對外界環(huán)境施加影響。以下對Agent進行形式的抽象描述:
首先假設環(huán)境是任何離散的瞬時狀態(tài)的有限集合E:E={e,e’…},Agent有一個可執(zhí)行動作的清單,可改變環(huán)境狀態(tài)Ac={a,a’…}為(有限的)動作集合。
環(huán)境從某個狀態(tài)開始,Agent選擇一個動作作用于該狀態(tài)。動作結(jié)果是環(huán)境可能到達的某些狀態(tài)。然而,只有一個狀態(tài)可以真正實現(xiàn),當然,Agent事先并不知道哪個狀態(tài)會實現(xiàn)。在第二個狀態(tài)的基礎上,Agent繼續(xù)選擇一個動作執(zhí)行,環(huán)境到達可能狀態(tài)集中的一個狀態(tài)。然后,Agent再選擇另一個動作,如此繼續(xù)下去。
Agent在環(huán)境中一次執(zhí)行r是環(huán)境狀態(tài)e與動作a交替的一個序列。假設:R是所有可能的(和上的)有限序列集合:RAC是以動作結(jié)束的序列所組成的R子集;RE是以狀態(tài)結(jié)束的序列所組成的R子集;用r,r’…代表R的成員。
為了表示Agent的動作作用于環(huán)境的效果,引入狀態(tài)轉(zhuǎn)移函數(shù)τ:RAC→RE。狀態(tài)轉(zhuǎn)移函數(shù)建立一個執(zhí)行(假設以Agent的動作作為結(jié)束)與可能的環(huán)境狀態(tài)集合之間的映射,這些環(huán)境狀態(tài)是動作執(zhí)行的結(jié)果。
如果τ(r)=φ(假設由一個動作作為結(jié)束),則不可能存在對的后繼狀態(tài)。在這種情況下,就說系統(tǒng)結(jié)束執(zhí)行。同時,假設所有執(zhí)行都最終會結(jié)束。形式上,環(huán)境Env是一個3元組Env=<E,e0,τ>,其中E提供環(huán)境狀態(tài)的集合,e0∈E是初始狀態(tài),τ是狀態(tài)轉(zhuǎn)移函數(shù)。把Agent的模型表示成一個函數(shù),將一次執(zhí)行(假設以環(huán)境狀態(tài)為結(jié)束)映射到動作:
Ag:RE-AC
因此,Agent根據(jù)系統(tǒng)到當前為止的歷史決定執(zhí)行具體的動作。
系統(tǒng)是Agent和環(huán)境構(gòu)成的對。任何系統(tǒng)都有與之相關的可能的執(zhí)行集合:用R(Ag,Env)表示Agent在環(huán)境Env中的執(zhí)行的集合。假設R(Ag,Env)只包含可以結(jié)束的執(zhí)行,即執(zhí)行r不存在可能的后繼狀態(tài):τ(r)=φ(這里不考慮無限的執(zhí)行)。形式上,序列:(e0,a0,el,al,e2,…)。表示Agent Ag在環(huán)境Envr=<E,e0,τ>中的一次執(zhí)行,如果:e0是Env的初始狀態(tài);a0=Ag(e0);對于u>0,那么:eu∈τ((e0,a0,…au一1))其中:au=Ag((e0,a0,…eu))
3.2 Agent的行為描述
構(gòu)造Agent最主要的目的是為了決策,其決策過程是一個感知到動作的過程。把Agent的決策函數(shù)分解成感知函數(shù)see和動作函數(shù)action。Agent具有內(nèi)部狀態(tài),設I是Agent的所有內(nèi)部狀態(tài)的集合,Per為(非空)的感知集合,Agent的決策過程基于這種信息,感知函數(shù)see實現(xiàn)從外部環(huán)境狀態(tài)到感知的映射:see:E→Per。動作選擇函數(shù)action定義為從內(nèi)部狀態(tài)到動作的映射:action:I→Ac。引入一個附加函數(shù)next,實現(xiàn)從內(nèi)部狀態(tài)和感知到內(nèi)部狀態(tài)的映射:next:IxPer→I。因此,Agent行為可描述為:Agent從某個初始內(nèi)部狀態(tài)i0開始,觀察環(huán)境狀態(tài)e,產(chǎn)生一個感知see(e),然后通過next函數(shù)更新Agent的內(nèi)部狀態(tài),變成next(i0,see(e))。Agent通過action(next(i0,see(e)))選擇動作。執(zhí)行這個動作使Agent進入另一個循環(huán),繼續(xù)通過see感知外部世界,通過next更新狀態(tài),通過action選擇動作執(zhí)行。其過程如圖2所示。
3.3 Agent的行為建模
Agent行為中的認知過程包括狀態(tài)評估、決策制定、規(guī)劃、學習等。Agent行為建模就是對認知處理所包含的幾個認知過程進行建模。其中決策制定是核心過程。決策制定是從多個方法中選擇具有最優(yōu)效用的方法并執(zhí)行的過程。可以用效用理論來衡量方案的優(yōu)劣。
根據(jù)效用理論,假設有m個可選方案,在當前的狀態(tài)下,采用的決策方案為Ai,產(chǎn)生的可能狀態(tài)為Sj,每一狀態(tài)的效用值是U(Sj),概率是Pj,則該決策的期望效用值為:
比較每個方案的不同期望效用,其中期望效用值最大的方案即為當前的最佳決策A,即:
例如,有3種可選擇方法,2種狀態(tài)的決策問題,狀態(tài)空間用(ω1,ω2)表示,可選方案為A1,A2,A3,效用函數(shù)如表1所示。
從表1可知,當前處于狀態(tài)ω1時,A3是最好的選擇;當前狀態(tài)處于ω2時,A1是最優(yōu)選擇。當這兩種狀態(tài)分別以一定的概率p1,p2出現(xiàn)時,記p=p1,則p2=1-P。由式(1)和式(2)可得:
在概率不能確定情況下,根據(jù)式(3)判斷概率的大致范圍。如對Al最優(yōu)的p應滿足:5—3p≥4+2P,5—3P≥3+5p。則有p≤1/5。類似的可計算A2,A3最優(yōu)對應的概率范圍分別為1/5≤p≤1/3,p≥1/3。在能夠判斷決策范圍的情況下,就可以據(jù)此對各方法進行分析,簡化決策。當影響效用值的因素不止一個時,就需要采用適當?shù)姆椒ㄓ嬎阈в弥?,在各屬性滿足互斥條件,即各自產(chǎn)生的效用值互相獨立時,可以采用加法的形式計算效用值。有時候,方法的選擇需要體現(xiàn)靈活性和可變性,這時可以通過引入相關的隨機變量建立隨機效用模型來計算效用值,從而使決策結(jié)果更符合實際情況。
4 結(jié)語
采用的基于黑板的多Agent智能決策支持系統(tǒng)模型.每個Agent本身具有自治性,Agent之間通過黑板進行信息共享,利用黑板中的信息決定自身行為,協(xié)同完成復雜問題地求解。由于Agent自身具有不確定性,對多Agent系統(tǒng)需要解決Agent之間的有效協(xié)調(diào),因此建立統(tǒng)一的協(xié)調(diào)機制,使Agent之間可以有效地相互協(xié)調(diào)工作,提高系統(tǒng)整體性能。實際應用中還有待于進一步完善。