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