本發(fā)明涉及一種通信技術(shù)領(lǐng)域,尤其涉及一種基于Q學(xué)習(xí)的用于軟件定義網(wǎng)絡(luò)的路徑選擇方法,它可以在已有虛擬網(wǎng)的基礎(chǔ)上,發(fā)現(xiàn)最適合的服務(wù)路徑滿足服務(wù)請求。
背景技術(shù):
近年來,人們對網(wǎng)絡(luò)中所獲取的信息類型要求多元化,對網(wǎng)絡(luò)中獲取的信息質(zhì)量和信息安全的需求也不斷提高。各種網(wǎng)絡(luò)中承載的信息量急劇膨脹,網(wǎng)絡(luò)規(guī)模不斷地?cái)U(kuò)大,接入到網(wǎng)絡(luò)中的用戶、應(yīng)用和業(yè)務(wù)越來越多。網(wǎng)絡(luò)的建設(shè)、擴(kuò)展、優(yōu)化以及安全等工作成為網(wǎng)絡(luò)建設(shè)和維護(hù)的重要內(nèi)容。然而,面對這些復(fù)雜多變的需求,原有的互聯(lián)網(wǎng)架構(gòu)愈來愈顯得捉襟見肘,難以適應(yīng)。在這種背景下,軟件定義網(wǎng)絡(luò)(software defined network,SDN)應(yīng)運(yùn)而生。軟件定義網(wǎng)絡(luò)是一種新型網(wǎng)絡(luò)創(chuàng)新架構(gòu),通過將網(wǎng)絡(luò)設(shè)備控制面與數(shù)據(jù)面分離開來,從而實(shí)現(xiàn)了網(wǎng)絡(luò)流量的靈活控制,為核心網(wǎng)絡(luò)及應(yīng)用的創(chuàng)新提供了良好的平臺(tái)。
軟件定義網(wǎng)絡(luò)由軟件控制和硬件數(shù)據(jù)通道組成。軟件控制包括管理以及路由協(xié)議等。軟件定義網(wǎng)絡(luò)提出了控制層面的抽象,它將網(wǎng)絡(luò)中所有的網(wǎng)絡(luò)設(shè)備視為被管理的資源,在抽象底層網(wǎng)絡(luò)設(shè)備具體細(xì)節(jié)的同時(shí)為上層應(yīng)用提供了統(tǒng)一的管理視圖和編程接口。這樣,用戶能自行定義和設(shè)計(jì)智能化程度和復(fù)雜度較高算法來控制網(wǎng)絡(luò)工作,定制開發(fā)各種應(yīng)用程序,通過軟件定義邏輯上的網(wǎng)絡(luò)拓?fù)洌詽M足對網(wǎng)絡(luò)資源的不同需求,而無需關(guān)心底層網(wǎng)絡(luò)的物理拓?fù)浣Y(jié)構(gòu),為網(wǎng)絡(luò)設(shè)計(jì)規(guī)劃與管理提供靈活和便利。
眾所周知,選擇適合的網(wǎng)絡(luò)路徑,可減少對網(wǎng)絡(luò)資源的耗費(fèi),快速的完成網(wǎng)絡(luò)服務(wù)。在網(wǎng)絡(luò)中,如何選擇最佳路徑對整個(gè)網(wǎng)絡(luò)服務(wù)的系統(tǒng)而言是非常重要的;而另一方面,兩個(gè)主要的原因使得在軟件定義網(wǎng)絡(luò)中尋找路徑也非易事:首先,軟件定義網(wǎng)絡(luò)中的服務(wù)請求與網(wǎng)絡(luò)節(jié)點(diǎn)并不一一對應(yīng),因此在尋找路徑的同時(shí)還需要將服務(wù)映射到網(wǎng)絡(luò)節(jié)點(diǎn);其次,網(wǎng)絡(luò)中的設(shè)備和路徑有可能是未知的,也有可能會(huì)發(fā)生動(dòng)態(tài)變化。所以針對軟件定義網(wǎng)絡(luò)的特點(diǎn),本技術(shù)領(lǐng)域的技術(shù)人員需要一種新的適于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)路徑選擇方法,尋找資源耗費(fèi)少,路徑短的網(wǎng)絡(luò)路徑。
作為一種具有較高通用性的機(jī)器學(xué)習(xí)框架,強(qiáng)化學(xué)習(xí)得到了較為廣泛的研究和應(yīng)用。在強(qiáng)化學(xué)習(xí)框架中,用戶給出問題的目標(biāo),智能體控制器(agent)選擇某一個(gè)動(dòng)作,實(shí)現(xiàn)與環(huán)境的交互,獲得環(huán)境給出的獎(jiǎng)賞作為強(qiáng)化信號,智能體控制器(agent)根據(jù)強(qiáng)化信號和環(huán)境當(dāng)前狀態(tài)再選擇下一個(gè)動(dòng)作,直到終止。智能體控制器(agent)的目標(biāo)是在每個(gè)狀態(tài)發(fā)現(xiàn)最優(yōu)策略以使期望的獎(jiǎng)賞之和最大。Q學(xué)習(xí)是強(qiáng)化學(xué)習(xí)的一種經(jīng)典的算法,具有能感知環(huán)境的自治智能體控制器(agent),可以通過不斷地與環(huán)境交互進(jìn)行動(dòng)態(tài)學(xué)習(xí),選擇能達(dá)到其目標(biāo)的最優(yōu)動(dòng)作,不必事先了解所要解決問題的所有細(xì)節(jié),可以做到“邊學(xué)邊做,邊做邊學(xué)”。因此,Q學(xué)習(xí)適合解決帶有動(dòng)態(tài)性和未知性的網(wǎng)絡(luò)路由選擇問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明目的是:一種基于Q學(xué)習(xí)的用于軟件定義網(wǎng)絡(luò)的路徑選擇方法,利用該方法,尋找路徑短,消耗時(shí)間少,占有帶寬資源少,適用于動(dòng)態(tài)、復(fù)雜網(wǎng)絡(luò)的網(wǎng)絡(luò)路徑,該路徑能夠在較少耗費(fèi)資源的情況下,快速的完成網(wǎng)絡(luò)服務(wù),能適應(yīng)網(wǎng)絡(luò)的動(dòng)態(tài)變化,而且盡量不影響虛擬網(wǎng)絡(luò)完成其他服務(wù)請求。
本發(fā)明的技術(shù)方案是:一種基于Q學(xué)習(xí)的用于軟件定義網(wǎng)絡(luò)的路徑選擇方法,由軟件定義網(wǎng)絡(luò)基礎(chǔ)設(shè)施層接收服務(wù)請求,軟件定義網(wǎng)絡(luò)控制器根據(jù)所需服務(wù)組件及組合方式構(gòu)建虛擬網(wǎng)絡(luò),并分配適合的網(wǎng)絡(luò)路徑完成服務(wù)請求,最終達(dá)到終端,所述適合的網(wǎng)絡(luò)路徑通過強(qiáng)化學(xué)習(xí)中的Q學(xué)習(xí)方式獲取,其方法步驟為:
⑴在已構(gòu)建的虛擬網(wǎng)絡(luò)上設(shè)定若干個(gè)服務(wù)節(jié)點(diǎn)P,對應(yīng)每一個(gè)服務(wù)節(jié)點(diǎn)分配有相應(yīng)的帶寬資源B;
⑵將接收到的服務(wù)請求分列為可采取的動(dòng)作a,根據(jù)ε-貪心(ε-greedy)策略嘗試選擇每一條可以到達(dá)終端的路徑,即將每一個(gè)動(dòng)作a經(jīng)過相應(yīng)的服務(wù)節(jié)點(diǎn)P后完成服務(wù)請求;
⑶上述每一次嘗試均記錄下來,并且記錄相應(yīng)的消耗時(shí)間,以及執(zhí)行完成動(dòng)作a后,每一服務(wù)節(jié)點(diǎn)P上的剩余帶寬資源B,匯總為Q值表,同時(shí)該Q值表內(nèi)的數(shù)據(jù)將被每一次的嘗試數(shù)據(jù)所更新;
⑷根據(jù)Q值表中的記錄數(shù)據(jù),找出路徑短,消耗時(shí)間少,占用帶寬資源少的路徑,即為適合的路徑。
上文中,ε-貪心(ε-greedy)策略是強(qiáng)化學(xué)習(xí)算法中經(jīng)常使用的一種策略,ε-貪心策略:隨機(jī)選擇一個(gè)實(shí)數(shù)ε(0<ε<1)作為探索因子,計(jì)算得到所有可行動(dòng)作的個(gè)數(shù)m,每次以概率ε/m在當(dāng)前可行動(dòng)作集中隨機(jī)選擇一個(gè)動(dòng)作,否則,以概率1-ε選擇,到當(dāng)前為止情況下,Q值表中最大的Q值所對應(yīng)動(dòng)作;根據(jù)這一方法,選擇路徑嘗試,盡快找到適合的路徑,即路徑短,消耗時(shí)間少,占用帶寬資源少的路徑。由于采用了探索因子ε,因此可以增加新的嘗試和探索,彌補(bǔ)了貪心策略在探索能力上的不足;同時(shí)因?yàn)棣胖递^小,選擇其他動(dòng)作的概率較小,選擇Q值最大對應(yīng)的最優(yōu)動(dòng)作的概率最大,因此ε-貪心(ε-greedy)策略能保證不會(huì)由于增加了探索而對最優(yōu)動(dòng)作的發(fā)現(xiàn)有太大的負(fù)面影響。
上述技術(shù)方案中,所述步驟⑶中,在Q值表中設(shè)置一立即獎(jiǎng)賞參數(shù)r,當(dāng)執(zhí)行動(dòng)作a消耗時(shí)間及占用的帶寬資源B越少,為立即獎(jiǎng)賞參數(shù)r加入獎(jiǎng)勵(lì)值,相反則為立即獎(jiǎng)賞參數(shù)r減去懲罰值,根據(jù)立即獎(jiǎng)賞參數(shù)r的數(shù)值大小,幫助ε-貪心(ε-greedy)策略選擇最有可能成為適合的路徑進(jìn)行嘗試。加入立即獎(jiǎng)賞參數(shù)r,與ε-貪心(ε-greedy)策略相結(jié)合,通過立即獎(jiǎng)賞按照折扣方式累加,獲得累計(jì)獎(jiǎng)賞Q值,最大化累計(jì)獎(jiǎng)賞Q值,使得Q值表中的數(shù)據(jù)變化更為明顯,突出適合的路徑的優(yōu)勢,易于選出。
進(jìn)一步的是,所述當(dāng)執(zhí)行轉(zhuǎn)發(fā)任務(wù),立即獎(jiǎng)賞參數(shù)r=帶寬資源請求-帶寬資源+計(jì)算資源請求-計(jì)算資源-服務(wù)點(diǎn)間的路徑×路徑長短的權(quán)重n,當(dāng)無執(zhí)行任務(wù)時(shí),r=計(jì)算資源請求。當(dāng)執(zhí)行服務(wù)路徑倒數(shù)第二步時(shí),如果動(dòng)作a的下一個(gè)執(zhí)行點(diǎn)是某一服務(wù)節(jié)點(diǎn)P而非終端時(shí),r=r-X;否則,如果動(dòng)作a的下一個(gè)執(zhí)行點(diǎn)是終端時(shí),r=r+X。X:任意取一數(shù)值,獎(jiǎng)懲是否完成目標(biāo)。
上述技術(shù)方案中,所述ε-貪心(ε-greedy)策略在與Q值表參數(shù)結(jié)合選擇路徑時(shí),隨機(jī)選擇一個(gè)實(shí)數(shù)ε(0<ε<1)作為探索因子,計(jì)算得到所有可行動(dòng)作的個(gè)數(shù)m,然后以ε/m的概率等概率地在可行動(dòng)作集合中隨機(jī)選擇一個(gè)可行動(dòng)作,或者以1-ε的概率選擇,到當(dāng)前為止情況下,Q值表中最大的Q值所對應(yīng)的動(dòng)作;所述可行動(dòng)作為:網(wǎng)絡(luò)可以滿足的動(dòng)作,包括帶寬可以滿足轉(zhuǎn)發(fā)請求,計(jì)算資源可以滿足處理請求;即帶寬資源請求<帶寬資源,計(jì)算資源請求<計(jì)算資源。
進(jìn)一步的技術(shù)方案是,所述路徑長短的權(quán)重n是確定路徑長短與資源耗費(fèi)之間相對于立即獎(jiǎng)賞參數(shù)r重要性的系數(shù),當(dāng)路徑長短對整個(gè)立即獎(jiǎng)賞參數(shù)r更為重要時(shí),權(quán)重n值較大,相反則較小。
上述技術(shù)方案中,所述步驟⑷中根據(jù)Q值表中數(shù)據(jù)對路徑的選擇方式:本次Q值表與上一次Q值表數(shù)據(jù)相比較,如果相差很小,則認(rèn)為Q值表中所有的Q值收斂,選擇最大Q值對應(yīng)的具體動(dòng)作a,選定該動(dòng)作a對應(yīng)的網(wǎng)絡(luò)轉(zhuǎn)發(fā)路徑以及服務(wù)與路徑的映射關(guān)系,即為所述適合的路徑;否則,繼續(xù)根據(jù)ε-貪心(ε-greedy)策略嘗試選擇每一條可以到達(dá)終端的路徑。
上文中,所述本次Q值表與上一次Q值表數(shù)據(jù)相比較,變化不大,是指將本次Q值表中的每一個(gè)Q值與上一次Q值表對應(yīng)的Q值相減,如果相減得到的差的絕對值均小于某個(gè)預(yù)先設(shè)定的,很小的閾值,則認(rèn)為Q值表中所有的Q值收斂,根據(jù)最大Q選擇相應(yīng)的具體動(dòng)作a,選定該動(dòng)作a對應(yīng)的網(wǎng)絡(luò)轉(zhuǎn)發(fā)路徑以及服務(wù)與路徑的映射關(guān)系,即為所述適合的路徑;否則,繼續(xù)將接收到的服務(wù)請求分列為可采取的動(dòng)作a,根據(jù)ε-貪心(ε-greedy)策略嘗試選擇每一條可以到達(dá)終端的路徑,即將每一個(gè)動(dòng)作a經(jīng)過相應(yīng)的服務(wù)節(jié)點(diǎn)P后完成服務(wù)請求。
由于上述技術(shù)方案運(yùn)用,本發(fā)明與現(xiàn)有技術(shù)相比具有下列優(yōu)點(diǎn):
1.本發(fā)明基于ε-貪心(ε-greedy)策略,嘗試去發(fā)現(xiàn)每一條路徑,記錄每一次選擇執(zhí)行后虛擬網(wǎng)絡(luò)中服務(wù)節(jié)點(diǎn)的資源消耗,以及時(shí)間消耗等參數(shù)值,建立Q值表,作為下一次ε-貪心(ε-greedy)策略選擇路徑的參考,從而可以發(fā)現(xiàn)一條轉(zhuǎn)發(fā)路徑短(消耗時(shí)間少),資源耗費(fèi)少(帶寬占用少)的路徑(即適合的路徑),這就能夠使得虛擬網(wǎng)絡(luò)在不調(diào)整的情況下,能適應(yīng)網(wǎng)絡(luò)的動(dòng)態(tài)變化,同時(shí)盡可能多的滿足其他服務(wù)請求。
2.增加立即獎(jiǎng)賞r參數(shù),與強(qiáng)化學(xué)習(xí)中的Q學(xué)習(xí)能夠累計(jì)獎(jiǎng)賞最大的特性結(jié)合,最快找出資源耗費(fèi)少,路徑短的網(wǎng)絡(luò)路徑,該路徑能夠在較少耗費(fèi)資源的情況下,快速的完成網(wǎng)絡(luò)服務(wù),而且盡量不影響虛擬網(wǎng)絡(luò)完成其他服務(wù)請求。
3.由于在Q學(xué)習(xí)方法基礎(chǔ)上采用ε-貪心(ε-greedy)策略,引入了探索因子ε,可以增加新的嘗試和探索,彌補(bǔ)了貪心策略在探索能力上的不足;同時(shí)因?yàn)棣胖递^小,選擇其他動(dòng)作的概率較小,選擇Q值最大對應(yīng)的最優(yōu)動(dòng)作的概率最大,因此ε-貪心(ε-greedy)策略能保證不會(huì)由于增加了探索而對最優(yōu)動(dòng)作的發(fā)現(xiàn)有太大的負(fù)面影響。
附圖說明
圖1是本發(fā)明實(shí)施例一中的布局示意圖;
圖2是本發(fā)明實(shí)施例一軟件定義網(wǎng)絡(luò)服務(wù)部署圖。
具體實(shí)施方式
下面結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步描述:
實(shí)施例一:參見圖1、2所示,一種基于Q學(xué)習(xí)的用于軟件定義網(wǎng)絡(luò)的路徑選擇方法,由軟件定義網(wǎng)絡(luò)基礎(chǔ)設(shè)施層接收服務(wù)請求,軟件定義網(wǎng)絡(luò)控制器根據(jù)所需服務(wù)組件及組合方式構(gòu)建虛擬網(wǎng)絡(luò),并分配適合的網(wǎng)絡(luò)路徑完成服務(wù)請求,最終達(dá)到終端,所述適合的網(wǎng)絡(luò)路徑通過強(qiáng)化學(xué)習(xí)中的Q學(xué)習(xí)方式獲取,其方法步驟為:
⑴在已構(gòu)建的虛擬網(wǎng)絡(luò)上設(shè)定若干個(gè)服務(wù)節(jié)點(diǎn)P,對應(yīng)每一個(gè)服務(wù)節(jié)點(diǎn)分配有相應(yīng)的帶寬資源B;
⑵將接收到的服務(wù)請求分列為可采取的動(dòng)作a,根據(jù)ε-貪心(ε-greedy)策略嘗試選擇每一條可以到達(dá)終端的路徑,即將每一個(gè)動(dòng)作a經(jīng)過相應(yīng)的服務(wù)節(jié)點(diǎn)P后完成服務(wù)請求;
⑶上述每一次嘗試均記錄下來,并且記錄相應(yīng)的消耗時(shí)間,以及執(zhí)行完成動(dòng)作a后,每一服務(wù)節(jié)點(diǎn)P上的剩余帶寬資源B,匯總為Q值表,同時(shí)該Q值表內(nèi)的數(shù)據(jù)將被每一次的嘗試數(shù)據(jù)所更新;
⑷根據(jù)Q值表中的記錄數(shù)據(jù),找出路徑短,消耗時(shí)間少,占用帶寬資源少的路徑,即為適合的路徑。
所述步驟⑶中,在Q值表中設(shè)置一立即獎(jiǎng)賞參數(shù)r,當(dāng)執(zhí)行動(dòng)作a消耗時(shí)間及占用的帶寬資源B越少,為立即獎(jiǎng)賞參數(shù)r加入獎(jiǎng)勵(lì)值,相反則為立即獎(jiǎng)賞參數(shù)r減去懲罰值,根據(jù)立即獎(jiǎng)賞參數(shù)r的數(shù)值大小,幫助ε-貪心(ε-greedy)策略選擇最有可能成為適合的路徑進(jìn)行嘗試。
所述立即獎(jiǎng)賞參數(shù)r=帶寬資源請求-帶寬資源+計(jì)算資源請求-計(jì)算資源-服務(wù)點(diǎn)間的路徑×路徑長短的權(quán)重n,當(dāng)無執(zhí)行任務(wù)時(shí),r=計(jì)算資源請求;當(dāng)在計(jì)劃用時(shí)時(shí)間內(nèi),動(dòng)作a的下一個(gè)執(zhí)行點(diǎn)是某一服務(wù)節(jié)點(diǎn)P而非終端時(shí),r=r-1000;否則r=r+1000。
所述ε-貪心(ε-greedy)策略在與Q值表參數(shù)結(jié)合選擇路徑時(shí),隨機(jī)選擇一個(gè)實(shí)數(shù)ε(0<ε<1)作為探索因子,計(jì)算得到所有可行動(dòng)作的個(gè)數(shù)m,然后以ε/m的概率等概率地在可行動(dòng)作集合中選擇一個(gè)可行動(dòng)作,或者以1-ε的概率選擇,到當(dāng)前為止情況下,Q值表中最大的Q值所對應(yīng)的動(dòng)作;所述可行動(dòng)作為:網(wǎng)絡(luò)可以滿足的動(dòng)作,包括帶寬可以滿足轉(zhuǎn)發(fā)請求,計(jì)算資源可以滿足處理請求;即帶寬資源請求<帶寬資源,計(jì)算資源請求<計(jì)算資源。
所述路徑長短的權(quán)重n是確定路徑長短與資源耗費(fèi)之間相對于立即獎(jiǎng)賞參數(shù)r重要性的系數(shù),當(dāng)路徑長短對整個(gè)立即獎(jiǎng)賞參數(shù)r更為重要時(shí),權(quán)重n值較大,相反則較小。
所述步驟⑷中根據(jù)Q值表中數(shù)據(jù)對路徑的選擇方式:本次Q值表與上一次Q值表數(shù)據(jù)相比較,如果相差很小,則認(rèn)為Q值表中所有的Q值收斂,根據(jù)最大Q選擇相應(yīng)的具體動(dòng)作a,選定該動(dòng)作a對應(yīng)的網(wǎng)絡(luò)轉(zhuǎn)發(fā)路徑以及服務(wù)與路徑的映射關(guān)系,即為所述適合的路徑;否則,繼續(xù)根據(jù)ε-貪心(ε-greedy)策略嘗試選擇每一條可以到達(dá)終端的路徑。
參見圖1所示,具體的方法步驟如下:
(1)初始化Q值表中的Q值(用Q(s,a)標(biāo)識,表示s狀態(tài)下,采用a動(dòng)作的Q值),學(xué)習(xí)步長α,折扣因子γ,探索因子ε,跳數(shù)權(quán)重n,變化閾值ξ;(s:服務(wù)節(jié)點(diǎn)狀態(tài),a:動(dòng)作,執(zhí)行的操作。)
⑵初始化狀態(tài)s等于Ps,t←0,Q1(s,a)←Q(s,a);(原終端表示服務(wù)請求的發(fā)起點(diǎn))
⑶選擇動(dòng)作a,根據(jù)Q值表以及ε-貪心(ε-greedy)策略;
⑷執(zhí)行動(dòng)作a,得到立即獎(jiǎng)賞。當(dāng)轉(zhuǎn)發(fā)數(shù)據(jù),且下一個(gè)執(zhí)行點(diǎn)是某一服務(wù)節(jié)點(diǎn)而非終端時(shí),r←C(vPi)-C(Pj)+B(vPi-1,vPi)-B(Pj-1,Pj)-L(Pj-1,Pj)×n-1000;當(dāng)轉(zhuǎn)發(fā)數(shù)據(jù),且下一個(gè)執(zhí)行點(diǎn)是終端時(shí),r←C(vPi)-C(Pj)+B(vPi-1,vPi)-B(Pj-1,Pj)-L(Pj-1,Pj)×n+1000;當(dāng)不轉(zhuǎn)發(fā)數(shù)據(jù),且下一個(gè)執(zhí)行點(diǎn)是某一服務(wù)節(jié)點(diǎn)而非終端時(shí),r←C(vPi)-1000;當(dāng)不轉(zhuǎn)發(fā)數(shù)據(jù),且下一個(gè)執(zhí)行點(diǎn)是終端時(shí),r←C(vPi)+1000;
⑸更新Q(s,a)←Q(s,a)+α[r+γmaxa′Q(s′,a′)-Q(s,a)];maxa′Q(s′,a′)是采取了動(dòng)作a′,得到的所有可能的狀態(tài)s′,選擇其中Q(s′,a′)最大的那個(gè)Q值;
⑹s←s',t←t+1,下個(gè)狀態(tài)s′,當(dāng)s不是服務(wù)終端Pd,并且t小于虛擬服務(wù)路徑長度k時(shí),轉(zhuǎn)步驟(3);
⑺當(dāng)Q值表中所有的Q1(s,a)-Q(s,a)的絕對值均小于ξ時(shí),轉(zhuǎn)向步驟(8);否則,轉(zhuǎn)向步驟(2)。
(8)返回Q值表中最大的Q值對應(yīng)的動(dòng)作。
狀態(tài)s表示數(shù)據(jù)包所處虛擬網(wǎng)絡(luò)節(jié)點(diǎn)如圖1中的Ps,Pb,Pd等,動(dòng)作a表示數(shù)據(jù)包根據(jù)服務(wù)請求可以采取的動(dòng)作,比如在已完成服務(wù)請求vP1的情況下,數(shù)據(jù)包在節(jié)點(diǎn)Pb處可以采取向其他節(jié)點(diǎn)傳輸數(shù)據(jù),也可以在Pb處完成下一個(gè)計(jì)算請求vP2。這樣強(qiáng)化學(xué)習(xí)中的Q學(xué)習(xí)方法就可以發(fā)現(xiàn)一個(gè)好的服務(wù)路線,同時(shí)發(fā)現(xiàn)一個(gè)好的服務(wù)請求到虛擬網(wǎng)絡(luò)的映射。
步驟(3)中,計(jì)算得到所有可行動(dòng)作的個(gè)數(shù)m,然后在探索因子ε(0<ε<1)下以ε/m的概率等概率地在可行動(dòng)作集合中選擇一個(gè)可行動(dòng)作(可行動(dòng)作:網(wǎng)絡(luò)可以滿足的動(dòng)作,如帶寬可以滿足轉(zhuǎn)發(fā)請求,計(jì)算資源可以滿足處理請求;即帶寬請求B(vPi-1,vPi)<帶寬資源B(Pj-1,Pj),計(jì)算資源請求C(vPi)<計(jì)算資源C(Pj)),或者以1-ε的概率選擇最大的Q值所對應(yīng)的動(dòng)作。
步驟(4)中,當(dāng)采取向其他服務(wù)節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)的動(dòng)作時(shí),立即獎(jiǎng)賞r=帶寬請求B(vPi-1,vPi)-帶寬資源B(Pj-1,Pj)+計(jì)算資源請求C(vPi)-計(jì)算資源C(Pj)-兩個(gè)服務(wù)節(jié)點(diǎn)之間通信在物理層網(wǎng)路中轉(zhuǎn)發(fā)的跳數(shù)L(Pj-1,Pj)×n(其中n表示路徑長短的權(quán)重,這樣可以在資源耗費(fèi)和轉(zhuǎn)發(fā)時(shí)間上做一個(gè)權(quán)衡,服務(wù)vPi映射到節(jié)點(diǎn)Pj);當(dāng)不轉(zhuǎn)發(fā)數(shù)據(jù)計(jì)算數(shù)據(jù)時(shí),r=計(jì)算資源請求C(vPi);當(dāng)轉(zhuǎn)發(fā)數(shù)據(jù),且下一個(gè)執(zhí)行點(diǎn)是某一服務(wù)節(jié)點(diǎn)而非終端時(shí),r←C(vPi)-C(Pj)+B(vPi-1,vPi)-B(Pj-1,Pj)-L(Pj-1,Pj)×n-1000;當(dāng)轉(zhuǎn)發(fā)數(shù)據(jù),且下一個(gè)執(zhí)行點(diǎn)是終端時(shí),r←C(vPi)-C(Pj)+B(vPi-1,vPi)-B(Pj-1,Pj)-L(Pj-1,Pj)×n+1000;當(dāng)不轉(zhuǎn)發(fā)數(shù)據(jù),且下一個(gè)執(zhí)行點(diǎn)是某一服務(wù)節(jié)點(diǎn)而非終端時(shí),r←C(vPi)-1000;當(dāng)不轉(zhuǎn)發(fā)數(shù)據(jù),且下一個(gè)執(zhí)行點(diǎn)是終端時(shí),r←C(vPi)+1000。強(qiáng)化學(xué)習(xí)中的Q學(xué)習(xí)的目標(biāo)是最大化累計(jì)獎(jiǎng)賞r,這樣強(qiáng)化學(xué)習(xí)中的Q學(xué)習(xí)找到路徑短的,耗費(fèi)資源少的服務(wù)路徑。
步驟(5)中,Q值表示長期的累計(jì)獎(jiǎng)賞,當(dāng)它很大時(shí),說明在狀態(tài)s的時(shí)候應(yīng)該采取a動(dòng)作,并且該動(dòng)作可以使得服務(wù)路徑可以很短,而且耗費(fèi)更少地資源。
步驟(7)中,將這一輪Q值表格中的Q值與上一輪Q值表中的Q值相比,當(dāng)變化不大時(shí),說明Q值收斂,這樣我們就可以根據(jù)最大Q值選著具體的動(dòng)作a,這也就確定了網(wǎng)絡(luò)轉(zhuǎn)發(fā)路徑以及服務(wù)與路徑的映射關(guān)系。