張曉勇,彭軍,李哲琴
(中南大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長沙,410083)
協(xié)作是多智能體系統(tǒng)中的1個關(guān)鍵問題,多智能體系統(tǒng)中的自主智能體要完成系統(tǒng)的目標(biāo)必須進(jìn)行有效的協(xié)作。智能體處在一個高度動態(tài)變化的環(huán)境中,狀態(tài)空間極大且難以準(zhǔn)確預(yù)測,所以,難以預(yù)先為智能體設(shè)定完整的行為策略和控制參數(shù)。智能體必須具有自適應(yīng)動態(tài)環(huán)境的能力,在運(yùn)行過程中動態(tài)調(diào)整自身行為策略,實(shí)現(xiàn)多智能體系統(tǒng)更強(qiáng)的環(huán)境適應(yīng)性和魯棒性,才能更好地完成系統(tǒng)的復(fù)雜任務(wù)。多智能體系統(tǒng)協(xié)進(jìn)化算法是近年來進(jìn)化理論發(fā)展的熱點(diǎn),它為解決復(fù)雜系統(tǒng)動態(tài)自適應(yīng)、機(jī)器學(xué)習(xí)等問題提供了1種新手段[1-6]。協(xié)進(jìn)化算法基于生態(tài)學(xué)的種群協(xié)同理論,運(yùn)用種群間的自動調(diào)節(jié)、自適應(yīng)原理,是復(fù)雜動態(tài)變化環(huán)境中的智能體群體產(chǎn)生適應(yīng)性協(xié)作行為的新途徑。對于協(xié)進(jìn)化算法在多智能體系統(tǒng)協(xié)作的應(yīng)用,目前已有一些成功的范例[7-9]。Uchibe等[10]用合作型協(xié)進(jìn)化算法獲取足球機(jī)器人的協(xié)作行為;Luke等[11]用協(xié)進(jìn)化方法訓(xùn)練得到了1個完整的機(jī)器人足球隊(duì);Puppala等[12]提出了 1種“共享記憶”方法,用于存儲協(xié)進(jìn)化過程中成功合作的個體對,并將這種方法應(yīng)用到2個房屋粉刷機(jī)器人的協(xié)調(diào)控制中,獲得了較好的效果。但是,這些方法都只適用于任務(wù)簡單的同構(gòu)智能體系統(tǒng)中。在異構(gòu)問題域中,F(xiàn)ukuda等[13]采用1種細(xì)菌感染協(xié)進(jìn)化算法,解決智能機(jī)器人運(yùn)動規(guī)劃的決策問題;Thomas等[14]對著名的“捕食者-獵物”問題進(jìn)行了全面研究,并采用合作型協(xié)進(jìn)化方法研究了由k個異類智能體組成的團(tuán)隊(duì)如何獲取合作策略的問題。這些方法不適用于復(fù)雜、高維的問題域中。采用合作協(xié)進(jìn)化算法對異構(gòu)多智能體系統(tǒng)的協(xié)作行為策略進(jìn)行優(yōu)化、尋求最優(yōu)協(xié)作策略時,存在如下問題:適應(yīng)度函數(shù)難以建立;協(xié)作難以達(dá)到全局最優(yōu)。為此,本文作者針對非結(jié)構(gòu)化的環(huán)境和多樣化復(fù)雜任務(wù)的異構(gòu)多智能體系統(tǒng)協(xié)作效用最大化問題,提出1種基于子域適應(yīng)度評估的合作協(xié)進(jìn)化協(xié)作算法,克服了合作協(xié)進(jìn)化算法在解決復(fù)雜多智能體系統(tǒng)協(xié)作問題時存在的通信量過于繁重、適應(yīng)度函數(shù)難以建立等問題。
合作協(xié)進(jìn)化算法模擬自然界種群之間的協(xié)進(jìn)化機(jī)制,對所有種群進(jìn)行并行進(jìn)化,優(yōu)化種群之間的合作。在多智能體系統(tǒng)中采用合作協(xié)進(jìn)化算法對智能體之間的行為進(jìn)行自適應(yīng)協(xié)作協(xié)調(diào),定義如下。
(1)問題域:整個多智能體系統(tǒng)所要解決的問題或者需要完成的任務(wù)。
(2)種群:1個智能體所擁有的行為決策集。
(3)個體:1個狀態(tài)環(huán)境下通過規(guī)則推理生成的1個行為決策。
(4)適應(yīng)度函數(shù):對問題域中任務(wù)完成的優(yōu)劣程度進(jìn)行度量的函數(shù)。
合作協(xié)進(jìn)化算法的核心部分是個體適應(yīng)度的評估。個體的適應(yīng)度是根據(jù)其與其他種群中個體一起完成任務(wù)的優(yōu)劣通過適應(yīng)度函數(shù)計(jì)算得到賦值的。對那些有利于種群間協(xié)調(diào)協(xié)作的行為賦予較高的適應(yīng)度,而對于不利于協(xié)作的策略則賦予較低的適應(yīng)度,使種群朝著相互協(xié)調(diào)適應(yīng)的方向進(jìn)化,產(chǎn)生全局協(xié)調(diào)協(xié)作行為。
在異構(gòu)多智能體系統(tǒng)的實(shí)際問題中,不同種類的智能體完成的任務(wù)不同,對某智能體來說,其他類智能體的行為決策對其子任務(wù)的完成影響較小。因此,在評估該智能體行為決策的適應(yīng)度時,若不從異構(gòu)種群中選取代表個體參與評估,則可減少通信負(fù)擔(dān)。根據(jù)智能體的異構(gòu)特征和整個系統(tǒng)的任務(wù)規(guī)劃,將問題域空間分解成相互影響較小、較易求解的子問題域,這樣,在子問題域進(jìn)行合作協(xié)進(jìn)化,將大大降低協(xié)進(jìn)化算法中適應(yīng)度評估函數(shù)的維數(shù),簡化適應(yīng)度函數(shù)的建立過程。異構(gòu)多智能體系統(tǒng)的自適應(yīng)協(xié)作問題描述如下。
定義1:問題域。問題域F由異構(gòu)多智能體系統(tǒng)中所有的種群組成,能完成多智能體系統(tǒng)需要完成的總?cè)蝿?wù)。按照動態(tài)任務(wù)規(guī)劃方法可以將總?cè)蝿?wù)劃分成N個子任務(wù),則問題域F可以表示為:
定義2:子問題域。子問題域Fi由M個同構(gòu)種群構(gòu)成,能完成問題域F總?cè)蝿?wù)中的一部分(子任務(wù))。其中,M表示子問題域Fi中的智能體個數(shù)。同構(gòu)種群結(jié)構(gòu)相同,行為功能相同并且聯(lián)系緊密,以完成同一子任務(wù)為目標(biāo),則子問題域Fi可以表示為:
復(fù)雜動態(tài)環(huán)境下的異構(gòu)多智能體協(xié)作問題便可歸結(jié)為系統(tǒng)中所有異構(gòu)智能體尋找最優(yōu)合作策略來完成任務(wù)。
把復(fù)雜問題域劃分成子問題域后,如何將子問題域中合作協(xié)進(jìn)化算法尋求的最優(yōu)合作策略朝著全局優(yōu)化方向發(fā)展成為1個需要解決的關(guān)鍵問題。問題域分解后子問題域中的個體適應(yīng)度評估需要考慮3個因素:
(1)考慮其所在的子問題域的環(huán)境適應(yīng)性;
(2)考慮其與所在的子問題域中其他種群中個體協(xié)調(diào)協(xié)作的表現(xiàn);
(3)考慮其對來自其他子問題域中異構(gòu)種群的環(huán)境適應(yīng)性的影響。
由于子問題域內(nèi)每個種群的感知范圍有限,只能獲得有限范圍內(nèi)的局部狀態(tài)信息,對其他子問題域內(nèi)的狀態(tài)信息未知。在子問題域中采用合作協(xié)進(jìn)化算法,個體通過適應(yīng)度函數(shù)計(jì)算得到的結(jié)果是不準(zhǔn)確的,因?yàn)樗豢紤]了前面2個因素而沒顧及到全局,從而使得進(jìn)化難以收斂于全局優(yōu)化;因此,需要對子問題域模型中的適應(yīng)度評估函數(shù)進(jìn)行合理設(shè)計(jì),使其能夠考慮其他子問題域的影響,以得到1個更準(zhǔn)確的評估值。
矩陣法是環(huán)境影響綜合評價中的一種基礎(chǔ)方法和重要手段,廣泛應(yīng)用于環(huán)境影響評價中。矩陣法是把各項(xiàng)活動和受影響的各項(xiàng)環(huán)境因子分別表示為矩陣的列與行,在兩者之間建立直接的因果關(guān)系,以表示哪些活動對哪些環(huán)境因子產(chǎn)生影響和影響的程度。子域適應(yīng)度評估的合作協(xié)進(jìn)化算法采用環(huán)境因子影響矩陣法,將其對來自其他子問題域中異構(gòu)種群的環(huán)境適應(yīng)性的影響映射到適應(yīng)度函數(shù)中評估適應(yīng)度,進(jìn)行如下定義。
定義3:環(huán)境因子影響矩陣。假設(shè)任意一個子域中種群的個體對其他子域中種群的環(huán)境因子eq(q=1, …,C)產(chǎn)生影響,共有C個環(huán)境因子受到影響。矩陣HN×N(eq)為各個子域的環(huán)境因子eq影響矩陣;hiw(eq)表示在對第i個子域中種群的個體進(jìn)行評估時,來自第w個子域中種群對其環(huán)境因子eq的影響,當(dāng)i = w時,定義hiw(eq)= 0;當(dāng)i≠w時,hiw(eq)根據(jù)實(shí)際問題域中各子域中的種群對其他子域的環(huán)境因子eq影響程度來定義。則HN×N(eq)可以表示成如下形式:
定義4:貢獻(xiàn)度。N個子域的貢獻(xiàn)度構(gòu)成貢獻(xiàn)度矢量ZN,為:
定義5:適應(yīng)度函數(shù)。在子問題域Fi中有M個同構(gòu)種群,種群中的1個個體的適應(yīng)度函數(shù)為:
協(xié)進(jìn)化算法中問題域模型的功能是將需要評價的個體與從問題域的其他種群中選出的代表個體組合形成協(xié)作行為,應(yīng)用在問題域模型中,通過維護(hù)隨時更新的狀態(tài)信息,采用適應(yīng)度評估函數(shù)評價其適應(yīng)度,并賦予該個體協(xié)作的適應(yīng)度返回其種群。在改進(jìn)后的算法中,不僅子問題域模型繼承了問題域模型的功能,子問題域模型之間還能通過信息通信交互獲得環(huán)境因子影響矩陣,采用改進(jìn)的適應(yīng)度函數(shù)評價個體適應(yīng)度。
為了提高算法的效率,每個子問題域獨(dú)立進(jìn)行協(xié)進(jìn)化。子域適應(yīng)度評估的合作協(xié)進(jìn)化算法描述如下:
2.農(nóng)業(yè)依托。聯(lián)合體必須由新型農(nóng)業(yè)經(jīng)營主體組成,目的是使成員發(fā)揮各自優(yōu)勢,實(shí)現(xiàn)合作共贏,提高農(nóng)業(yè)供給體系對市場需求變化的適應(yīng)能力與持續(xù)發(fā)展能力。農(nóng)村產(chǎn)業(yè)融合的根本目的在于,借由與第二、第三產(chǎn)業(yè)的交融,多渠道挖掘和利用農(nóng)業(yè)在生產(chǎn)、休閑、生態(tài)、教育、保健等多種功能,為傳統(tǒng)農(nóng)業(yè)注入新的活力,激發(fā)農(nóng)業(yè)增收潛力。二者都強(qiáng)調(diào)了農(nóng)業(yè)的基礎(chǔ)地位,都以增強(qiáng)農(nóng)業(yè)競爭力為目標(biāo)。
1t=0
2 對于每個子域Fi中的所有種群,進(jìn)行如下操作:
3 對種群進(jìn)行隨機(jī)初始化操作;
4 計(jì)算初始種群中每個個體的適應(yīng)度;
5 結(jié)束
6 直到滿足終止條件之前,進(jìn)行如下操作:
7t=t+1
9 基于適應(yīng)度從上一代種群中選取新一代種群;
10 將遺傳算子(交叉、變異)應(yīng)用到種群的個體中;
11 對種群的每個個體,評價其適應(yīng)度;
12 結(jié)束
13 個體適應(yīng)度評價方法:
14 從子域Fi中的其他種群中選擇代表個體;
15 對于種群中的每個需要評價的個體,進(jìn)行如下操作:
16 將個體與子域Fi中的其他種群中選擇代表個體組合形成協(xié)作行為;
17 通過將這種協(xié)作行為應(yīng)用到該子問題域中;
18 參考來自其他子問題域中的環(huán)境因子影響信息評價適應(yīng)度;
20 結(jié)束
子域適應(yīng)度評估的合作協(xié)進(jìn)化算法協(xié)作模型如圖1所示。圖1中整個復(fù)雜的問題域有6個種群,分成2個子問題域,則6個種群分成2類,子問題域之間可并行協(xié)進(jìn)化。為了計(jì)算種群3中個體的適應(yīng)度,該個體必須與該子問題域中的其他種群(種群1、種群2)中的代表個體結(jié)合組成1個子問題的可能解決方案,然后,考慮對子問題域2中種群的環(huán)境適應(yīng)性的影響來評估此子問題域方案的適應(yīng)度,并將該個體的適應(yīng)度反饋到該種群的進(jìn)化中。
子域適應(yīng)度評估的合作協(xié)進(jìn)化算法通過復(fù)雜問題域按照動態(tài)任務(wù)分解方法劃分成子域,縮小了種群進(jìn)化規(guī)模,簡化了適應(yīng)度函數(shù)的建立過程;通過設(shè)計(jì)子域模型中的適應(yīng)度評估函數(shù),子問題域中的種群進(jìn)化尋求最優(yōu)合作策略朝著全局優(yōu)化方向發(fā)展;同時,在評估某種群的個體適應(yīng)度時需要的代表個體數(shù)量減少,使得種群間的通信量大量減少,減輕了系統(tǒng)通信負(fù)擔(dān)。
為了驗(yàn)證子域適應(yīng)度評估合作協(xié)進(jìn)化算法的有效性,在ECJ(Evolutionary Computation Journal)[15]系統(tǒng)上進(jìn)行仿真。
根據(jù) Potter等[8]的實(shí)驗(yàn)結(jié)果,合作協(xié)進(jìn)化算法對于典型的多元函數(shù)優(yōu)化問題都能得到很高的優(yōu)化效率,如 Rosenbrock,Rastrigin,Rotated Griewank和Rotated Expanded Scaffer多元函數(shù),這些函數(shù)的共同特點(diǎn)是各個變量之間存在交聯(lián)關(guān)系。如對于Rosenbrock函數(shù):f=(1-x1)2+100(x2-x12)2,按照合作協(xié)進(jìn)化算法,選擇2個進(jìn)化種群A與B,種群A中的每個個體對應(yīng)于變量x1的不同取值,種群B中的每個個體對應(yīng)于變量x2的不同取值,該函數(shù)在x1=x2=1時取全局最小值0。
依據(jù)異構(gòu)復(fù)雜問題域模型,將 Rosenbrock,Rastrigin,Rotated Griewank,Rotated Expanded Scaffer多元函數(shù)組合起來,每個函數(shù)取2個自變量,構(gòu)建如下異構(gòu)問題域函數(shù):
圖1 子域適應(yīng)度評估的合作協(xié)進(jìn)化算法協(xié)作模型Fig.1 Collaboration model based on cooperative co-evolution algorithm with sub-domain fitness evaluation
其中:x1,x2,y1,y2,z1,z2,x和y這 8 個自變量可以看成是8個智能體對應(yīng)的種群中的個體,F(xiàn)為問題域函數(shù),采用改進(jìn)的算法來求解F函數(shù)的全局最優(yōu)點(diǎn)0??梢宰C明:當(dāng)x1和x2為 1,y1,y2,z1,z2,x和y均為0時,F(xiàn)=0。
在ECJ系統(tǒng)上采用Rosenbrock函數(shù)作為問題域進(jìn)行合作協(xié)進(jìn)化算法仿真,然后,在此系統(tǒng)基礎(chǔ)上進(jìn)行修改編程,將問題域擴(kuò)展成異構(gòu)問題域F,仿真子域適應(yīng)度評估的合作協(xié)進(jìn)化算法。為了使結(jié)果具有對比性,還進(jìn)行了6個種群的子域適應(yīng)度評估的合作協(xié)進(jìn)化算法仿真。
3.2.1 算法時間代價分析
在仿真過程中,采用合作協(xié)進(jìn)化算法,2個種群進(jìn)化到75代時,函數(shù)值接近于0,耗時約2 s。采用子域適應(yīng)度評估的合作協(xié)進(jìn)化算法,基于6個種群同時進(jìn)化1代耗時約1 s;當(dāng)進(jìn)化到23代時,函數(shù)值接近于0時共耗時約23 s;基于8個種群同時進(jìn)化1代需要約3 s,當(dāng)進(jìn)化到8代時,函數(shù)值接近于0,共耗時約24 s。
從仿真時間可知:進(jìn)化的種群越多,完成進(jìn)化所需時間越多。其主要原因是:在ECJ系統(tǒng)中,依據(jù)改進(jìn)后算法編程,采用的是單線程,程序在一個種群進(jìn)化完成后,才調(diào)用下一種群的進(jìn)化,而沒有實(shí)現(xiàn)改進(jìn)后算法中所示種群之間并行協(xié)進(jìn)化。在實(shí)際 MAS系統(tǒng)中,種群的進(jìn)化是在種群內(nèi)部并行進(jìn)行;因此,若實(shí)現(xiàn)了改進(jìn)后算法中所示的種群之間并行協(xié)進(jìn)化,則基于6個種群同時進(jìn)化1代約需0.17 s,基于8個種群同時進(jìn)化1代需要約0.37 s。但是,采用合作協(xié)進(jìn)化算法2個種群同時進(jìn)化1代只需0.027 s。這是因?yàn)樗惴ǜ倪M(jìn)后,種群之間并行進(jìn)化,子域模型之間進(jìn)行通信來交互環(huán)境因子影響信息,適應(yīng)度評估相對于原來的2個種群的合作協(xié)進(jìn)化更復(fù)雜,增加了算法的時間。劃分的子問題域越多,所需時間便越多。
3.2.2 算法收斂性分析
采用合作協(xié)進(jìn)化算法仿真基于2個種群的進(jìn)化結(jié)果如圖2所示;圖3所示為采用子域適應(yīng)度評估的合作協(xié)進(jìn)化算法仿真基于8個種群的進(jìn)化結(jié)果。
由圖2可知:2個種群合作協(xié)進(jìn)化算法進(jìn)化比較緩慢,進(jìn)化到第75代后問題域的值收斂于0。由圖3可知:8個種群采用子域適應(yīng)度評估的合作協(xié)進(jìn)化算法進(jìn)化較快。
圖2 合作協(xié)進(jìn)化算法基于2個種群進(jìn)化結(jié)果Fig.2 Results of cooperative co-evolution algorithm for 2 populations
圖3 子域適應(yīng)度評估的合作協(xié)進(jìn)化算法基于8個種群進(jìn)化結(jié)果Fig.3 Results of cooperative co-evolution algorithm with sub-domain fitness evaluation for 8 populations
由仿真結(jié)果可知:當(dāng)種群數(shù)量越多、問題域越復(fù)雜時,子域適應(yīng)度評估的合作協(xié)進(jìn)化算法越顯示其優(yōu)越的收斂性;通過采用環(huán)境因子影響矩陣法設(shè)計(jì)適應(yīng)度評估函數(shù),能有效引導(dǎo)種群更快速地尋求全局最優(yōu)合作策略;種群越多,則需進(jìn)化到最優(yōu)的代數(shù)越少,驗(yàn)證了子域適應(yīng)度評估的合作協(xié)進(jìn)化算法的有效性。
(1)根據(jù)問題域的異構(gòu)特征和求解的需要,將問題域空間分解成子問題域,縮小了種群進(jìn)化規(guī)模,簡化了適應(yīng)度函數(shù)的建立過程,同時,在評估某種群的個體適應(yīng)度時需要的個體數(shù)量減少,使得種群間的通信量大量減少,減輕了系統(tǒng)通信負(fù)擔(dān)。
(2)子問題域模型之間可以進(jìn)行信息通信交互來獲得環(huán)境因子影響信息,通過設(shè)計(jì)子域模型中的適應(yīng)度評估函數(shù),采用環(huán)境因子影響矩陣法將其他子域影響信息映射到該子域中種群的個體適應(yīng)度評估中,從全局引導(dǎo)種群之間的協(xié)作進(jìn)化。
(3)在子問題域之間并行進(jìn)行協(xié)進(jìn)化時,子問題域之間需要交換環(huán)境因子影響信息,在一定程度上提高了算法的復(fù)雜度,但算法能夠大大減少復(fù)雜問題域的進(jìn)化代數(shù),加快協(xié)進(jìn)化的收斂速度。
[1]Li X, Sol L K. Applications of decision and utility theory in Multi-agent systems[R]. Lincoln: University of Nebraska-Lincoln, 2004.
[2]范波, 潘泉, 張洪才. 一種基于分布式強(qiáng)化學(xué)習(xí)的多智能體協(xié)調(diào)方法[J]. 計(jì)算機(jī)仿真, 2005, 22(6): 115-117.FAN Bo, PAN Quan, ZHANG Hong-cai. A method for multi-agent coordination based on distributed reinforcement learning[J]. Computer Simulation, 2005, 22(6): 115-117.
[3]Huang J, Yang B, Liu D Y. A distributed Q-learning algorithm for multi-agent team coordination[C]//Proceedings of the Fourth International Conference on Machine Learning and Cybernetics.Guangzhou: IEEE Press, 2005: 108-109.
[4]Tehrani A M, Kamel M S, Khamis A M. Fuzzy reinforcement learning for embedded soccer agents in a multi-agent context[J].International Journal of Robotics and Automation, 2006, 21(2):110-119.
[5]Tan K C, Yang Y J, Goh C K. A distributed cooperative coevolutionary algorithm for multiobjective optimization[J].IEEE Transactions on Evolutionary Computation, 2006, 10 (5):527-549.
[6]Lu H, Yen G. Rank-density-based multiobjective genetic algorithm and benchmark test function study[J]. IEEE Transactions on Evolutionary Computation, 2003, 7(4):325-343.
[7]羅杰, 段建民, 陳建新. 一種引入局部交互的群體協(xié)作行為協(xié)同進(jìn)化機(jī)制[J]. 機(jī)器人, 2007, 29(4): 313-319.LUO Jie, DUAN Jian-min, CHEN Jian-xin. A mechanism of cooperative coevolution with local interaction for collective cooperation behaviors[J]. Robot, 2007, 29(4): 313-319.
[8]Potter M A, De Jong K A. Cooperative co-evolution: An architecture for evolving co-adapted subcomponents[J].Evolutionary Computation, 2000, 8(1): 1-29.
[9]Yang Z Y, Tang K, Yao X. Large scale evolutionary optimization using cooperative co-evolution[J]Information Sciences, 2008,178(15): 2985-2999.
[10]Uchibe E, Nakamura M, Asada M. Cooperative behavior acquisition in a multiple mobile robot environment by co-evolution[C]//Robocup-98: Robot Soccer World Cup II,Lecture Notes In Computer Science. London: Springer-Verlag,1999: 273-285.
[11]Luke S, Hohn C, Farris J, et al. Co-evolving soccer softbot team coordination with genetic programming[C]//RoboCup-97: Robot Soccer World Cup I, Lecture Notes in Computer Science.London: Springer-Verlag, 1998: 398-411.
[12]Puppala N, Sen S, Gordin M. Shared memory based cooperative co-evolution[C]//Proceedings of the IEEE International Conference on Evolutionary Computation. New Jersey: IEEE Press, 1998: 570-574.
[13]Fukuda T, Kubota N. Learning, adaptation and evolution of intelligence robotic system[C]//Proceedings of 1998 IEEE International Symposium on Computational Intelligence in Robotics and Automation. New Jersey: IEEE Press, 1998: 2-7.
[14]Thomas D, Haynes, Sen S. Co-adaptation in a team[J].International Journal of Computational Intelligence and Organizations, 1997, 1(4): 1-4.
[15]Luke S. A Java EC research system[EB/OL]. 2008-09.http://cs.gmu.edu/~eclab/projects/ecj/.