武丹鳳,于思淼,曾廣平,張銳文,王乙晴,陳 強(qiáng)
1(遼寧工程技術(shù)大學(xué) 軟件學(xué)院,遼寧 葫蘆島 125105)2(北京科技大學(xué) 計(jì)算機(jī)與通信工程學(xué)院,北京 100083)
分布式系統(tǒng)[1]通常包含大量具有一定獨(dú)立自主性并又相互作用的個(gè)體,因此人們提出基于多Agent[2,3]模型來(lái)對(duì)多領(lǐng)域分布式系統(tǒng)進(jìn)行建模和分析,這就是多Agent系統(tǒng)(Multi-Agent System,MAS)[4-7].當(dāng)MAS要執(zhí)行任務(wù)時(shí),首先就是將該任務(wù)分配給合適的Agent,然后由這些Agent來(lái)負(fù)責(zé)執(zhí)行,這就是任務(wù)分配[7,8].
隨著大規(guī)模復(fù)雜多 Agent 系統(tǒng)的發(fā)展,人們提出網(wǎng)絡(luò)結(jié)構(gòu)化多Agent系統(tǒng)(Networked Multiagent Systems,NMAS)的概念[9-11].NMAS中存在著兩種網(wǎng)絡(luò):系統(tǒng)所運(yùn)行的底層物理網(wǎng)絡(luò)和Agent之間的交互虛擬網(wǎng)絡(luò).以云平臺(tái)為例,其是由搭載了云平臺(tái)服務(wù)器端軟件的云服務(wù)器、搭載了云平臺(tái)客戶端軟件的云電腦以及網(wǎng)絡(luò)組件所構(gòu)成的,可抽象為一個(gè)大型的多Agent系統(tǒng).云電腦可看作產(chǎn)生任務(wù)的用戶,任務(wù)可以是通訊、郵箱、數(shù)據(jù)庫(kù)存儲(chǔ)、文件存儲(chǔ)、辦公協(xié)同等多種應(yīng)用.云服務(wù)器可抽象為執(zhí)行任務(wù)的Agent,其是一種虛擬主機(jī),而部署在一個(gè)硬件計(jì)算服務(wù)器上的虛擬主機(jī)群可看作同屬一個(gè)物理子系統(tǒng).位于一個(gè)機(jī)房的多個(gè)物理子系統(tǒng)通過(guò)交換機(jī)等設(shè)備相連,形成一個(gè)物理網(wǎng)絡(luò).不同位置機(jī)房的物理網(wǎng)絡(luò)通過(guò)路由器等設(shè)備相連,形成更大的物理網(wǎng)絡(luò).如機(jī)房X內(nèi)物理子系統(tǒng)A中的云服務(wù)器A1與機(jī)房Y內(nèi)物理子系統(tǒng)B中的云服務(wù)器B2存在直接的交互關(guān)系(如進(jìn)行文件共享等),則A1與B2之間存在社會(huì)關(guān)系,而整個(gè)云平臺(tái)這種 Agent 之間的社會(huì)關(guān)系所形成的網(wǎng)絡(luò)稱為交互虛擬網(wǎng)絡(luò).具有社會(huì)關(guān)系的Agent間是通過(guò)實(shí)際的通信鏈路進(jìn)行交互的,它們之間的物理距離并不一定相同.
由于復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)成,NMAS的任務(wù)分配實(shí)現(xiàn)難度較大.近幾年,東南大學(xué)的蔣嶷川等基于NAMS的網(wǎng)絡(luò)結(jié)構(gòu),研究了基于Agent物理情境資源和社會(huì)情境資源的任務(wù)分配模型[7,12].他們指出,在實(shí)際的NMAS中,每個(gè)Agent會(huì)由于其所處的物理位置和社會(huì)位置而位于一定的情境之中.物理情境主要指Agent在底層物理網(wǎng)絡(luò)環(huán)境中的周圍Agent,而社會(huì)情境主要是指Agent在交互網(wǎng)絡(luò)中的交互對(duì)象所組成的情境[7].其所提出的相應(yīng)的任務(wù)分配模型[12]基于Agent物理情境中的資源和物理通信距離,計(jì)算出物理情境富集因子,基于Agent社會(huì)情境(即交互網(wǎng)絡(luò)中的周圍環(huán)境)中的資源和交互距離計(jì)算出其社會(huì)情境富集因子,兩者的加權(quán)和為該Agent的綜合情境富集因子.對(duì)任務(wù)所需資源的富集因子最高的Agent優(yōu)先獲得任務(wù),負(fù)責(zé)該任務(wù)的執(zhí)行.但是,所提出的基于綜合情境資源的分配模型沒(méi)有考慮Agent分配的智能性,也不適用于具有不誠(chéng)信節(jié)點(diǎn)的NMAS,且模型是基于固定網(wǎng)絡(luò)結(jié)構(gòu)的,在計(jì)算社會(huì)資源富集因子的過(guò)程中需要網(wǎng)絡(luò)全局信息,并不適合動(dòng)態(tài)的、大型的NMAS.
此外,在分布式NMAS中進(jìn)行任務(wù)分配需要Agent間的橫向交互,且在系統(tǒng)的實(shí)際應(yīng)用中,往往需要盡可能快的分配并完成任務(wù),滿足用戶的需求.但是,已有的任務(wù)分配模型對(duì)NMAS的任務(wù)分配協(xié)商過(guò)程缺乏深入研究,沒(méi)有有效考慮底層物理網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和社會(huì)組織結(jié)構(gòu)在分配協(xié)商過(guò)程中的作用,也沒(méi)有充分利用Agent的社會(huì)關(guān)系資源,系統(tǒng)中橫向通信密集.因此,本文將以最小化任務(wù)執(zhí)行總時(shí)間和通信次數(shù)為模型優(yōu)化目標(biāo),根據(jù)Agent的物理網(wǎng)絡(luò)關(guān)系資源和交互網(wǎng)絡(luò)關(guān)系資源,以及運(yùn)行過(guò)程中形成的熟人[13-17]關(guān)系資源,借鑒合同網(wǎng)協(xié)議[17-20]的協(xié)商過(guò)程,研究分布式的基于動(dòng)態(tài)綜合關(guān)系網(wǎng)的任務(wù)分配模型(Dynamic Integrated Relationship Network Model,DIRNM).本文的主要貢獻(xiàn)如下:
1)提出了基于物理能力和社會(huì)關(guān)系資源提供力的任務(wù)承包方選擇策略.該策略結(jié)合直接信任度,盡量保證任務(wù)分配的可靠性;充分利用了Agent的社會(huì)關(guān)系資源,在任務(wù)分配時(shí),除細(xì)粒度的考慮Agent的物理能力外,將Agent的社會(huì)關(guān)系資源提供力也納入考量范圍,為任務(wù)的再分配做準(zhǔn)備,以優(yōu)化任務(wù)再分配性能.
2)設(shè)計(jì)了基于熟人、物理鄰居和社會(huì)鄰居所構(gòu)成的動(dòng)態(tài)綜合關(guān)系網(wǎng)的任務(wù)分配協(xié)商過(guò)程.該算法充分考慮了物理網(wǎng)絡(luò)組織和交互網(wǎng)絡(luò)組織的特點(diǎn)和作用,適合大型的NMAS實(shí)際應(yīng)用,在保證分配質(zhì)量的基礎(chǔ)上盡量控制協(xié)商范圍,提高協(xié)商效率,降低任務(wù)分配通信開(kāi)銷.
3)提出了基于直接社會(huì)關(guān)系資源的再分配策略.當(dāng)任務(wù)承包Agent執(zhí)行任務(wù)失敗時(shí),可求助自己的直接社會(huì)關(guān)系資源,以有效減少任務(wù)管理Agent重新分配任務(wù)的次數(shù),降低再分配的通信開(kāi)銷.
NMAS已有的任務(wù)分配相關(guān)工作可分為三類:基于底層網(wǎng)絡(luò)拓?fù)涞娜蝿?wù)分配、基于 Agent 交互網(wǎng)絡(luò)的任務(wù)分配、基于綜合網(wǎng)絡(luò)情境的任務(wù)分配.
基于底層網(wǎng)絡(luò)拓?fù)浞峙淙蝿?wù)時(shí),不但考慮Agent 自身能力情況,還要考慮Agent在底層物理網(wǎng)絡(luò)中的實(shí)際通信耗費(fèi).Agent 獲得任務(wù)執(zhí)行權(quán)的概率不但與其能力有關(guān),還與其在底層物理網(wǎng)絡(luò)中的位置有關(guān).此方式能較好地適應(yīng)底層物理網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的動(dòng)態(tài)改變,有效降低實(shí)際的物理通信耗費(fèi),但沒(méi)有考慮到NMAS的社會(huì)組織性的作用.基于Agent 交互網(wǎng)絡(luò)分配任務(wù)時(shí),不但考慮Agent 自身能力情況,還要考慮Agent在交互網(wǎng)絡(luò)中的位置和彼此之間的交互距離,Agent 獲得任務(wù)執(zhí)行權(quán)的概率不但與其能力有關(guān),還與其在交互網(wǎng)絡(luò)中的位置有關(guān).此方式有效考慮到多Agent 系統(tǒng)的社會(huì)組織性,特別是網(wǎng)絡(luò)結(jié)構(gòu)組織的作用,可有效降低 Agent 之間交互的代價(jià),但沒(méi)有考慮多Agent 系統(tǒng)運(yùn)行時(shí)的底層物理網(wǎng)絡(luò)的情況.基于綜合網(wǎng)絡(luò)情境分配任務(wù)時(shí),主要考慮三種因素:Agent自身能力情況、Agent在底層物理網(wǎng)絡(luò)中的位置和彼此之間的實(shí)際通信耗費(fèi)、Agent 在交互網(wǎng)絡(luò)中的位置和彼此之間的交互距離.此方式既有效考慮到多 Agent系統(tǒng)的底層物理網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的作用,也有效考慮到多Agent系統(tǒng)的社會(huì)組織結(jié)構(gòu),因此能較好地適應(yīng)大規(guī)模網(wǎng)絡(luò)結(jié)構(gòu)化多Agent系統(tǒng)的任務(wù)分配,但實(shí)現(xiàn)難度相對(duì)較大,研究成果較少[7].
下面,將對(duì)近幾年提出的具有代表性的NMAS任務(wù)分配模型從模型的控制方式、對(duì)目標(biāo)對(duì)象的評(píng)估粒度、評(píng)估指標(biāo)選取、是否考慮底層物理網(wǎng)絡(luò)和交互網(wǎng)絡(luò)兩種網(wǎng)絡(luò)結(jié)構(gòu)的作用以及是否進(jìn)行Agent執(zhí)行任務(wù)失敗后的再分配機(jī)制研究等方面作一特征總結(jié),如表1所示.
針對(duì)表1,我們將進(jìn)行以下分析,以指導(dǎo)本文所所進(jìn)行的任務(wù)分配模型研究工作.
1)評(píng)估粒度粗糙.現(xiàn)實(shí)情況下,每個(gè)對(duì)象一般都有自己擅長(zhǎng)執(zhí)行的任務(wù)功能類型,且擁有多種資源.如果基于全部功能或資源類型對(duì)目標(biāo)對(duì)象進(jìn)行評(píng)估,有可能得出的評(píng)估值很高,但是其并不適合執(zhí)行某類任務(wù),或在需求的某類資源總量上并不占優(yōu).在本文所研究的任務(wù)分配模型中,將基于任務(wù)所需功能類型細(xì)化評(píng)估粒度,得出Agent執(zhí)行不同功能類型任務(wù)的能力評(píng)估值.
2)能力評(píng)估指標(biāo)選取較少.信任度一般用來(lái)衡量目標(biāo)對(duì)象的誠(chéng)信程度,而能力評(píng)估用來(lái)衡量其實(shí)時(shí)的任務(wù)執(zhí)行能力.在大多數(shù)任務(wù)分配模型中,只是基于資源對(duì)對(duì)象進(jìn)行能力評(píng)估,只有文獻(xiàn)[23]和[24]結(jié)合了資源外的可靠性或聲譽(yù)等指標(biāo).在本文中,我們擬將預(yù)計(jì)執(zhí)行時(shí)間、執(zhí)行不同類型任務(wù)的成功率和任務(wù)需求的資源作為投標(biāo)方的物理能力衡量指標(biāo),將投標(biāo)方的直接社會(huì)關(guān)系資源轉(zhuǎn)換為社會(huì)關(guān)系資源提供力,并結(jié)合直接信任度,對(duì)Agent的能力進(jìn)行較全面地評(píng)估.
表1 近年具有代表性的NMAS任務(wù)分配模型總結(jié)Table 1 Summary of typical task allocation models of NMAS
3)在任務(wù)分配模型設(shè)計(jì)時(shí),考慮節(jié)點(diǎn)在物理網(wǎng)絡(luò)和交互網(wǎng)絡(luò)中的關(guān)系及屬性,可提高通信可靠性,降低協(xié)商時(shí)間,節(jié)省通信開(kāi)銷.但是,由于NMAS復(fù)雜的結(jié)構(gòu)化綜合網(wǎng)絡(luò)情境,任務(wù)分配協(xié)商過(guò)程的規(guī)劃復(fù)雜,進(jìn)而導(dǎo)致相關(guān)任務(wù)分配模型對(duì)任務(wù)分配協(xié)商過(guò)程的研究成果較少.表1所列文獻(xiàn)中,只有[26]較深入地考慮了兩種網(wǎng)絡(luò)結(jié)構(gòu)的積極作用,但其沒(méi)有考慮系統(tǒng)中實(shí)體分配的智能性、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的動(dòng)態(tài)變化性,也沒(méi)有從充分利用社會(huì)關(guān)系資源的角度出發(fā)、基于不同類型鄰居節(jié)點(diǎn)的關(guān)系屬性進(jìn)行分配協(xié)商過(guò)程的設(shè)計(jì).
4)缺乏對(duì)任務(wù)承包方執(zhí)行任務(wù)失敗后再分配機(jī)制的研究.表1所列代表性文獻(xiàn)中,只有[24]中提到了執(zhí)行任務(wù)失敗后的再分配,即如管理者出現(xiàn)故障,則任務(wù)執(zhí)行失敗,任務(wù)以其它Agent為入口進(jìn)行新一輪的分配,如任務(wù)輔助協(xié)作方執(zhí)行失敗,則管理者重新尋找新的協(xié)助者.此種任務(wù)再分配機(jī)制并不能有效利用系統(tǒng)節(jié)點(diǎn)社會(huì)交互資源,因此,本文在研究NMAS的任務(wù)分配模型時(shí),擬基于Agent的社會(huì)關(guān)系資源,設(shè)計(jì)任務(wù)再分配機(jī)制.
在本節(jié)中,我們將描述動(dòng)態(tài)綜合關(guān)系網(wǎng)的構(gòu)成,并定義NMAS中的任務(wù)與任務(wù)分配.
引言中提到,NMAS既包括系統(tǒng)運(yùn)行的底層物理網(wǎng)絡(luò),還包括Agent之間的社會(huì)交互網(wǎng)絡(luò).我們將繼續(xù)以云平臺(tái)為例,定義NMAS中綜合關(guān)系網(wǎng)的構(gòu)成.部署在一個(gè)硬件計(jì)算服務(wù)器上的虛擬服務(wù)器Agent群同屬一個(gè)物理子系統(tǒng),則本文定義同一物理子系統(tǒng)內(nèi)的Agent互為物理鄰居;機(jī)房X內(nèi)物理子系統(tǒng)A中的云服務(wù)器A1與機(jī)房Y內(nèi)物理子系統(tǒng)B中的云服務(wù)器B2具有社會(huì)關(guān)系,可以借助實(shí)際的通信鏈路進(jìn)行直接交互(如文件共享),則本文定義不屬同一物理子系統(tǒng)但可直接進(jìn)行交互(不需其它Agent引薦)的Agent互為社會(huì)鄰居.云服務(wù)器上的資源(關(guān)鍵是CPU和內(nèi)存)是有限的,但可將其上的相應(yīng)耗費(fèi)計(jì)算單元資源的軟件重新部署在具有對(duì)應(yīng)云服務(wù)的物理鄰居或社會(huì)鄰居之上,即進(jìn)行多地域跨集群的存儲(chǔ),此時(shí)可將此類操作看作是在云平臺(tái)MAS中的資源協(xié)調(diào)分配,而針對(duì)數(shù)據(jù)庫(kù)、文件等不同類型存儲(chǔ)的共享可看成是具有不同社會(huì)功能需求類型(function identifier,fid)的資源訪問(wèn)任務(wù).此時(shí),每一類型共享任務(wù)需相應(yīng)的具有該fid功能(提供該類型存儲(chǔ))的Agent執(zhí)行.如某一Agent不具備執(zhí)行某一類型任務(wù)的能力,則其接收到此類型任務(wù)請(qǐng)求時(shí),需求助其它Agent執(zhí)行,傳回相關(guān)數(shù)據(jù).隨著合作過(guò)程的積累,請(qǐng)求Agent可以和接觸頻繁、物理距離較近、任務(wù)執(zhí)行成功率較高、質(zhì)量較好的Agent形成更加親密的基于某一fid功能類型任務(wù)的社會(huì)關(guān)系,我們稱之為Agent基于fid的熟人集.基于fid的熟人集中的成員可以是其物理鄰居或社會(huì)鄰居,也可以是通過(guò)物理鄰居和社會(huì)鄰居作為中介結(jié)識(shí)的平臺(tái)中的其它Agent.那么圍繞任務(wù)分配問(wèn)題的所有這些物理鄰居、社會(huì)鄰居和熟人便形成了Agent的綜合關(guān)系網(wǎng).
此外,在人類社會(huì)關(guān)系中,也存在這樣的綜合關(guān)系網(wǎng)絡(luò).如一個(gè)軟件系統(tǒng)的開(kāi)發(fā)任務(wù),可按開(kāi)發(fā)過(guò)程分解為需求調(diào)研、需求分析、系統(tǒng)設(shè)計(jì)、編程、測(cè)試等子任務(wù),每一類型的子任務(wù)對(duì)應(yīng)一種fid.一個(gè)軟件項(xiàng)目組內(nèi)的成員互為物理鄰居,不同項(xiàng)目組內(nèi)的人員可具有社會(huì)交互關(guān)系,彼此間互為社會(huì)鄰居.如果一個(gè)工程師A執(zhí)行某一fid類子任務(wù)質(zhì)量高,且花費(fèi)時(shí)間少,則當(dāng)本項(xiàng)目組或其它項(xiàng)目組一些工程師接收到該類fid任務(wù)時(shí),如超出自己能力或時(shí)間不允許,會(huì)求助該工程師協(xié)作完成.隨著任務(wù)分配協(xié)作經(jīng)驗(yàn)的積累,他們與A會(huì)按照任務(wù)的社會(huì)功能需求fid形成基于特定功能fid的熟人關(guān)系.
在綜合關(guān)系網(wǎng)中,Agent與其基于fid的熟人之間的合作關(guān)系是單向的,而與物理鄰居和社會(huì)鄰居之間的合作關(guān)系是雙向的.圖1展示了一個(gè)簡(jiǎn)單的NMAS,在此NMAS中,共有4個(gè)物理子系統(tǒng),分別用SS1、SS2、SS3和SS4表示.子系統(tǒng)中的Agent節(jié)點(diǎn)用a表示,節(jié)點(diǎn)之間的實(shí)線邊表示Agent之間存在直接交互關(guān)系;帶箭頭的有向虛線邊表示Agent之間基于功能類型fidx的熟人合作關(guān)系,箭頭指向的是基于fidx的合作提供方,反之并不成立.
圖1 NMAS示意圖Fig.1 Schematic diagram of NMAS
在NMAS運(yùn)行過(guò)程中,經(jīng)常會(huì)有些Agent節(jié)點(diǎn)加入或離開(kāi),節(jié)點(diǎn)之間的鏈接也會(huì)經(jīng)常改變,因此,鄰居關(guān)系及關(guān)系屬性是動(dòng)態(tài)變化的;而隨著Agent任務(wù)分配經(jīng)驗(yàn)的積累,以及Agent誠(chéng)信和能力的動(dòng)態(tài)變化,其熟人關(guān)系也是動(dòng)態(tài)變化的.由此可見(jiàn),綜合關(guān)系網(wǎng)是動(dòng)態(tài)的.
定義1.NMAS中的任務(wù).NMAS中的每一個(gè)任務(wù)t可以描述為一個(gè)五元組:
t={id,fid,td,q,dl}
其中,id表示任務(wù)標(biāo)識(shí)符,對(duì)任務(wù)起唯一標(biāo)識(shí)作用;fid表示任務(wù)的社會(huì)功能需求代碼,每個(gè)任務(wù)對(duì)應(yīng)一種fid;td表示任務(wù)的文本描述;q表示任務(wù)所需的各項(xiàng)資源集合,q={q1,…,qr,…,qM},M表示NMAS中所有Agent的資源種類數(shù),表示任務(wù)對(duì)第r種資源的需求量;dl表示完成任務(wù)的截止時(shí)間.
在本文中,我們?cè)O(shè)計(jì)NMAS中的每個(gè)Agent都可同時(shí)作為任務(wù)入口,且假設(shè)Agent對(duì)于以自身為入口的任務(wù)都是誠(chéng)信的.入口Agent在將每一個(gè)原始任務(wù)分解后,得到若干子任務(wù),而此些子任務(wù)的管理者即為該入口Agent,其使用任務(wù)分配模型作為任務(wù)管方進(jìn)行任務(wù)分配.本文設(shè)定每一個(gè)子任務(wù)是需在具有相應(yīng)任務(wù)功能需求類型的單個(gè)Agent內(nèi)完成的,而執(zhí)行任務(wù)的Agent即為任務(wù)的承包方.此外,我們研究的是針對(duì)NMAS綜合網(wǎng)絡(luò)結(jié)構(gòu)組織與關(guān)系的任務(wù)分配問(wèn)題,研究角度并非基于任務(wù)間依賴和優(yōu)先級(jí)關(guān)系的任務(wù)分配,因此假設(shè)這些子任務(wù)之間是并行關(guān)系.
定義2.NMAS中的任務(wù)分配.在NMAS中,存在<{a};E>,其中,{a}表示Agent節(jié)點(diǎn)集合,任意的
1)t需求的資源在a中可全部滿足;
2)a具備任務(wù)t的fid類型相應(yīng)功能;
3)a執(zhí)行t能完成任務(wù)的預(yù)定目標(biāo).
本節(jié)將以最小化任務(wù)執(zhí)行時(shí)間和通信次數(shù)為目標(biāo),基于NMAS中的物理網(wǎng)絡(luò)和交互網(wǎng)絡(luò),充分利用Agent的綜合關(guān)系網(wǎng)資源,研究基于動(dòng)態(tài)綜合關(guān)系網(wǎng)的任務(wù)分配模型DIRNM.模型主要包括基于Agent物理能力和社會(huì)關(guān)系資源提供力的任務(wù)承包方選擇策略,基于動(dòng)態(tài)綜合關(guān)系網(wǎng)的任務(wù)分配協(xié)商過(guò)程設(shè)計(jì)和基于直接社會(huì)關(guān)系資源的任務(wù)再分配機(jī)制.
NMAS中的Agent是自治的,具體能力信息對(duì)外是不透明的,因此當(dāng)其投標(biāo)任務(wù)時(shí),需提供自身的實(shí)時(shí)物理能力信息和社會(huì)關(guān)系資源提供力信息.物理能力表明投標(biāo)Agent的實(shí)時(shí)狀態(tài)信息,而社會(huì)關(guān)系資源提供力表明如該Agent執(zhí)行任務(wù)失敗后,其可直接求助的社會(huì)關(guān)系資源.在NMAS中存在不誠(chéng)信的Agent,對(duì)于投標(biāo)Agent所提供的此些能力信息,招標(biāo)Agent必須加以衡量.因此,本節(jié)設(shè)計(jì)其可借助于直接信任度信息對(duì)投標(biāo)Agent所提供的物理能力和社會(huì)關(guān)系資源提供力信息進(jìn)行評(píng)估,并結(jié)合Agent間的通信距離,確定最優(yōu)任務(wù)承包方.
1)物理計(jì)算能力
當(dāng)任務(wù)管理Agent根據(jù)自身功能類型和資源狀態(tài)決定對(duì)任務(wù)進(jìn)行招標(biāo)分配時(shí),選擇三個(gè)因素作為投標(biāo)Agent物理能力的衡量指標(biāo).實(shí)時(shí)的任務(wù)環(huán)境和需求對(duì)于任務(wù)的等待時(shí)間和處理時(shí)間具有很高的要求,因此,將任務(wù)等待時(shí)間和處理時(shí)間合并統(tǒng)稱為投標(biāo)方的預(yù)計(jì)執(zhí)行時(shí)間,以此作為第一個(gè)衡量指標(biāo),此指標(biāo)也有利于Agent間的負(fù)載均衡;一個(gè)Agent往往對(duì)某類任務(wù)類型比較擅長(zhǎng),即Agent完成此類任務(wù)的成功率較高,因此,將Agent基于fid任務(wù)類型的執(zhí)行成功率作為第二個(gè)衡量指標(biāo);當(dāng)一個(gè)Agent對(duì)于任務(wù)需求的資源充余時(shí),在其執(zhí)行任務(wù)發(fā)生故障時(shí),可在任務(wù)截止時(shí)間及系統(tǒng)資源允許的情況下,再次執(zhí)行任務(wù),免去了對(duì)任務(wù)的二次分配,因此,Agent擁有任務(wù)所需資源的大小將作為第三個(gè)衡量指標(biāo).在任務(wù)分配時(shí),這三個(gè)指標(biāo)數(shù)值由投標(biāo)Agent匯報(bào)給招標(biāo)Agent,代表了投標(biāo)Agent的實(shí)時(shí)物理能力.
設(shè)ai為任務(wù)t的招標(biāo)方,t的功能需求代碼為fid,aj為任務(wù)t的投標(biāo)方,則ai對(duì)于aj的物理能力PAj(t)的計(jì)算公式為
PAj(t)=α·RETj(t)+β·RSRj(fid)+γ·RRj(t)
(1)
公式(1)中:
0≤PAj(t)≤1;
α、β和γ為權(quán)系數(shù),0≤α≤1,0≤β≤1,0≤γ≤1,且α+β+λ=1;
RETj(t)為相對(duì)執(zhí)行時(shí)間:
EETj(t)表示aj投標(biāo)時(shí)給出的預(yù)計(jì)執(zhí)行時(shí)間,A(t)表示投標(biāo)t的Agent集合,RETj(t)∈[0,1];
RSRj(fid)為aj執(zhí)行fid功能類型任務(wù)的相對(duì)成功率:
Rj(t)表示aj擁有的t需求資源的總量,RRj(t)∈[0,1].
2)社會(huì)關(guān)系資源提供力計(jì)算
社會(huì)關(guān)系資源提供力代表了投標(biāo)Agent可提供其直接社會(huì)關(guān)系資源的能力,我們引入其的目的是為了衡量投標(biāo)方執(zhí)行任務(wù)失敗時(shí)在任務(wù)截止時(shí)間允許范圍內(nèi)作為新的任務(wù)管理方,在其直接社會(huì)關(guān)系中再分配任務(wù)的能力.關(guān)于任務(wù)承包方執(zhí)行任務(wù)失敗后基于直接社會(huì)關(guān)系資源的再分配策略及其作用將在4.3中具體介紹,本小節(jié)只是研究社會(huì)關(guān)系資源提供力的計(jì)算方法.
在計(jì)算投標(biāo)方的社會(huì)關(guān)系資源提供力時(shí),將衡量其出度和總?cè)攵?出度是投標(biāo)方基于fid請(qǐng)求直接社會(huì)關(guān)系資源的能力指標(biāo),而總?cè)攵仁呛饬客稑?biāo)方所能直接提供社會(huì)資源或作為中介服務(wù)社會(huì)的能力指標(biāo).出度越大表示其可求助的社會(huì)關(guān)系資源越多,總?cè)攵仍酱蟊硎酒鋵?duì)外服務(wù)越繁忙.
· 基于fid的出度Oj(fid)
設(shè)aj為任務(wù)管理方ai所招標(biāo)任務(wù)t的投標(biāo)方,t的任務(wù)需求類型為fid,則aj的出度Oj(fid)為:
Oj(fid)=σ1·OACTj(fid)+σ2·(PNj(fid)-
|PNj(fid)∩OACTj(fid)|)+σ3·(SNj(fid)-
|SNj(fid)∩OACTj(fid)|)
(2)
其中,OACTj(fid)為aj基于fid以任務(wù)管理方身份建立的熟人集中熟人的數(shù)量;PNj(fid)為aj擁有的具備fid功能的物理鄰居數(shù)量,|PNj(fid)∩OLNj(fid)|為既是aj基于fid的熟人又是物理鄰居的Agent數(shù)量;SNj(fid)為aj擁有的具備fid功能的社會(huì)鄰居數(shù)量,|SNj(fid)∩OACTj(fid)|為既是aj基于fid的熟人又是社會(huì)鄰居的數(shù)量;0≤σ1≤1,0≤σ2≤1,0≤σ3≤1,σ1+σ2+σ3=1,且依據(jù)任務(wù)分配時(shí)選擇關(guān)系A(chǔ)gent的順序來(lái)說(shuō),一般σ1>σ2>σ3.
· 總?cè)攵萒Ij
TIj=σ1·IACTj+σ2·PNj+σ3·SNj
(3)
其中,IACTj指aj以資源提供方加入不同Agent不同fid熟人集的數(shù)量,PNj為aj擁有的物理鄰居數(shù)量,SNj為aj擁有的社會(huì)鄰居數(shù)量.
在公式(2)和公式(3)中,我們?cè)O(shè)計(jì)所涉及的參數(shù)設(shè)置是相同的.因?yàn)樵谟?jì)算出度時(shí),用到的3個(gè)參數(shù)分別表示了投標(biāo)方aj以資源請(qǐng)求方身份建立的熟人集中熟人的數(shù)量、擁有的具備fid功能的物理鄰居數(shù)量(除去已是基于fid熟人的Agent)以及擁有的具備fid功能的社會(huì)鄰居數(shù)量(除去已是基于fid熟人的Agent)的相對(duì)重要程度;在計(jì)算Agent入度時(shí),涉及到了投標(biāo)方aj以資源提供方身份加入不同Agent不同fid熟人集的數(shù)量,以資源提供方和中介服務(wù)方身份擁有的可求助aj自身的物理鄰居數(shù)量和社會(huì)鄰居數(shù)量.相同的社會(huì)關(guān)系角色所起到的影響作用在計(jì)算Agent出度和總?cè)攵葧r(shí)差別不大,因此我們統(tǒng)一用相同的參數(shù)權(quán)值來(lái)衡量這些項(xiàng),且一般σ1>σ2>σ3.
· 基于fid的社會(huì)關(guān)系資源提供力PPSj(fid)
(4)
其中,0≤PPSj(fid)≤1,0≤μ≤1.
由公式(4)可知,μ越大,在衡量投標(biāo)方aj的社會(huì)關(guān)系資源提供力時(shí),對(duì)其基于fid的出度越重視,即對(duì)其可求助的社會(huì)關(guān)系資源越重視;在同一參數(shù)設(shè)置下,aj的總?cè)攵仍叫?、基于fid的出度越大,表示其服務(wù)社會(huì)的繁忙程度越低,可求助的基于fid的社會(huì)資源越多,社會(huì)關(guān)系資源提供力越強(qiáng).
3)基于直接信任度、物理能力和社會(huì)關(guān)系資源提供力的任務(wù)投標(biāo)方綜合能力評(píng)估
因物理能力和社會(huì)關(guān)系資源提供力都是投標(biāo)方匯報(bào)的,所以在具有不誠(chéng)信Agent的NMAS中,招標(biāo)方有必要使用信任度進(jìn)行進(jìn)一步的能力評(píng)估.隨著系統(tǒng)規(guī)模的擴(kuò)大,完全分布式的Agent之間的橫向通信密集,如再需其它Agent進(jìn)行信任度推薦將不再適合.因此,在基于動(dòng)態(tài)綜合關(guān)系網(wǎng)的任務(wù)分配模型中,一個(gè)Agent在衡量其它Agent的信任度時(shí),設(shè)定其將只依靠自己的直接信任度去判斷.關(guān)于直接信任度的計(jì)算,將使用我們?cè)谡撐腫27]中所提出的方法,本文不再贅述.
基于直接信任度、物理能力和社會(huì)關(guān)系資源提供力的任務(wù)投標(biāo)方綜合能力評(píng)估計(jì)算如公式(5)所示.
Pj(t)=DTij(fid)·[ηPAj(t)+(1-η)PPSj(fid)]
(5)
其中,DTij(fid)表示任務(wù)管理方ai對(duì)任務(wù)投標(biāo)方aj的直接信任度;PAj(fid)表示ai對(duì)于aj的物理能力衡量,0≤PAj(fid)≤1;PPSj(fid)表示ai對(duì)aj的基于fid的社會(huì)關(guān)系資源提供力衡量,0≤PPSj(fid)≤1;η表示ai在評(píng)估aj能力時(shí)對(duì)PAj(fid)的重視程度,η越大,說(shuō)明其對(duì)投標(biāo)方自身的物理能力越重視,反之,說(shuō)明其對(duì)投標(biāo)方的社會(huì)關(guān)系資源提供力越重視,0≤η≤1.
4)最優(yōu)任務(wù)承包方選擇
任務(wù)執(zhí)行時(shí)或完成后,任務(wù)管理方都需與任務(wù)承包方進(jìn)行通信,它們間距離越近,通信時(shí)間越少,任務(wù)完成時(shí)間越短.因此,本節(jié)將通信距離納入任務(wù)承包方選擇的衡量因素中.此時(shí),可根據(jù)ai對(duì)aj的能力評(píng)估值,結(jié)合ai與aj之間的通信距離,計(jì)算出ai將任務(wù)t分配給aj的合作傾向因子CTFj(t):
(6)
最終,根據(jù)下式確定最優(yōu)任務(wù)承包方:
綜上,在設(shè)計(jì)的任務(wù)承包方選擇策略中,使用了直接信任度指標(biāo),而直接信任度計(jì)算方法又主要與Agent實(shí)際執(zhí)行任務(wù)的時(shí)間有關(guān)(詳見(jiàn)文獻(xiàn)[27]),且將Agent執(zhí)行相應(yīng)類型任務(wù)的成功率考慮其中,因此提高了任務(wù)分配成功率,降低了任務(wù)執(zhí)行總時(shí)間以及再分配的協(xié)商時(shí)間和通信開(kāi)銷;每個(gè)Agent處于網(wǎng)絡(luò)中的不同位置,在任務(wù)分配時(shí)考慮Agent間的通信距離可降低通信時(shí)間,進(jìn)而降低了任務(wù)執(zhí)行總時(shí)間.此外,還創(chuàng)新性地提出了基于出度和總?cè)攵鹊纳鐣?huì)關(guān)系資源提供力的概念.其一可以用于衡量Agent服務(wù)社會(huì)的繁忙程度,從而找到較為空閑的Agent,降低任務(wù)執(zhí)行總時(shí)間;其二可以借助其提出基于直接社會(huì)關(guān)系資源的任務(wù)再分配機(jī)制(4.3節(jié)),以優(yōu)化任務(wù)分配模型性能.
Agent在NMAS中像人在人類社會(huì)中一樣,與生俱來(lái)具有自己的社會(huì)關(guān)系,因此我們提出假設(shè)1.
假設(shè)1.不存在既無(wú)物理鄰居又無(wú)社會(huì)鄰居的Agent,也不存在與外界社會(huì)無(wú)任何聯(lián)系的子系統(tǒng).當(dāng)一個(gè)Agent的全部物理鄰居和社會(huì)鄰居退出社會(huì)時(shí),其會(huì)在其它子系統(tǒng)的Agent中進(jìn)行選擇,形成新的社會(huì)鄰居關(guān)系.
在NMAS中,當(dāng)?shù)讓游锢砭W(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時(shí),Agent之間的通信耗費(fèi)必定受到影響;Agent之間的交互網(wǎng)絡(luò)組織關(guān)系發(fā)生變化時(shí),它們之間的協(xié)商和協(xié)調(diào)也會(huì)受到影響.因此在設(shè)計(jì)任務(wù)分配協(xié)商過(guò)程時(shí),我們將綜合考慮底層物理網(wǎng)絡(luò)和交互網(wǎng)絡(luò)的作用,使得模型在分配任務(wù)和Agent執(zhí)行任務(wù)過(guò)程中能獲得更好的性能,更加趨近于任務(wù)分配優(yōu)化目標(biāo).
基于動(dòng)態(tài)綜合關(guān)系網(wǎng)的任務(wù)分配模型DIRNM并不需要掌握社會(huì)的整體網(wǎng)絡(luò)拓?fù)浜唾Y源分布情況,而是當(dāng)任務(wù)管理方ai將原始任務(wù)T分解后,如自身具備任務(wù)t(fid)對(duì)應(yīng)的功能需求類型,且系統(tǒng)資源充足,則在本地執(zhí)行;對(duì)于自身不能執(zhí)行或執(zhí)行后失敗的任務(wù),則基于自身直接社會(huì)關(guān)系進(jìn)行分配.
在任務(wù)分配模型DIRNM中,我們引入了熟人資質(zhì)評(píng)估策略,針對(duì)某類fid認(rèn)定Agent具備資格成為其熟人集中一員的最小熟人資質(zhì)評(píng)估總值,以及對(duì)直接信任度、合作頻度和投標(biāo)積極度各項(xiàng)的最低資質(zhì)要求,利用任務(wù)分配過(guò)程中的歷史數(shù)據(jù),細(xì)粒度地進(jìn)行每個(gè)Agent基于fid的熟人集的動(dòng)態(tài)維護(hù).由于篇幅限制,以及此部分內(nèi)容較簡(jiǎn)單、易理解,因此,本文將不再進(jìn)行更為詳細(xì)的說(shuō)明.
由上可見(jiàn),熟人是執(zhí)行某類型任務(wù)綜合評(píng)定較優(yōu)的Agent,因此當(dāng)任務(wù)管理方基于自身直接社會(huì)關(guān)系進(jìn)行分配時(shí),將以熟人為第一分配選擇梯隊(duì),以有效降低任務(wù)分配協(xié)商通信次數(shù),提高任務(wù)分配成功率,降低任務(wù)執(zhí)行總時(shí)間;物理鄰居與任務(wù)管理方同在一個(gè)子系統(tǒng)中,它們交互密集且通信耗費(fèi)較低,距離近且通信鏈路可靠性高、通信時(shí)間少,有效減少了任務(wù)執(zhí)行總時(shí)間,因此將其作為第二分配選擇梯隊(duì);最后,將社會(huì)鄰居作為第三選擇梯隊(duì).三個(gè)梯隊(duì)的逐層招標(biāo),可逐步擴(kuò)展任務(wù)管理Agent的協(xié)商范圍,有效控制協(xié)商分配過(guò)程中的通信開(kāi)銷.如仍無(wú)法分配成功,則會(huì)首先借助于其物理鄰居、其次為所在子系統(tǒng)全部Agent的社會(huì)鄰居作為中介向外擴(kuò)散招標(biāo)范圍.因此,分配協(xié)商過(guò)程將依次分為3部分.第一部分為任務(wù)入口Agent基于直接社會(huì)關(guān)系網(wǎng)的任務(wù)分配,采用的是先面向熟人、再面向物理鄰居、最后物理鄰居的三級(jí)分配協(xié)商,假設(shè)Agent的熟人數(shù)、物理鄰居數(shù)和社會(huì)鄰居數(shù)分別為g1、g2、g3,則逐級(jí)發(fā)送招標(biāo)書(shū)操作的時(shí)間復(fù)雜度為O(g1+g2+g3);第二部分為求助物理鄰居作為中介的任務(wù)分配,因?yàn)楫?dāng)前中介的物理鄰居即為上一輪的中介Agent(入口Agent也可看成是特殊的中介Agent),已被遍歷,所以實(shí)質(zhì)上是先面向熟人、后面向社會(huì)鄰居的二級(jí)分配協(xié)商,設(shè)當(dāng)前中介Agent的數(shù)量為q,則此部分中介Agent逐級(jí)發(fā)送招標(biāo)書(shū)操作的時(shí)間復(fù)雜度為O(q(g1+g3));第三部分為借助當(dāng)前物理鄰居所在子系統(tǒng)的所有社會(huì)鄰居作為中介,任務(wù)管理Agent面向中介Agent的熟人、物理鄰居和社會(huì)鄰居的三級(jí)任務(wù)協(xié)商分配,此部分中介Agent逐級(jí)發(fā)送招標(biāo)書(shū)操作的時(shí)間復(fù)雜度為O(q(g1+g2+g3)).仍未分配成功,則視當(dāng)前中介Agent的物理鄰居是否曾全部作為中介循環(huán)返回到第二部分或第三部分的開(kāi)始處,繼續(xù)求助新的中介向外擴(kuò)散招標(biāo).
設(shè)循環(huán)次數(shù)為h,則任務(wù)分配協(xié)商算法的時(shí)間復(fù)雜度為:
O((g1+g2+g3)+h1q(g1+g3)+h2q(g1+g2+g3))
=O(hq(g1+g2+g3))
如模型需分配的任務(wù)個(gè)數(shù)為n,則最壞情況下模型的時(shí)間復(fù)雜度為O(nhq(g1+g2+g3)).
此三部分構(gòu)成完整的分配協(xié)商過(guò)程,即使未找到任務(wù)承包Agent,但在基于假設(shè)1構(gòu)建的網(wǎng)絡(luò)中,對(duì)Agent節(jié)點(diǎn)已實(shí)現(xiàn)完全遍歷.協(xié)商過(guò)程中,t的任務(wù)管理方對(duì)于收到過(guò)招標(biāo)書(shū)的Agent將不再重復(fù)發(fā)送招標(biāo)信息,Agent也不能重復(fù)充當(dāng)中介,這也是協(xié)商算法實(shí)現(xiàn)的復(fù)雜之處.
關(guān)于分配模型對(duì)動(dòng)態(tài)綜合關(guān)系網(wǎng)的適應(yīng)性,我們?cè)O(shè)計(jì)NMAS中的每一個(gè)Agent存儲(chǔ)著其基于fid的熟人信息表、基于某一fid以其為熟人的Agent列表、物理鄰居信息表和社會(huì)鄰居信息表,且這些表在動(dòng)態(tài)的NMAS運(yùn)行過(guò)程中是實(shí)時(shí)更新的.其中熟人信息表是Agent自身根據(jù)熟人的表現(xiàn)實(shí)時(shí)計(jì)算更新,以實(shí)現(xiàn)對(duì)其熟人集的動(dòng)態(tài)維護(hù);熟人、物理鄰居和社會(huì)鄰居的加入或離開(kāi)是根據(jù)其加入后或離開(kāi)前發(fā)布的消息進(jìn)行更新的;而Agent功能發(fā)生變化后,其會(huì)及時(shí)的匯報(bào)給自己的物理鄰居、社會(huì)鄰居以及基于該功能以自身為熟人的Agent.Agent對(duì)于熟人、物理鄰居和社會(huì)鄰居基于某類fid的直接信任度信息,是根據(jù)它們的歷史表現(xiàn)結(jié)合當(dāng)前服務(wù)質(zhì)量實(shí)時(shí)計(jì)算更新的[27],而基于某類fid的的能力信息(如預(yù)計(jì)執(zhí)行時(shí)間、執(zhí)行任務(wù)成功率、任務(wù)所需類型資源擁有量、出度和總?cè)攵?,是在任務(wù)分配時(shí)實(shí)時(shí)獲取并結(jié)合信任度衡量后得出的.
在NMAS中,當(dāng)任務(wù)承包方aj(aj不等于任務(wù)管理方ai)執(zhí)行任務(wù)失敗后,可設(shè)計(jì)三種方式進(jìn)行任務(wù)的再分配:1)aj將失敗消息傳回任務(wù)管理方ai,由ai重新對(duì)任務(wù)進(jìn)行協(xié)商分配;2)aj在任務(wù)截止期內(nèi)作為新的任務(wù)管理方尋找可再次執(zhí)行的Agent,以此類推,直到任務(wù)分配執(zhí)行成功或網(wǎng)絡(luò)節(jié)點(diǎn)完全遍歷;3)當(dāng)aj執(zhí)行任務(wù)失敗后,允許其作為臨時(shí)任務(wù)管理方基于所擁有的熟人、物理鄰居和社會(huì)鄰居這些直接社會(huì)關(guān)系資源再分配一次,如分配失敗或分配后執(zhí)行失敗,再返回失敗消息給原始任務(wù)管理方ai,由ai重新開(kāi)始對(duì)任務(wù)進(jìn)行新一輪分配.本文將采取第三種方式,如再分配成功,可省去原始任務(wù)管理方的任務(wù)再分配協(xié)商,避免其可能向更遠(yuǎn)Agent招標(biāo)的通信消耗.因?yàn)橐话闱闆r下,如任務(wù)管理方有更好的關(guān)系A(chǔ)gent,也不會(huì)交由現(xiàn)失敗Agent執(zhí)行;如再分配失敗,隨著系統(tǒng)資源狀態(tài)變化,原先因資源限制沒(méi)有投標(biāo),或發(fā)生故障現(xiàn)已恢復(fù)的Agent可再次進(jìn)行投標(biāo),保證了任務(wù)管理方盡量與距離較近的Agent進(jìn)行合作,降低了通信消耗,也盡量保證了信息的實(shí)時(shí)性.
aj在進(jìn)行任務(wù)承包方選擇時(shí)將不再考慮投標(biāo)方的社會(huì)關(guān)系資源提供力,這是由于本文選擇的是第三種任務(wù)承包方再分配方式,因此,4.2節(jié)公式(5)中的η=1.
擬進(jìn)行三部分實(shí)驗(yàn),完成以下工作:
第一部分:基于動(dòng)態(tài)綜合關(guān)系網(wǎng)的任務(wù)分配模型的有效性驗(yàn)證.此部分實(shí)驗(yàn)將選取三個(gè)近年來(lái)具有代表性的NMAS任務(wù)分配模型與本文所提出的DIRNM進(jìn)行對(duì)比實(shí)驗(yàn).
第二部分:基于直接社會(huì)關(guān)系資源再分配機(jī)制的效果驗(yàn)證.將采用基于直接社會(huì)關(guān)系資源再分配機(jī)制的DIRNM與不采用該機(jī)制的模型進(jìn)行對(duì)比,驗(yàn)證模型在進(jìn)行任務(wù)承包方選擇時(shí),除物理能力外,引入社會(huì)關(guān)系資源提供力衡量指標(biāo),以便于任務(wù)承包方失敗后采取基于其直接社會(huì)關(guān)系資源再分配機(jī)制的效果.
第三部分:模型魯棒性驗(yàn)證.NMAS是開(kāi)放的、動(dòng)態(tài)的,隨時(shí)會(huì)有Agent節(jié)點(diǎn)加入或離開(kāi).本文將進(jìn)行Agent節(jié)點(diǎn)動(dòng)態(tài)離開(kāi)社會(huì)網(wǎng)絡(luò)時(shí)的模型魯棒性測(cè)試,以驗(yàn)證模型在網(wǎng)絡(luò)結(jié)構(gòu)發(fā)生變化時(shí)的有效性.
實(shí)驗(yàn)仿真平臺(tái)在MyEclipse IDE下使用Java語(yǔ)言自主開(kāi)發(fā).所開(kāi)發(fā)的仿真NMAS中包含10個(gè)子系統(tǒng)30個(gè)Agent.30個(gè)Agent按每個(gè)子系統(tǒng)2到4個(gè)的數(shù)量隨機(jī)分散在10個(gè)物理局域子系統(tǒng)中,Agent與其它不屬同一子系統(tǒng)的Agent形成社會(huì)鄰居的數(shù)量小于等于2;每一個(gè)子系統(tǒng)中,至少有一個(gè)Agent擁有社會(huì)鄰居;30個(gè)Agent中,誠(chéng)信度為90%、80%、70%的Agent數(shù)量各占三分之一,當(dāng)Agent投標(biāo)時(shí),按1減去其誠(chéng)信度的概率謊報(bào)自己的能力,即預(yù)計(jì)執(zhí)行時(shí)間縮短30%,成功率提高到100%;每個(gè)Agent的初始資源不同,相同功能需求類型任務(wù)的大小及所需資源相同;Agent具備的功能分屬于1到6功能類型中的1到3種,單個(gè)Agent執(zhí)行不同功能類型任務(wù)的成功率在50%~95%之間,處理速率隨機(jī)設(shè)定為6~9個(gè)任務(wù)每秒;任務(wù)的資源需求種類包括CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)四種系統(tǒng)資源.
當(dāng)Agent自身客觀能力有限,或不誠(chéng)信地執(zhí)行任務(wù)時(shí),會(huì)導(dǎo)致任務(wù)執(zhí)行失敗.在仿真平臺(tái)中,我們以Agent執(zhí)行不同功能類型任務(wù)的成功率代表其客觀能力;而當(dāng)一個(gè)Agent的誠(chéng)信度設(shè)置為70%時(shí),意味著其接收的平均100個(gè)任務(wù)中,有30個(gè)任務(wù)該Agent不按約定執(zhí)行以至于超出任務(wù)截止時(shí)間,最終導(dǎo)致任務(wù)執(zhí)行失敗.設(shè)置每一個(gè)任務(wù)經(jīng)任務(wù)管理方分配后(可多次分配)都可在NMAS中完成.
任務(wù)分配模型的性能指標(biāo)分為任務(wù)執(zhí)行總時(shí)間、通信次數(shù)和任務(wù)完成步驟三種:
·任務(wù)執(zhí)行總時(shí)間.任務(wù)執(zhí)行總時(shí)間指任務(wù)集從不同Agent進(jìn)入NMAS到任務(wù)全部執(zhí)行完畢所經(jīng)歷的時(shí)間.執(zhí)行總時(shí)間與任務(wù)分配模型的性能成反比.針對(duì)系統(tǒng)任務(wù),記錄不同的任務(wù)分配模型下、每一輪任務(wù)完成后與之前各輪任務(wù)的累積執(zhí)行總時(shí)間.實(shí)驗(yàn)重復(fù)進(jìn)行50次,得出累積平均執(zhí)行總時(shí)間.
·任務(wù)完成步驟.任務(wù)完成步驟其實(shí)衡量的是任務(wù)分配模型在不同Agent節(jié)點(diǎn)間分配任務(wù)的可靠性.它的基數(shù)為任務(wù)個(gè)數(shù),每一個(gè)任務(wù)進(jìn)入本地Agent后即為一步,當(dāng)本地Agent通過(guò)招投標(biāo)交由其他Agent執(zhí)行一次,或其它Agent執(zhí)行失敗,再次回到本地被本地Agent執(zhí)行時(shí),任務(wù)完成步驟累加一次.針對(duì)系統(tǒng)任務(wù),觀察不同的任務(wù)分配模型下、每一輪任務(wù)完成后與之前各輪任務(wù)的累積完成步驟.實(shí)驗(yàn)重復(fù)進(jìn)行50次,得出累積平均完成步驟.
·通信次數(shù).通信次數(shù)指的是從任務(wù)分配到任務(wù)完成整個(gè)過(guò)程中,不同Agent之間通信次數(shù)的總和.
在對(duì)比實(shí)驗(yàn)之前,我們將根據(jù)模型中對(duì)參數(shù)取值的約束,設(shè)計(jì)不同的參數(shù)值輸入數(shù)據(jù),經(jīng)多次實(shí)驗(yàn),確定參數(shù)最優(yōu)取值.下面以確定公式(1)中參數(shù)α、β和γ的最優(yōu)值為例進(jìn)行具體說(shuō)明.
當(dāng){α,β,γ}為需取值的參數(shù)集,模型中的其它參數(shù)取固定假設(shè)值,因此α、β和γ的取值過(guò)程其實(shí)是有約束性質(zhì)的交叉檢驗(yàn)[28,29].先α將取固定值,將β和γ的取值進(jìn)行變化,β、γ不同取值都覆蓋后,再將α取另一固定值,β、γ的值再進(jìn)行變化,…,以此類推,直到α的取值也都覆蓋.α、β和γ的取值間距為0.1.針對(duì){α,β,γ}的每一組參數(shù)取值組合,將不同功能需求類型的任務(wù)投放到位于不同子系統(tǒng)的Agent中,經(jīng)50次重復(fù)實(shí)驗(yàn),得出平均任務(wù)執(zhí)行總時(shí)間 (Total Execution time,TET)和平均通信次數(shù)(Communication Number,CN),并按照公式(7)計(jì)算該參數(shù)取值下的優(yōu)越值SV.
(7)
其中,ζ∈[0,1].ζ的取值與用戶需求有關(guān),ζ越大,對(duì)任務(wù)執(zhí)行時(shí)間越重視,反之,對(duì)通信次數(shù)越重視.
在接下來(lái)的實(shí)驗(yàn)中,關(guān)于所使用模型中的參數(shù)取值,我們將兼顧縮短任務(wù)執(zhí)行時(shí)間和減少通信次數(shù)的分配目標(biāo),設(shè)置任務(wù)執(zhí)行時(shí)間權(quán)重為0.7,通信次數(shù)權(quán)重為0.3,采用上述參數(shù)取值方法,預(yù)先設(shè)計(jì)不同的參數(shù)值組合,經(jīng)多次實(shí)驗(yàn)后,最終通過(guò)公式(7)選出一組優(yōu)越值最高的參數(shù)值進(jìn)行相關(guān)實(shí)驗(yàn).
此部分實(shí)驗(yàn)將本文所提出的DIRNM與近幾年提出的Locality-sensitive model[21]、Community-aware Model[22]和HRETA[23]此三種NMAS任務(wù)分配模型進(jìn)行任務(wù)完成總時(shí)間、通信次數(shù)和任務(wù)執(zhí)行步驟三個(gè)衡量指標(biāo)方面的性能比較,以驗(yàn)證本文所提出模型的有效性.用來(lái)對(duì)比的三種模型的特征分析可回見(jiàn)表1.
每個(gè)Agent節(jié)點(diǎn)都是任務(wù)入口,可同時(shí)進(jìn)入需要系統(tǒng)執(zhí)行的任務(wù).隨機(jī)產(chǎn)生任務(wù)3000個(gè),任務(wù)類型fid∈{0,1,…,6},分10輪投放到位于10個(gè)子系統(tǒng)的30個(gè)Agent中,每輪投放300個(gè),每個(gè)Agent10個(gè).設(shè)置每一個(gè)任務(wù)經(jīng)任務(wù)管理Agent分配后(可多次分配)都可在NMAS中完成.進(jìn)行50次重復(fù)實(shí)驗(yàn),計(jì)算得出每一輪任務(wù)完成后累計(jì)的平均任務(wù)執(zhí)行總時(shí)間、通信次數(shù)、任務(wù)完成步驟,結(jié)果如圖2所示.
由圖2可見(jiàn),基于動(dòng)態(tài)綜合關(guān)系網(wǎng)的任務(wù)分配模型的任務(wù)執(zhí)行總時(shí)間、通信次數(shù)、任務(wù)完成步驟均最少,模型性能最優(yōu).這是由于其基于熟人——物理鄰居——社會(huì)鄰居網(wǎng)絡(luò)結(jié)構(gòu)化特點(diǎn)的三級(jí)分配過(guò)程,基于具體任務(wù)功能需求類型fid的Agent直接信任度、Agent物理能力(包含預(yù)計(jì)執(zhí)行時(shí)間、成功率和資源三項(xiàng)衡量指標(biāo))、社會(huì)關(guān)系資源提供力和通信距離的Agent節(jié)點(diǎn)選擇機(jī)制,以及基于直接社會(huì)資源的任務(wù)失敗Agent再分配策略共同作用的結(jié)果;其它三種對(duì)比模型在選擇執(zhí)行任務(wù)的Agent時(shí)都考慮了物理資源量和通信距離,Locality-sensitive model還考慮了Agent的社會(huì)資源和負(fù)載均衡,HRETA考慮了Agent的可靠性和負(fù)載均衡,因此如圖2(a)所示,此兩模型任務(wù)完成總時(shí)間較Community-aware model少;但Community-aware model在招標(biāo)時(shí)先面向距離近的Agent招標(biāo),由近及遠(yuǎn)向外擴(kuò)散招標(biāo)范圍,即對(duì)應(yīng)網(wǎng)絡(luò)結(jié)構(gòu)化特點(diǎn)首先面向物理鄰居招標(biāo),其次為社會(huì)鄰居,因此如圖2(b)所示,其通信次數(shù)較Locality-sensitive model和HRETA少;Locality-sensitive model考慮了社會(huì)資源,在Agent執(zhí)行任務(wù)失敗時(shí)可擴(kuò)展協(xié)商范圍,增加接觸能力較優(yōu)Agent的機(jī)會(huì),HRETA考慮了可靠性,所以如圖2(c)所示,此兩種模型任務(wù)完成步驟較Community-aware model少.
圖2 四種任務(wù)分配模型性能對(duì)比Fig.2 Performance comparison of four kinds of models
本部分實(shí)驗(yàn)將分別使用Agent節(jié)點(diǎn)選擇時(shí)考慮社會(huì)關(guān)系資源提供力指標(biāo)、采取基于直接社會(huì)關(guān)系資源再分配機(jī)制的模型,與不考慮社會(huì)關(guān)系資源提供力指標(biāo)、不采取基于直接社會(huì)關(guān)系資源再分配機(jī)制的模型分配任務(wù).隨機(jī)產(chǎn)生3000個(gè)fid∈{0,1,…,6}的任務(wù),分10輪投放,每輪300個(gè),每Agent10個(gè).實(shí)驗(yàn)重復(fù)進(jìn)行50次,計(jì)算得出累積平均執(zhí)行總時(shí)間、通信次數(shù)和完成步驟,如圖3所示.
圖3 采用與不采用基于直接社會(huì)關(guān)系資源再分配機(jī)制的性能對(duì)比Fig.3 Model performance comparison of using and not using the redistribution mechanism based on direct social relation resources
由圖3(a)和(b)可以看出,采用基于社會(huì)資源再分配機(jī)制的模型,從第一輪任務(wù)開(kāi)始,較沒(méi)采用該機(jī)制的分配模型執(zhí)行總時(shí)間低,通信次數(shù)少,性能表現(xiàn)優(yōu),驗(yàn)證了3.3節(jié)設(shè)計(jì)失敗Agent基于直接社會(huì)關(guān)系資源再分配策略時(shí)提到的“如再分配成功,可省去原始任務(wù)管理方的任務(wù)再分配協(xié)商,避免其可能向更遠(yuǎn)Agent招標(biāo)的通信消耗,因?yàn)槿缛蝿?wù)管理方有更好的Agent,也不會(huì)交由現(xiàn)失敗Agent執(zhí)行;如再分配失敗,隨著系統(tǒng)資源狀態(tài)變化,原先因資源限制沒(méi)有投標(biāo),或發(fā)生故障現(xiàn)已恢復(fù)的Agent可再次進(jìn)行投標(biāo),保證了入口Agent盡量與距離較近的Agent進(jìn)行合作,降低了通信消耗”的初衷.由圖3(c)可以看出,該策略對(duì)提高任務(wù)分配成功率也有促進(jìn)作用,這是由于任務(wù)失敗Agent基于直接社會(huì)關(guān)系資源的再分配增加了其熟人等能力較優(yōu)Agent執(zhí)行任務(wù)的機(jī)會(huì).
由于NMAS的開(kāi)放性,Agent節(jié)點(diǎn)會(huì)動(dòng)態(tài)加入或離開(kāi)社會(huì)網(wǎng)絡(luò).本部分實(shí)驗(yàn)將在一些Agent節(jié)點(diǎn)離開(kāi)社會(huì)導(dǎo)致網(wǎng)絡(luò)結(jié)構(gòu)動(dòng)態(tài)變化的情形下,驗(yàn)證基于動(dòng)態(tài)綜合關(guān)系網(wǎng)任務(wù)分配模型的魯棒性.實(shí)驗(yàn)共分配20輪任務(wù),第1-10輪任務(wù)分配時(shí)實(shí)驗(yàn)設(shè)置仍為10個(gè)子系統(tǒng)30個(gè)Agent,第11輪將選取兩個(gè)誠(chéng)信度高且能力相對(duì)優(yōu)秀的Agent離開(kāi)社會(huì)網(wǎng)絡(luò).
隨機(jī)產(chǎn)生300個(gè)任務(wù),在第1到10輪,此300個(gè)任務(wù)將被重復(fù)分配,每輪每個(gè)Agent固定分配10個(gè)任務(wù).隨機(jī)產(chǎn)生280個(gè)任務(wù),在第11輪到20輪,此280個(gè)任務(wù)將被重復(fù)分配,每輪每個(gè)Agent固定分配10個(gè)任務(wù).實(shí)驗(yàn)重復(fù)進(jìn)行50次,得出每輪單任務(wù)的平均執(zhí)行時(shí)間和平均通信次數(shù)消耗,實(shí)驗(yàn)結(jié)果如圖4所示.
圖4 網(wǎng)絡(luò)結(jié)構(gòu)動(dòng)態(tài)變化時(shí)的實(shí)驗(yàn)結(jié)果Fig.4 Experimental results under the circumstance of the network structure changing dynamicly
由圖4可以看出,在第1-10輪任務(wù),隨著輪次的增加,每輪單任務(wù)的平均執(zhí)行時(shí)間和通信次數(shù)開(kāi)銷逐漸下降,最后趨于平穩(wěn),這說(shuō)明每個(gè)Agent隨著任務(wù)分配經(jīng)驗(yàn)的積累,形成了較為固定的熟人社會(huì)關(guān)系以及較為準(zhǔn)確的Agent直接信任度判斷,同時(shí)也驗(yàn)證了模型中相關(guān)機(jī)制和策略的有效性.在第11輪,隨著兩個(gè)誠(chéng)信度高且能力較優(yōu)Agent的離開(kāi),單任務(wù)平均執(zhí)行時(shí)間和通信次數(shù)開(kāi)銷有一個(gè)大幅度的升高,這是由于隨著兩個(gè)優(yōu)秀Agent的離開(kāi),原先將之作為熟人的Agent只能通過(guò)誠(chéng)信度和能力相對(duì)離開(kāi)Agent低的熟人或物理鄰居、社會(huì)鄰居進(jìn)行任務(wù)分配,任務(wù)執(zhí)行時(shí)間增加,任務(wù)分配成功率下降引起再分配通信次數(shù)上升;而與之互為物理鄰居或社會(huì)鄰居的Agent在利用自身綜合關(guān)系網(wǎng)進(jìn)行任務(wù)擴(kuò)散招標(biāo)時(shí),隨著此兩Agent的退出,招標(biāo)范圍將受到影響,協(xié)商效率下降.隨后,隨著任務(wù)輪次的增加,執(zhí)行總時(shí)間和完成步驟總體為下降趨勢(shì),并慢慢趨于平穩(wěn),這說(shuō)明每個(gè)Agent又重新形成了較為穩(wěn)定的綜合關(guān)系網(wǎng)絡(luò).但平穩(wěn)后的平均執(zhí)行總時(shí)間和通信次數(shù)仍較Agent退出社會(huì)前高,這是由于此兩Agent為社會(huì)中誠(chéng)信度高且能力相對(duì)優(yōu)秀的Agent,且隨著Agent的退出,其熟人、物理鄰居和社會(huì)的任務(wù)分配協(xié)商效率受到影響.總的來(lái)說(shuō),從圖4曲線走勢(shì)來(lái)看,模型具有魯棒性,且恢復(fù)性能較快.
近幾年來(lái),隨著NMAS概念的提出,NMAS的任務(wù)分配開(kāi)始被研究.本文通過(guò)深入考慮網(wǎng)絡(luò)結(jié)構(gòu)化(包括物理網(wǎng)絡(luò)和交互網(wǎng)絡(luò))的作用,研究了完全分布式的、基于動(dòng)態(tài)綜合關(guān)系網(wǎng)的任務(wù)分配模型,解決了大規(guī)模分布式NMAS任務(wù)分配中橫向通信密集且社會(huì)關(guān)系資源不能充分利用的問(wèn)題,且適用于動(dòng)態(tài)的網(wǎng)絡(luò)結(jié)構(gòu).模型中基于直接信任度、物理能力和社會(huì)關(guān)系資源提供力的任務(wù)承包方選擇策略有效評(píng)估了Agent的實(shí)時(shí)能力及其執(zhí)行任務(wù)失敗時(shí)可求助的社會(huì)關(guān)系資源;基于熟人、物理鄰居和社會(huì)鄰居形成的動(dòng)態(tài)綜合關(guān)系網(wǎng)的任務(wù)分配協(xié)商過(guò)程,降低了分配協(xié)商通信開(kāi)銷.此外,構(gòu)建了基于Agent直接社會(huì)關(guān)系資源的任務(wù)再分配機(jī)制,充分利用了Agent節(jié)點(diǎn)的社會(huì)關(guān)系資源,有效規(guī)劃了任務(wù)再分配協(xié)商范圍,優(yōu)化了模型的任務(wù)分配性能.但本文對(duì)于模型中的權(quán)重參數(shù),實(shí)驗(yàn)時(shí)是通過(guò)設(shè)置多個(gè)參數(shù)組合,利用交叉檢驗(yàn)方法經(jīng)過(guò)多次實(shí)驗(yàn),根據(jù)降低任務(wù)執(zhí)行時(shí)間和通信次數(shù)的任務(wù)分配目標(biāo)取最優(yōu)設(shè)置值.但此種參數(shù)取值方法較為傳統(tǒng),工作量也較大.此外,當(dāng)Agent誠(chéng)信和能力動(dòng)態(tài)變化時(shí)參數(shù)值設(shè)置也不能及時(shí)調(diào)整.因此,下一步工作我們將專門研究參數(shù)取值及其在實(shí)時(shí)分配過(guò)程中的自適應(yīng)調(diào)節(jié)問(wèn)題,以進(jìn)一步保證動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境中的模型性能.
:
[1] Coulouris G,Dollimore G,Kindberg J,et al.Distributed systems:concepts and design (5th edition)[M].Burlington:Morgan Kaufmann Publishing,2012.
[2] Wilensky U,Rand W.An introduction to agent-based modeling:modeling natural,social,and engineered complex systems with netlogo[M].Cambridge:MIT Press,2015.
[3] Liu Da-you,Yang Kun,Chen Jian-zhong.Research status and development trend of agent[J].Journal of Software,2000,11(3):315-321.
[4] Wooldridge M.An introduction to multiagent systems[M].Wiley Publishing,2009.
[5] Rousset A,Herrmann B,Lang C,et al.A survey on parallel and distributed multi-agent systems[C].Euro-Par 2014:Parallel Processing Workshops,August 25-26,Porto,Portugal,2014:371-382.
[6] Cao L,Zhang C,Zhou M C.Engineering open complex agent systems:a case study[J].IEEE Transactions on Systems Man & Cybernetics Part C Applications & Reviews,2008,38(4):483-496.
[7] Jiang Yi-chuan.Task allocation in networked multiagent systems[J].Pattern Recognition and Artificial Intelligence,2012,25(2):262-272.
[8] Jiang Y C,Jiang J C.A multi-agent coordination model for the variation of underlying network topology[J].Expert Systems with Applications,2005,29(2):372-382.
[9] Lv Jian,Tao Xian-ping,Ma Xiao-xing,et al.Research on interware model based on agents[J].Science China:Series E,2005,35(12):1233-1253.
[10] Jiang Y,Hu J,Lin D.Decision making of networked multiagent systems for interaction structures[J].IEEE Trans on Systems,Man and Cybernetics,2011,99(3):1-15.
[11] Abdallah S,Lesser V.Multiagent reinforcement learning and self-organization in a network of agents[C].Proc of the 6th International Joint Conference on Autonomous Agents and Multiagent Systems,Honolulu,USA,2007:172-179.
[12] Jiang Y,Huang Z.The rich get richer:preferential attachment in the task allocation of cooperative networked multiagent systems with resource caching[J].IEEE Transactions on Systems Man & Cybernetics Part A Systems & Humans,2012,42(5):1040-1052.
[13] Tao Hai-jun,Wang Ya-dong,Guo Mao-zu,et al.A multi-agent negotiation model based on acquaintance coalition and extended contract net protocol[J].Journal of Computer Research and Development,2006,43(7):1155-1160.
[14] Chen Gang,Lu Ru-qian.Relation web model an organizational approach to agent cooperation based on social mechanism[J].Journal of Computer Research and Development,2003,40(1):107-114.
[15] Guo Gai-gai.Research and implementation of multi-agent aggregation model[D].Xi′an:Xidian University,2014.
[16] Val E D,Rebollo M,Vasirani M,et al.Utility-based mechanism for structural self-organization in service-oriented MAS[J].Acm Transactions on Autonomous & Adaptive Systems,2014,9(3):1-24.
[17] Gao Fei-yan.Research on the multi-agent task allocation mechanism based on extended contract net[D].Dalian:Dalian Maritime University,2009.
[18] Kinnebrew J S,Biswas G.Efficient allocation of hierarchically -decomposable tasks in a sensor web contract net[C].IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology,15-18 Sept,Milan,Italy,2009,2:225-232.
[19] Xu H,Mandal S,Pattipati K R,et al.An optimization-based distributed planning algorithm:a blackboard-based collaborative framework[J].IEEE Transactions on Systems,Man & Cybernetics Systems,2014,44(6):673-686.
[20] Qiu Hang-ping,Qin Yao,Hu Rui.Study on the task allocation based on improved contract net in multi-agent system[J].Computer Science,2012(B06):279-282.
[21] Jiang Y,Li Z.Locality-sensitive task allocation and load balancing in networked multiagent systems:talent versus centrality[J].Journal of Parallel and Distributed Computing,2011,71(6):822-836.
[22] Wang W,Jiang Y.Community-aware task allocation for social networked multiagent systems[J].IEEE Transactions on Cybernetics,2013,44(9):1529-1543.
[23] Rahimzadeh F,Khanli L M,Mahan F.High reliable and efficient task allocation in networked multi-agent systems[J].Autonomous Agents and Multi-Agent Systems,2015,29(6):1023-1040.
[24] Jiang Y,Zhou Y,Wang W.Task allocation for undependable multiagent systems in social networks[J].IEEE Transactions on Parallel & Distributed Systems,2013,24(8):1671-1681.
[25] Weerdt M M D,Zhang Y,Klos T.Multiagent task allocation in social networks[J].Autonomous Agents and Multi-Agent Systems,2012,25(1):46-86.
[26] Jiang Y,Jiang J.Contextual resource negotiation-based task allocation and load balancing in complex software systems[J].IEEE Transactions on Parallel & Distributed Systems,2009,20(5):641-653.
[27] Wu Dan-feng,Yu Si-miao,Zhang Sheng-yu,et al.Rask allocation based trust degree for social network of syncretic system[J].Journal of Software,2017,28(7):1898-1925.
[28] Zhao Y,Wang K.Fast cross validation for regularized extreme learning machine[J].Systems Engineering & Electronics Journal of,2014,25(5):895-900.
[29] Astorino A,Fuduli A.The proximal trajectory algorithm in svm cross validation[J].IEEE Transactions on Neural Networks & Learning Systems,2016,27(5):966-976.
附中文參考文獻(xiàn):
[3] 劉大有,楊 鯤,陳建中.Agent研究現(xiàn)狀與發(fā)展趨勢(shì)[J].軟件學(xué)報(bào),2000,11(3):315-321.
[7] 蔣嶷川.網(wǎng)絡(luò)結(jié)構(gòu)化多Agent系統(tǒng)的任務(wù)分配[J].模式識(shí)別與人工智能,2012,25(2):262-272.
[9] 呂 建,陶先平,馬曉星,等.基于 Agent 的網(wǎng)構(gòu)軟件模型研究[J].中國(guó)科學(xué):技術(shù)科學(xué),2005,35(12):1233-1253.
[13] 陶海軍,王亞?wèn)|,郭茂祖,等.基于熟人聯(lián)盟及擴(kuò)充合同網(wǎng)協(xié)議的多智能體協(xié)商模型[J].計(jì)算機(jī)研究與發(fā)展,2006,43(7):1155-1160.
[14] 陳 剛,陸汝鈐.關(guān)系網(wǎng)模型—基于社會(huì)合作機(jī)制的多Agent協(xié)作組織方法[J].計(jì)算機(jī)研究與發(fā)展,2003,40(1):107-114.
[15] 郭改改.多Agent聚合模型的研究與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2014.
[17] 高飛燕.基于擴(kuò)展合同網(wǎng)的多Agent任務(wù)分配機(jī)制的研究[D].大連:大連海事大學(xué),2009.
[20] 裘杭萍,覃 垚,胡 汭,等.多Agent系統(tǒng)中基于改進(jìn)合同網(wǎng)模型的任務(wù)分配研究[J].計(jì)算機(jī)科學(xué),2012(B06):279-282.
[27] 武丹鳳,于思淼,張繩昱,等.基于信任度的合一系統(tǒng)社會(huì)任務(wù)分配[J].軟件學(xué)報(bào),2017,28(7):1898-1925.