一種基于稀疏強化學(xué)習(xí)的傳感器網(wǎng)絡(luò)優(yōu)化方法
【專利摘要】本發(fā)明提出一種基于新的稀疏強化學(xué)習(xí)的傳感器網(wǎng)絡(luò)優(yōu)化方法,包括:步驟1,將傳感器網(wǎng)絡(luò)中的傳感器劃分為多個傳感器基團;步驟2,將所述傳感器網(wǎng)絡(luò)中表示所有傳感器控制策略的全局Q值函數(shù)分解為表示各個傳感器基團中傳感器控制策略的Q值函數(shù)之和,并獲取與分解后的Q值函數(shù)對應(yīng)的因子圖;步驟3,計算當前狀態(tài)下所有傳感器的貪婪聯(lián)合動作;步驟4,各個傳感器執(zhí)行所述貪婪聯(lián)合動作或隨機動作,并更新每個傳感器基團的Q值函數(shù);步驟5,重復(fù)步驟3~4,直至傳感器基團的Q值函數(shù)收斂;步驟6,根據(jù)學(xué)習(xí)得到的傳感器基團的Q值函數(shù)和當前目標所處的狀態(tài),使用一般最大和算法計算獲得所有傳感器的貪婪聯(lián)合動作,供每個傳感器執(zhí)行。
【專利說明】—種基于稀疏強化學(xué)習(xí)的傳感器網(wǎng)絡(luò)優(yōu)化方法【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及智能控制【技術(shù)領(lǐng)域】,尤其涉及一種基于新的稀疏強化學(xué)習(xí)的傳感器網(wǎng)絡(luò)優(yōu)化方法。
【背景技術(shù)】
[0002]傳感器網(wǎng)絡(luò)問題的設(shè)計目標是為了優(yōu)化傳感器之間的協(xié)調(diào)合作,盡快捕獲指定區(qū)域內(nèi)的所有目標,并且為了減少能量消耗,還要盡可能減少無效的探測動作。在傳感器網(wǎng)絡(luò)問題中,傳感器并不是孤立存在的,而是與其他傳感器進行通訊和相互作用,共同地作用于區(qū)域內(nèi)的目標。在現(xiàn)實世界中,每個傳感器只能感知到自己周圍區(qū)域的狀態(tài),以及鄰居傳感器的行為。一個很重要的問題就是如何讓多個傳感器在這種條件下進行合作。
[0003]在現(xiàn)有技術(shù)中,稀疏強化學(xué)習(xí)方法是一種適合求解此類問題的強化學(xué)習(xí)方法。強化學(xué)習(xí)是在先驗知識很少的情形下,通過試錯法進行學(xué)習(xí),其策略可用Q值(狀態(tài)-動作值)函數(shù)表示,Q值函數(shù)將每一個狀態(tài)-動作對映射為一個值,表示從長遠來看這個狀態(tài)-動作對的好壞。較之于其他算法,稀疏強化學(xué)習(xí)方法的優(yōu)點在于利用了傳感器之間的關(guān)系對全局Q值函數(shù)進行分解。而且,它直接對貪婪聯(lián)合動作而不是局部貪婪動作進行評估。在求解貪婪聯(lián)合動作時,它使用了最大和方法,以一種并行、分布的方式進行求解。然而,稀疏強化學(xué)習(xí)方法存在兩個問題。首先,采用了平均分配回報的方式,這種方式在有些情況下并不合適。其次,全局Q值函數(shù)只能分解為包含兩個動作的局部Q值函數(shù),這種分解在某些情況下是不合理的。
【發(fā)明內(nèi)容】
[0004]本發(fā)明將需要直接進行合作的傳感器劃分為一個傳感器基團,并以傳感器基團為單位分配回報,避免了對所有傳感器平均分配回報而產(chǎn)生的某些傳感器不參與任務(wù)的問題,也避免了多勞多得分配回報而產(chǎn)生的某些傳感器只顧自己而不和其他傳感器協(xié)調(diào)的問題,從而改善協(xié)調(diào)效果。
[0005]本發(fā)明使用因子圖來描述全局Q值函數(shù)的分解,并提出一般最大和算法來計算所有傳感器的貪婪聯(lián)合動作,克服了原有的稀疏強化學(xué)習(xí)方法中只能將全局Q值函數(shù)分解為帶有兩個參數(shù)的局部Q值函數(shù)的問題,從而可以根據(jù)實際情況靈活選擇全局Q值函數(shù)的分解方式,產(chǎn)生令人滿意的合作策略。
[0006]本發(fā)明提出的一種基于新的稀疏強化學(xué)習(xí)的傳感器網(wǎng)絡(luò)優(yōu)化方法,包括以下步驟:
[0007]步驟1,將傳感器網(wǎng)絡(luò)中的傳感器劃分為多個傳感器基團,每個傳感器基團中的傳感器之間直接進行協(xié)調(diào)合作,以探測目標;
[0008]步驟2,將所述傳感器網(wǎng)絡(luò)中表示所有傳感器控制策略的全局Q值函數(shù)分解為表示各個傳感器基團中傳感器控制策略的Q值函數(shù)之和,并獲取與分解后的Q值函數(shù)對應(yīng)的因子圖;[0009]步驟3,利用所述因子圖上的一般最大和算法,計算當前狀態(tài)下所有傳感器的貪婪聯(lián)合動作;
[0010]步驟4,各個傳感器執(zhí)行所述貪婪聯(lián)合動作或隨機動作,使用目標狀態(tài)、各個傳感器執(zhí)行的所述貪婪聯(lián)合動作或隨機動作和傳感器基團獲得的回報更新每個傳感器基團的Q值函數(shù);
[0011]步驟5,重復(fù)步驟3?4,直至傳感器基團的Q值函數(shù)收斂;
[0012]步驟6,根據(jù)學(xué)習(xí)得到的傳感器基團的Q值函數(shù)和當前目標所處的狀態(tài),使用一般最大和算法計算獲得所有傳感器的貪婪聯(lián)合動作,供每個傳感器執(zhí)行。
[0013]本發(fā)明較現(xiàn)有技術(shù)所具有的優(yōu)點:
[0014]1、本發(fā)明提出的以傳感器基團為單位分配回報的方法,不是以單個傳感器的表現(xiàn)來評判它自己行為的好壞,而是根據(jù)傳感器基團的整體表現(xiàn)來評價傳感器基團內(nèi)各個傳感器行為的好壞,按照這種回報分配方式進行稀疏強化學(xué)習(xí)能夠產(chǎn)生更好的合作策略。
[0015]2、本發(fā)明提出的因子圖上的一般最大和算法能夠以并行、分布的方式計算所有傳感器的貪婪聯(lián)合動作,全局Q值函數(shù)可以分解為包括2個及2個以上參數(shù)的局部Q值函數(shù),從而使靈活、合理地分解全局Q值函數(shù)成為可能,促使稀疏強化學(xué)習(xí)產(chǎn)生更好的合作策略。
【專利附圖】
【附圖說明】
[0016]圖1為一種基于新的稀疏強化學(xué)習(xí)的傳感器網(wǎng)絡(luò)優(yōu)化控制流程。
[0017]圖2為傳感器網(wǎng)絡(luò)中傳感器基團劃分的示意圖。
[0018]圖3 為將全局 Q 值函數(shù)分解為 Q1 (a1; a4, a5, a8) +Q2 (a5, a6, a7, a8) +Q3 (a2, a3, a6, a7)對應(yīng)的因子圖。
[0019]圖4為通過融合變量的方法將環(huán)消除后的因子圖。
【具體實施方式】
[0020]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面參照附圖,對本發(fā)明作進一步詳細說明。
[0021]圖1示出了本發(fā)明提出的一種基于稀疏強化學(xué)習(xí)的傳感器網(wǎng)絡(luò)控制方法流程圖。如圖1所示,該方法包括:
[0022]步驟1,將傳感器網(wǎng)絡(luò)中的所有傳感器劃分為多個傳感器基團。劃分規(guī)則是將需要直接進行協(xié)調(diào)合作的傳感器劃分為同一個傳感器基團。如圖2所示,只有傳感器1、傳感器
4、傳感器5和傳感器8能夠同時探測到區(qū)域I內(nèi)的目標I或目標2,所以傳感器1、傳感器
4、傳感器5和傳感器8需要直接進行協(xié)調(diào)合作,以捕獲區(qū)域I中的目標I或目標2,因此把傳感器1、傳感器4、傳感器5、傳感器8劃分為傳感器基團1,同理,將傳感器5、傳感器6、傳感器7、傳感器8劃分為傳感器基團2,將傳感器2、傳感器3、傳感器6、傳感器7劃分為傳感器基團3。
[0023]圖2示出了傳感器網(wǎng)絡(luò)中一種傳感器基團劃分方式的結(jié)構(gòu)示意圖。如圖2所示,該傳感器網(wǎng)絡(luò)包含八個傳感器:傳感器1、傳感器2、傳感器3、傳感器4、傳感器5、傳感器6、傳感器7和傳感器8。這八個傳感器需要協(xié)調(diào)合作,在最短時間內(nèi)捕獲在區(qū)域1、區(qū)域2和區(qū)域3中活動的目標I和目標2。每經(jīng)過一單位時間步長,目標I和目標2會以相同的概率向左移動,向右移動,或者停留在原地。每個區(qū)域最多只會出現(xiàn)一個目標。傳感器1、傳感器
2、傳感器3、傳感器4、傳感器5、傳感器6、傳感器7和傳感器8各自可以執(zhí)行三種動作——向自己左邊探測,向右邊探測或者什么也不做。每個目標的能量值為3,如果至少三個傳感器同時探測到一個目標,那么該目標的能量值會減少1,這被稱為命中。如果目標的能量值減為零,則該目標被捕獲,它將從傳感器網(wǎng)絡(luò)中消失并且不再出現(xiàn)在任何區(qū)域?;貓笫且粋€無量綱的數(shù)值,表示傳感器動作的好壞。例如,傳感器網(wǎng)絡(luò)對每個傳感器的行為規(guī)定的回報分配方式如下:對于一個傳感器來說,探測需要消耗能量,所以不管有無捕獲到目標,每個傳感器探測一次會獲得-1的回報,什么也不做會獲得O的回報。如果三個傳感器同時捕獲到一個區(qū)域內(nèi)的目標,則每個傳感器額外獲得10的回報。如果四個傳感器同時捕獲到一個區(qū)域內(nèi)的目標,則標號最大的三個傳感器各自額外獲得10的回報。其他情況下每個傳感器只能獲得-1或O的回報。傳感器基團的回報等于基團內(nèi)傳感器獲得的回報之和。傳感器網(wǎng)絡(luò)的性能指標是,在一次過程中獲取盡可能多的累積回報,即所有傳感器獲得的累積回報之和。在該問題中,通訊所需的能量相比探測所需的能量可以不計。
[0024]把原先以傳感器為單位的回報分配方式轉(zhuǎn)化為以傳感器基團為單位的回報分配方式。傳感器基團I獲得的回報等于其包括的傳感器1、傳感器4、傳感器5、傳感器8獲得的回報之和。例如,傳感器1、傳感器4、傳感器5和傳感器8共同探測并捕獲到一個目標,則傳感器基團I獲得的回報是10+10+10+(-1) + (-1) + (-1) + (-1) =26。再比如,在某一時間步長內(nèi),如果傳感器1、傳感器4、傳感器5進行探測,傳感器8什么也不做,并且沒有捕獲到目標,那么傳感器基團I獲得的回報是(_1) + (-1) + (-1)+0=-3。傳感器基團2獲得的回報等于傳感器5、傳感器6、傳感器7、傳感器8獲得的回報之和,傳感器基團3獲得的回報等于傳感器2、傳感器3、傳感器6、傳感器7獲得的回報之和。但是也存在特殊情況,比如傳感器5同時屬于傳感器基團I和傳感器基團2,在這種情況下,應(yīng)根據(jù)傳感器5對傳感器基團I和傳感器基團2的實際貢獻來決定其獲得的回報應(yīng)計入哪個傳感器基團。
[0025]步驟2,把表示傳感器網(wǎng)絡(luò)中所有傳感器控制策略的全局Q值函數(shù)分解為表示各個傳感器基團中傳感器控制策略的Q值`函數(shù)之和,并獲取與分解后的Q值函數(shù)對應(yīng)的因子圖。傳感器網(wǎng)絡(luò)的狀態(tài)定義為目標I和目標2的位置、能量值,聯(lián)合動作定義為所有傳感器的動作,策略規(guī)定了傳感器在每個狀態(tài)下相應(yīng)采取的動作??梢允褂萌諵值函數(shù)保存八個傳感器的策略。在全局Q值函數(shù)中,每個狀態(tài)下的每個聯(lián)合動作對應(yīng)一個Q值,Q值大小表示聯(lián)合動作的優(yōu)劣,具有最大Q值的聯(lián)合動作是貪婪聯(lián)合動作。學(xué)習(xí)結(jié)束時,如果貪婪聯(lián)合動作是最優(yōu)聯(lián)合動作,那么所有狀態(tài)下的貪婪聯(lián)合動作就構(gòu)成了最優(yōu)策略。由于八個傳感器的聯(lián)合動作較多,需要較大的存儲空間保存全局Q值函數(shù),因此可以按照傳感器基團將其分解為:
{I(“丨 ’"..",’ K-M1, <-h,,"s) = Oa (t/,,aA, u、’a,)
[0026]" , 、/ 、
-1 Q1 (a,, a6, a,,a,) + 0, (?;, a ,, a,, a,)
[0027] 式中,等號左邊是全局Q值函數(shù),a1; a2, a3, a4, a5, a6, a7, a8分別表示傳感器1、傳感器2、傳感器3、傳感器4、傳感器5、傳感器6、傳感器7和傳感器8的動作;等號右邊,Q1,Q2,Q3分別表示傳感器基團1、傳感器基團2和傳感器基團3的Q值函數(shù)。實際只需要保存Q1, Q2, Q3即可。于是,所有傳感器的貪婪聯(lián)合動作應(yīng)當使等號右邊的三個Q值函數(shù)之和達到最大。求解貪婪聯(lián)合動作可以使用因子圖上的一般最大和算法。
[0028]圖3示出了本發(fā)明中將全局Q值函數(shù)分解為所有傳感器基團的Q值函數(shù)之和對應(yīng)的因子圖。圖3所示的Q1, Q2, Q3表示函數(shù)結(jié)點時,分別記為node (Q1),node (Q2),node (Q3),而在公式中單獨出現(xiàn)的Q1, Q2,Q3分別表示傳感器基團I,傳感器基團2和傳感器基團3的Q值函數(shù)。圖3中的a1,a2,a3,a4,a5,a6,a7,a8表示變量結(jié)點時,分別記為node (a) , node (a2),node (a3),node (a4),node (a5),node (a6),node (a7),node (a8)。而在公式中單獨出現(xiàn)的 Ei1,a2, a3, a4, a5, a6, a7, a8分別表不傳感器1,傳感器2,傳感器3,傳感器4,傳感器5,傳感器6,傳感器7和傳感器8的動作。圖3中,因為傳感器基團I的Q值函數(shù)Q1保存?zhèn)鞲衅?、傳感器 4、傳感器 5 和傳感器 8 的策略,所以 node (Q1)與 node (a) ,node (a4) ,node (a5) ,node (a8)相連,因為傳感器基團2的Q值函數(shù)Q2保存?zhèn)鞲衅?、傳感器6、傳感器7和傳感器8的策略,所以 node (Q2)與 node (a5), node (a6), node (a7), node (a8)相連,因為傳感器基團 3 的 Q值函數(shù)Q3保存?zhèn)鞲衅?、傳感器3、傳感器6和傳感器7的策略,所以node (Q3)與node (a2),node (a3), node (a6), node (a7)相連,相連的結(jié)點互為鄰居結(jié)點。圖3中的因子圖存在環(huán),比如node (Q1) -node (a5) -node (Q2) -node (a8) -node (Q1),在用一般最大和算法求解所有傳感器的貪婪聯(lián)合動作之前,必須通過變量融合的方法打破圖3中所有的環(huán)。如圖4所示,&5和a8融合為a58,a58表不傳感器5和傳感器8的聯(lián)合動作,a6和a7融合為a67,a67表不傳感器6和傳感器7的聯(lián)合動作?;鶊FQ值函數(shù)Q1, Q2, Q3在計算機中表示為三個五維數(shù)組,以Q1為例,第一維表示基團I感知到的狀態(tài),包括區(qū)域I內(nèi)是否有目標,目標的能量值是多少,其他四維分別表示傳感器1、傳感器4、傳感器5、傳感器8的動作。數(shù)組中每一個元素的值是一個狀態(tài)下,傳感器1、傳感器4、傳感器5、傳感器8的一個聯(lián)合動作對應(yīng)的Q值。這三個數(shù)組的所有元素應(yīng)初始化為O。
[0029]步驟3,使用因子圖表示全局Q值函數(shù)的分解之后,繼而根據(jù)所述因子圖使用一般最大和方法求解所有傳感器的貪婪聯(lián)合動作供傳感器執(zhí)行。
[0030]該方法如下所述:因子圖上的變量結(jié)點nodefej , node (a2), node (a3), node (a4),node (a5), node (a6), node (a7), node (a8)和因子結(jié)點 node (Q1), node (Q2), node (Q3)同時向鄰居結(jié)點發(fā)送消息,其中變量結(jié)點收發(fā)消息由傳感器實現(xiàn),而因子結(jié)點收發(fā)消息可以是傳感器也可以是單獨的物理裝置來實現(xiàn)。消息的內(nèi)容包括發(fā)送方、接收方、動作、與動作有關(guān)的消息值,消息的格式可以自行指定。一般最大和算法通過發(fā)送消息的方式來計算所有傳感器的貪婪聯(lián)合動作。從變量結(jié)點node (?)發(fā)送到因子結(jié)點Iiode(Qj)的消息值定義為:
【權(quán)利要求】
1.一種基于新的稀疏強化學(xué)習(xí)的傳感器網(wǎng)絡(luò)優(yōu)化控制方法,包括以下步驟: 步驟I,將傳感器網(wǎng)絡(luò)中的傳感器劃分為多個傳感器基團,每個傳感器基團中的傳感器之間直接進行協(xié)調(diào)合作,以探測目標; 步驟2,將所述傳感器網(wǎng)絡(luò)中表示所有傳感器控制策略的全局Q值函數(shù)分解為表示各個傳感器基團中傳感器控制策略的Q值函數(shù)之和,并獲取與分解后的Q值函數(shù)對應(yīng)的因子圖; 步驟3,利用所述因子圖上的一般最大和算法,計算當前狀態(tài)下所有傳感器的貪婪聯(lián)合動作; 步驟4,各個傳感器執(zhí)行所述貪婪聯(lián)合動作或隨機動作,使用目標狀態(tài)、各個傳感器執(zhí)行的所述貪婪聯(lián)合動作或隨機動作和傳感器基團獲得的回報更新每個傳感器基團的Q值函數(shù); 步驟5,重復(fù)步驟3~4,直至傳感器基團的Q值函數(shù)收斂; 步驟6,根據(jù)學(xué)習(xí)得到的傳感器基團的Q值函數(shù)和當前目標所處的狀態(tài),使用一般最大和算法計算獲得所有傳感器的貪婪聯(lián)合動作,供每個傳感器執(zhí)行。
2.如權(quán)利要求1所述的方法,其中,所述Q值函數(shù)用于表示傳感器在目標狀態(tài)下執(zhí)行相應(yīng)動作的優(yōu)劣程度。
3.如權(quán)利要求1所述的方法,其中,所述因子圖中傳感器基團表示因子結(jié)點,傳感器基團中的傳感器表示變量結(jié)點,所述一般最大和方法是指所述因子結(jié)點和變量結(jié)點同時向同一傳感器基團中的相鄰結(jié)點發(fā)送針對傳感器動作的消息,所述貪婪聯(lián)合動作即為各個傳感器對應(yīng)的變量結(jié)點接收到的最大消息值對應(yīng)的傳感器動作;所述因子結(jié)點的相鄰結(jié)點包括其對應(yīng)的傳感器基團中的傳感器對`應(yīng)的變量結(jié)點,所述變量結(jié)點的相鄰結(jié)點包括其所在傳感器基團中的因子結(jié)點。
4.如權(quán)利要求3所述的方法,其中,所述針對傳感器動作消息的消息值具體為: 變量結(jié)點接收到的消息值為上一次迭代時相鄰因子結(jié)點向其發(fā)送的消息值之和;所述相鄰因子結(jié)點向變量結(jié)點發(fā)送的消息值如下計算: β1+\^Ορ)^{αΛα?) =f \ max QpM+Σnode(a^ ) (A) ?ρ^α?、nodel^JejV(加de(2p))\{node(fl;)}夕 其中,β node(Op)^node(a;) (ai)是針對傳感器動作S1從因子結(jié)點node (Qp)發(fā)送到變量結(jié)點node (B1)的消息值,ap表示Qp的所有參數(shù),即組成傳感器基團P的所有傳感器的聯(lián)合動作,ap \ B1表示Qp中除去&之外的參數(shù),即除了傳感器I之外的組成傳感器基團P的其他傳感器的聯(lián)合動作,Qp (ap)是傳感器基團P的所有傳感器的聯(lián)合動作ap對應(yīng)的Q值,t表示迭代次數(shù),N (node (Qp)) \ {node (ax)}表示除去變量結(jié)點node (aj之外的屬于N (node (Qp))的結(jié)點的集合,N (node (Qp))表示所述相鄰因子結(jié)點node (Qp)的所有鄰居結(jié)點的集合。
5.如權(quán)利要求4所述的方法,其中,傳感器的貪婪動作如下計算: a; = arg max Hai) = arg max ^,) (αι)
UiUi nodefO^ JeA^node(Ai)) 其中,<表示傳感器i的貪婪動作,所有傳感器的貪婪動作組成貪婪聯(lián)合動作,Mai)表示變量結(jié)點node (a^收到的消息值。
6.如權(quán)利要求1所述的方法,其中,步驟4中各個傳感器基團的Q值如下更新:
CMs',a':)=CMs,,a,.) 1 ?(/;(W) IO, (s,.-a,.)) 其中,Qi(Si,a,)表示第i個傳感器基團的Q值函數(shù)更新值,s表示上一迭代中的目標狀態(tài),V表示當前迭代中的目標狀態(tài),a表示所有傳感器在目標狀態(tài)s下執(zhí)行的聯(lián)合動作,ri(s,a,s)表不傳感器基團i從目標狀態(tài)s變?yōu)槟繕藸顟B(tài)s'時獲得的回報,Si表不在上一迭代時被傳感器基團i探測到的目標狀態(tài);α是學(xué)習(xí)率,范圍在(0,I),用于控制更新Q值函數(shù)的速度,Y是折扣因子,范圍在(0,1),Y越大,未來時刻獲得的回報就越重要。
7.如權(quán)利要求6所述的方法,其中,所述傳感器基團i從目標狀態(tài)s變?yōu)槟繕藸顟B(tài)s/時獲得的回報是指傳感器基團i中各個傳感器探測到目標狀態(tài)S變?yōu)槟繕藸顟B(tài)S'時獲得的回報之和;對于一個傳感器,其探測一次其回報值相應(yīng)減第一預(yù)定值,該傳感器基團中的所有傳感器都探測到目標狀態(tài)的變化,則所有傳感器的回報值之和為增加第二預(yù)定值,如果不進行探測,則其回報值不變。
8.如權(quán)利要求1所述的方法,其中,步驟5中所述傳感器基團的Q值函數(shù)收斂的判斷條件為:
9.如權(quán)利要求3所述的方法,其中,所述因子圖中如果存在環(huán),即兩個變量結(jié)點同時為相同兩個相鄰因子結(jié)點的相鄰結(jié)點,則進行變量結(jié)點融合。
【文檔編號】H04W24/02GK103702349SQ201310739109
【公開日】2014年4月2日 申請日期:2013年12月26日 優(yōu)先權(quán)日:2013年12月26日
【發(fā)明者】趙冬斌, 張震, 劉德榮 申請人:中國科學(xué)院自動化研究所