殷鋒社
(陜西工業(yè)職業(yè)技術(shù)學(xué)院陜西咸陽712000)
對于Agent的理論研究,Wooldridge和Jennings認(rèn)為,可以分為以下3個方面[1]:1)Agent理論模型:研究什么是Agent,Agent應(yīng)具有什么樣的特性,應(yīng)該怎樣形式化地表示和研究這些特性;2)Agent的體系結(jié)構(gòu):對人們所期望的特性,應(yīng)該怎樣構(gòu)造以滿足這些特性的Agent,什么樣的軟件或硬件是適當(dāng)?shù)模?)Agent編程語言:怎樣對Agent進(jìn)行編程設(shè)計,什么樣的指令可用于描述Agent,怎樣有效地編譯和執(zhí)行Agent程序。
Agent的理論模型研究工作者從邏輯、行為、心理、社會等角度出發(fā),試圖對Agent的本質(zhì)進(jìn)行描述,從而為Agent系統(tǒng)創(chuàng)建和實(shí)現(xiàn)奠定理論基礎(chǔ)。在Agent理論模型研究中,最具有典型代表意義的是Bradman提出的BDI模型[2]。Bradman提出了一種基于意向的觀點(diǎn)來研究Agent的概念,所謂意向觀點(diǎn)是指將應(yīng)用于人類自身的一些意識思想和概念,如信念(Belief)、愿望(Desire)、意圖(Intention)等應(yīng)用于Agent,他認(rèn)為信念、愿望、意圖是Agent基本的思維屬性。在此基礎(chǔ)上,Cohen和Levesque用正規(guī)模態(tài)邏輯形式化地定義了Agent各種意識概念;Rao和Georgeff等用分枝時序邏輯和可能世界的模型來形式化地定義了Agent各種意識概念,重點(diǎn)研究了意圖的邏輯特性,為BDI理論模型研究建立了很好的理論基礎(chǔ)。
BDI模型主要的3個要素有信念(Belief)、愿望(Desire)、意圖(Intention),其意義說明如下:
l)信念(Belief):是一個包括了對世界相關(guān)的信念、與其他Agent思維趨向相關(guān)的信念和自我信念的集合。信念是Agent對世界的認(rèn)知,包含描述環(huán)境特性的數(shù)據(jù)和描述自身功能的數(shù)據(jù),是Agent進(jìn)行思維活動的基礎(chǔ)。
2)愿望(Desire):是Agent的最初動機(jī),是其希望達(dá)到的狀態(tài)或希望保持的狀態(tài)的集合。Agent希望達(dá)到的狀態(tài),可以激發(fā)系統(tǒng)的規(guī)劃和行動。一般來說,可以表達(dá)為Agent對環(huán)境狀態(tài)的一種期待和判斷,也就是通過判斷該狀態(tài)是否成立作為Desire是否實(shí)現(xiàn)的標(biāo)志。Agent可以擁有互不相容的愿望,而且也不需要相信它的愿望是絕對可以實(shí)現(xiàn)的。
3)意圖(Intention):是承諾實(shí)現(xiàn)的愿望中選取的當(dāng)前最需要完成或者最適合完成的一個,是當(dāng)前Agent將要正在實(shí)現(xiàn)的目標(biāo),它是屬于思維狀態(tài)的意向方向。當(dāng)前意圖對Agent的當(dāng)前動作具有指導(dǎo)性的作用。Agent的實(shí)際推理過程涉及到3個重要環(huán)節(jié)。
使用Cripple提出的語義學(xué)表示的認(rèn)知邏輯(episteme)已成為對Agent的邏輯描述研究的基礎(chǔ),它是嵌入了可能世界(possible worlds)的正規(guī)模態(tài)邏輯(normal mode logion)[3]。正規(guī)模態(tài)邏輯是經(jīng)典命題邏輯中引入了兩個算子后的擴(kuò)充,它們是:必然算子“□”和可能算子“◇”。下面介紹其語法和語義:
1)語法
設(shè)有由可數(shù)的原子命題構(gòu)成的命題集合Prpo={p,q,…},用如下的規(guī)則定義正規(guī)命題模態(tài)邏輯的語法:
①如果P∈Prop,那么P是公式。
②如果φ,ψ為公式,則┐φ,φ∨ψ為公式。
2)語義
兩個算子的語義與“可達(dá)性”有關(guān)。如果公式中當(dāng)前世界和可達(dá)到的所有世界中均為真,則公式P為真;如果在當(dāng)前世界可達(dá)到的所有世界中,至少有一個世界為真,則公式P為真。在此基礎(chǔ)上,根據(jù)對當(dāng)前世界的“可達(dá)性”,形成了KDT45公理體系,Cohen和Levesque采用可能世界邏輯的語義進(jìn)行形式化描述[4],給出了Agent信念的基本性質(zhì),并將意圖定義為一種持續(xù)的目標(biāo),初步描述了意圖在Agent行為中的作用。
綜上所述,BDI理論模型是建立在實(shí)用推理理論的基礎(chǔ)之上,具有深刻的認(rèn)知心理學(xué)和哲學(xué)基礎(chǔ),因此,建立實(shí)現(xiàn)Agent的結(jié)構(gòu)符合人工智能當(dāng)前的發(fā)展趨勢。但是,在Agent的實(shí)際構(gòu)造中,對于表達(dá)信念、愿望、意圖等反映思維狀態(tài)的概念,并合理完成相應(yīng)的推理轉(zhuǎn)化還有很大的困難。Wooldridge指出,以模態(tài)邏輯加可能世界語義闡述的Agent理論只能進(jìn)行抽象的描述,總的來說都無法以常規(guī)的方式來付諸實(shí)現(xiàn)。
所謂Agent的體系結(jié)構(gòu)就是指如何用軟件或硬件的方式實(shí)現(xiàn)Agent,即所要解決的是Agent是由哪些模塊組成,它們之間如何交互信息。Agent感知到的信息如何影響它的行為和內(nèi)部狀態(tài),以及如何將這些模塊用軟件或硬件方式組合起來形成一個整體,真正實(shí)現(xiàn)Agent。正如Rusesn指出:Agent體系結(jié)構(gòu)+程序[5]。不同功能的Agent將具有不同的體系結(jié)構(gòu)和程序,但設(shè)計的Agent程序基本上具有同樣的骨架,下面給出一個骨架程序的偽代碼。
Function Skeleton一Agent(Percept)return action
static:knowledgebase/*Agent的知識庫*/
knowledgebase←Update-KB(knowledgebase,percept)
action←Choose-Best-Action(knowledgebase)
knowledgebase←Update-KB(knowledgebase,action)
return action
根據(jù)Agent中是否利用符號性知識,可以將Agent的體系結(jié)構(gòu)分為慎思型Agent、反應(yīng)型Agent和混合型Agent 3種,它是屬于混合型Agent結(jié)構(gòu)一類,并詳細(xì)分析了其智能特性。
為了使Agent更好地適應(yīng)動態(tài)復(fù)雜的環(huán)境,Agent必須具有學(xué)習(xí)、邏輯推理和通信的能力,同時在一定條件下還應(yīng)具有響應(yīng)的實(shí)時特性,故設(shè)計了如圖1所示的一種混合型Agent結(jié)構(gòu)[6],下面介紹各個模塊的功能。
圖1 混合型Agent結(jié)構(gòu)Fig.1Structure of hybrid Agent
l)外部接口
外部接口由感知、通信和驅(qū)動器3個模塊組成,該接口主要功能是負(fù)責(zé)與其他Agent以及環(huán)境的交互與通信,接收和發(fā)出消息,感知環(huán)境狀態(tài)的變化或根據(jù)決策與規(guī)劃對環(huán)境變化立即作出反應(yīng)。
2)消息處理模塊
消息處理模塊處理從通信模塊接收來的消息內(nèi)容,即通信語言的處理過程消息處理模塊包括語言理解、語言生成、物理通信,以及詞法庫、語法庫、語義庫等多個部分。
3)決策推理模塊
決策推理模塊是Agent體系結(jié)構(gòu)的核心智能模塊,相當(dāng)Agent的“大腦”,它是一個層次結(jié)構(gòu)。首先,行為層根據(jù)感知或通信得到的信息以及本身內(nèi)部的信念知識進(jìn)行規(guī)劃決策是否能對緊急或簡單的情況作出迅速反應(yīng)產(chǎn)生立即執(zhí)行的行為,通過行為層產(chǎn)生的動作具有最高的優(yōu)先級。其次,為了使Agent系統(tǒng)能夠更好地適應(yīng)動態(tài)、復(fù)雜的環(huán)境,必須使Agent具有學(xué)習(xí)功能,學(xué)習(xí)層可以在動態(tài)變化的環(huán)境中自主地獲取新的知識,從而對Agent知識庫進(jìn)行補(bǔ)充和完善。
4)信念知識庫
根據(jù)推理決策、規(guī)劃、通信以及學(xué)習(xí)的需要,需要一個完善的Agent的內(nèi)部知識庫系統(tǒng)。信念集和目標(biāo)集是Agent對自身理解的知識,而效用函數(shù)和領(lǐng)域知識是Agent對外部世界認(rèn)識的知識。
1)Agent的推理機(jī)制
根據(jù)信念、愿望和意圖等思維概念進(jìn)行建模是Agent設(shè)計的基本思想,Agent具有的邏輯推理能力也是許多研究人員關(guān)心的焦點(diǎn)之一,下面討論Agent的邏輯推理機(jī)制。
假定Agent的內(nèi)部狀態(tài)可以用古典一階謂詞邏輯公式構(gòu)成的數(shù)據(jù)庫來表示,設(shè)L為古典邏輯一階邏輯句子的集合,D=P(L)為L數(shù)據(jù)庫的集合,即L的冪集。這樣Agent的內(nèi)部狀態(tài)就是D的元素,D中元素記為:△1、△2、……。Agent的決策過程可以通過一組演繹規(guī)則p描述。如果僅僅使用演繹規(guī)則p,就可以從數(shù)據(jù)庫△中證明公式φ成立。根據(jù)Agent的領(lǐng)域知識,可以將Agent對環(huán)境的觀測能力用感知函數(shù)see來表示。
2)Agent的學(xué)習(xí)機(jī)制
心理學(xué)家和哲學(xué)家們認(rèn)為,學(xué)習(xí)的基本機(jī)制是設(shè)法把在一種情況下成功的行為應(yīng)用于另一類相似的新情況中,也就是說學(xué)習(xí)是獲取知識、積累經(jīng)驗(yàn)、改進(jìn)性能、發(fā)現(xiàn)規(guī)律、適應(yīng)環(huán)境的過程。一般來說,學(xué)習(xí)活動包括下面幾個特征:
①目的性:學(xué)習(xí)活動是一種有目的的變化,目標(biāo)是改善Agent的問題求解能力和性能。
②信息來源:學(xué)習(xí)活動的輸入信息包括外部環(huán)境信息和系統(tǒng)的經(jīng)驗(yàn)兩大類。
③記憶能力:學(xué)習(xí)活動的結(jié)果體現(xiàn)和保存于Agent中,不隨學(xué)習(xí)活動的完成而消失。
④表示形式:一般包括顯式知識獲得、知識重組與重構(gòu)、系統(tǒng)結(jié)構(gòu)變化等。
3)Agent的通訊機(jī)制
多Agent系統(tǒng)是由多個松散藕合的Agent組成的,它們之間不是孤立的,而是通過Agent間的交互和協(xié)作來共同完成任務(wù)的。Firkin曾指出,Agent間有效的交互需要3個基本成分:
①共同的語言。
②對交換知識的理解。
③實(shí)現(xiàn)交換的能力。
也就是說,Agent間有效的交互是指Agent間有目的的交換雙方都能理解的知識和信息。交互的目的由Agent的心智狀態(tài)、協(xié)作方式和協(xié)作計劃所決定的,而交互的效果則是由通信來實(shí)現(xiàn)的。通信是Agent了解其他Agent的途徑和實(shí)現(xiàn)Agent間交互的橋梁。
美國Stanford大學(xué)的shoran教授在1993年首次提出了AOP(Agent-oriented Programming)的概念。他認(rèn)為AOP是一種基于計算的社會觀點(diǎn)的新興程序設(shè)計風(fēng)格和計算框架,其主要思想是利用Agent理論研究提出的表示Agent性質(zhì)的意識態(tài)度來直接設(shè)計Agent和對Agent編程。
目前,AOP的含義更加廣泛,己經(jīng)不再局限于把意識態(tài)度作為Agent程序的核心,而是泛指將Agent作為原子實(shí)體的設(shè)計和構(gòu)建Agent系統(tǒng)的各種軟件技術(shù)和開發(fā)方法,包括各種開發(fā)工具和實(shí)驗(yàn)床。下面簡單介紹其中具有代表性的一些開發(fā)方法:
1)Gaia方法學(xué)
Gaia方法學(xué)是把多Agent系統(tǒng)看作一個由相互作用的不同角色組成的計算組織,它不僅支持Agent的群體智能及其組織結(jié)構(gòu),而且支持Agent的內(nèi)部結(jié)構(gòu)。在Gaia系統(tǒng)中,角色是主要組成部分,角色有職責(zé),權(quán)限,活動和協(xié)議等屬性。
Gaia方法中Agent的體系結(jié)構(gòu):各種服務(wù)作為一個組件能夠被動態(tài)的裝卸,每個服務(wù)以兩種角色存在,一種是協(xié)調(diào)者的角色,另一種是客戶角色,服務(wù)部署層來決定喚醒那一個服務(wù)角色。系統(tǒng)管理服務(wù)發(fā)現(xiàn)在它附近的設(shè)備、協(xié)調(diào)設(shè)備加入系統(tǒng)和管理系統(tǒng)。事件服務(wù)管理系統(tǒng)中設(shè)備之間事件的通訊。本地服務(wù)融合系統(tǒng)中來自不同設(shè)備的本地信息,對整個系統(tǒng)提供設(shè)備的信息。安全服務(wù)主要由兩部分組成:授權(quán)和存取控制。服務(wù)交互層被用作內(nèi)部個人空間的通訊。
Gaia也存在一些缺點(diǎn),比如Gaia沒有處理系統(tǒng)中有多個Agents共享同一個目標(biāo)的情況,對多Agent系統(tǒng)的處理有一定的困難。
2)Tropos方法學(xué)
Tropos方法學(xué)使用了代理(Agent)、目標(biāo)(Goal)、規(guī)劃(Plan)、Tropos把參與者和目標(biāo)作為最基本的概念應(yīng)用到了軟件開發(fā)的全部過程中,它主要支持軟件開發(fā)過程的以下5個階段:①早期需求,這個階段的輸出包含相關(guān)參與者和它們對應(yīng)的依存關(guān)系的組織模型;②后期需求,在運(yùn)行環(huán)境、相關(guān)的功能和質(zhì)量范圍內(nèi)描述未來的系統(tǒng);③架構(gòu)設(shè)計,根據(jù)子系統(tǒng)的概念定義全局架構(gòu);④詳細(xì)設(shè)計,此階段,根據(jù)輸入、輸出、控制和其他相關(guān)的信息更具體地定義每個架構(gòu)部件;⑤實(shí)現(xiàn),根據(jù)詳細(xì)設(shè)計實(shí)現(xiàn)系統(tǒng)。
基于Agent技術(shù)的Tropos方法同樣具有缺點(diǎn),此方法缺乏對社會結(jié)構(gòu)和環(huán)境的描述,而且因?yàn)橹С止ぞ叩南拗?,其作為一種適合描述的概念更為合適。
3)擴(kuò)展UML的方法
UML是面向?qū)ο蠼5氖聦?shí)上的標(biāo)準(zhǔn)。當(dāng)研究者尋求面Agent的建模語言和工具時,他們發(fā)現(xiàn)UML是一個顯而易見的開始點(diǎn),并因此而試圖采用UML的符號來建模MAS。其中做得比較出色的是Odem和他的同事們,他們提出了多種擴(kuò)展UML符號的方法。與此同時,OMG和FI隊(duì)兩個組織也正在致力于開發(fā)基于UML的符號來支持Agent系統(tǒng)的建模。Cassiopeia方法提供了一種從執(zhí)行某項(xiàng)任務(wù)所需的行為開始的自底向頂?shù)拈_發(fā)MAS的方法。它包括以下3個步驟:
①確定包含在整個系統(tǒng)任務(wù)中的基本元素的行為;
②確定基本元素行為之間的關(guān)系;
③確定系統(tǒng)的組織行為,如多個Agent如何形成一個小組。
Agent的開發(fā)工具可以是一個Agent開發(fā)環(huán)境或平臺,也可以是一種適合的編程語言。下面介紹常用的一些關(guān)于Agent開發(fā)環(huán)境及Agent編程語言的內(nèi)容。
1)Agent開發(fā)環(huán)境
Agent開發(fā)環(huán)境是Agent系統(tǒng)開發(fā)和運(yùn)行的基礎(chǔ),同時還要提供Agent普遍具有的功能。一些研究機(jī)構(gòu)開發(fā)了相關(guān)的Agent開發(fā)平臺,以幫助Agent研究工作者特別是那些社會科學(xué)研究者便于建立自己的多Agent系統(tǒng),下面簡要介紹幾個常用的Agent開發(fā)平臺。
①Swarm
Swarm是美國圣菲研究所于1994年開始開發(fā)的用于多Agent模擬復(fù)雜系統(tǒng)的軟件平臺。它試圖建立一個良好的,可以幫助進(jìn)行多Agent系統(tǒng)建模的標(biāo)準(zhǔn)軟件工具集。主要用于幫助科學(xué)家們分析復(fù)雜適應(yīng)系統(tǒng)。
②Repast平臺
Repast是由芝加哥大學(xué)的社會科學(xué)計算研究中心開發(fā)研制的是一種在Jvaa環(huán)境下設(shè)計實(shí)現(xiàn)Agent的模擬模型。Repast的設(shè)計目標(biāo)主要是滿足芝加哥大學(xué)一些研究者們對模擬軟件使用方便性的要求。
③Ascape平臺
Ascape是布魯金斯研究所開發(fā)的基于Agent的建模平臺,用來設(shè)計分析和分類基于Agent的模型。Ascape的開發(fā)主要是為了研究社會經(jīng)濟(jì)系統(tǒng)模型。
④TNG-Lab平臺
TNG-Lab是由美國愛荷華州立大學(xué)的McFadden,Arewart和Teaaftsion共同研究開發(fā)的,是為了研究在一個多樣化的市場環(huán)境下的商業(yè)網(wǎng)絡(luò)構(gòu)成而設(shè)計的一個特殊的可計算實(shí)驗(yàn)室,具有標(biāo)準(zhǔn)的組件,能夠根據(jù)需要進(jìn)行擴(kuò)展,操作方便,適合于進(jìn)行經(jīng)濟(jì)研究和教學(xué)。
2)Agent編程語言
由于Agent本身具有的特性,使得面向Agent的編程語言需要滿足以下的一些要求:
①面向?qū)ο蠡蛑苯用嫦駻gent。Agent是一種更高級的對象,因此Agent編程語言至少是支持面向?qū)ο蟮哪P汀?/p>
②平臺獨(dú)立性。Agent運(yùn)行于不同的軟硬件環(huán)境下,因此,Agent言語需要具有高度的平臺獨(dú)立性,以便支持大范圍的異構(gòu)系統(tǒng)。
③通信能力。Agent語言必須能夠提供用于實(shí)現(xiàn)Agent之間通信功能的構(gòu)件。
④安全。安全問題是Agent系統(tǒng)設(shè)計中的一個重要問題,尤其對移動Agent,必須保證其絕對安全。常用的Agent開發(fā)語言有Java、e++等。
3)開發(fā)工具的選擇
雖然對于多Agent系統(tǒng)開發(fā)平臺的研究已經(jīng)有了一定的進(jìn)展,但是已有的平臺各具優(yōu)勢和不足,通用性都不強(qiáng),一般都仍處于理論或試驗(yàn)原型階段,遠(yuǎn)未達(dá)到實(shí)用水平。由于Agent本身是一種復(fù)雜的計算實(shí)體,而且隨著具體應(yīng)用領(lǐng)域的不同而有不同的結(jié)構(gòu)設(shè)計,要研究開發(fā)出一種成熟通用的面向Agent的編程語言,仍需要研究者們不懈地努力。要熟悉和掌握一種開發(fā)平臺也需要付出很多時間和精力,并且要受到開發(fā)平臺的一些限制。本文進(jìn)行的一些開發(fā)工作選用C++和VC++6.0語言作為基本工具。
介紹了Agent基本理論主要3個方面的內(nèi)容,即Agent理論模型、Agent的體系結(jié)構(gòu)和Agent的開發(fā)方法。在Agent理論模型研究中,BDI理論模型最具有影響力,它是建立在實(shí)用推理理論的基礎(chǔ)之上,具有深刻的認(rèn)知心理學(xué)和哲學(xué)基礎(chǔ),但在實(shí)用性上還具有很大的局限性,并對Agent主要智能特性的實(shí)現(xiàn)機(jī)制進(jìn)行了介紹。面向Agent的開發(fā)方法是目前軟件開發(fā)方法發(fā)展的趨勢,也為分布式復(fù)雜系統(tǒng)進(jìn)行建模提供了新的思路,目前國內(nèi)外試圖建立各類Agent開發(fā)平臺和開發(fā)語言,但要研究開發(fā)出一種成熟通用的面向Agent的編程語言,仍需要研究者們不懈地努力。
[1]Foudation of Intelligent Physical Agents.Foundation for intelligent physical agents[EB/OL].1997.http://www.fipa.org.
[2]Wooldridge M,Jennings N R.Agents theories,Architectures and languages:a survey,wooldridge and jennings,intelligent Agents[M].Berlin:Springer-Verla9,2005.
[3]Bratman M E.Intentions,plans,and practical reason[M].Harvard University Press:Cambridge,MA,2006.
[4]CohenER,LevesqueHJ.Intentionischoicewithcommitment[J].Artificial Intelligence,1990(42):213-261.
[5]Levesque H J,Pimi F.Logical foundations for cognitive agents[M].Berlin:Springer,2002.
[6]Gao A S,Mumay G.Multi·Agent mental·state recognition and its application to air-combat modellin9[C]//Proceedings of the l 3th International International Workshop on Distributed Artificial Intellinence,Seatle,WA,2004:283-304.
[7]Rao As,Georgeff M P.The semantics of intention maintenance forrationalAgents[M].California:MorganKaufmannPublishers,2005:74-79.
[8]Emerson E A.Temporal and modal logic[M].Cambridge:Handbook of Theoretical Computer Science,Edited by J.Van Leeuwen,2000.
[9]Georgeff M P,Ra0 A S.A profile of the australian AI institute[J].IEEE Expert,2006,11(6):89-92.