1.一種基于最近探索的啟發(fā)式服務(wù)組合方法,其特征在于,包括如下步驟:
(1)將服務(wù)組合問題建模為一個(gè)六元組馬爾可夫決策過程;
(2)應(yīng)用基于Q-learning的啟發(fā)式學(xué)習(xí)方法求解六元組馬爾可夫決策過程,得到最優(yōu)策略;
(3)將最優(yōu)策略映射為web服務(wù)組合的工作流。
2.根據(jù)權(quán)利要求1所述的基于最近探索的啟發(fā)式服務(wù)組合方法,其特征在于,步驟(1)中將服務(wù)組合問題建模為如下六元組馬爾可夫決策過程:
MDP-WSC=<S;s0;sr;A(·);P;R>
其中S代表從初始狀態(tài)遷移到終止?fàn)顟B(tài)的過程中所能經(jīng)歷的所有狀態(tài)的集合;s0是初始狀態(tài),表示任何動(dòng)作還沒有發(fā)生時(shí)的狀態(tài),s0∈S;sr是終止?fàn)顟B(tài),當(dāng)系統(tǒng)到達(dá)終態(tài)時(shí),表明一個(gè)完整的服務(wù)執(zhí)行路徑已經(jīng)形成,可以構(gòu)建一個(gè)完整的組合服務(wù),sr∈S;A(·)代表系統(tǒng)在狀態(tài)s∈S下可以采取的動(dòng)作的集合;P是狀態(tài)轉(zhuǎn)移函數(shù);R是獎(jiǎng)勵(lì)函數(shù)。
3.根據(jù)權(quán)利要求2所述的基于最近探索的啟發(fā)式服務(wù)組合方法,其特征在于,所述步驟(2)應(yīng)用基于Q-learning的啟發(fā)式學(xué)習(xí)方法求解六元組馬爾可夫決策過程,得到最優(yōu)策略,包括如下步驟:
(21)初始化Q-learning中學(xué)習(xí)率σ,折扣率γ,當(dāng)前狀態(tài)s=0,當(dāng)前時(shí)間步長t=0;隨機(jī)選擇一個(gè)服務(wù)a作為當(dāng)前動(dòng)作;
(22)當(dāng)前時(shí)間步長t不為0時(shí),以概率e應(yīng)用啟發(fā)式策略選擇新的服務(wù)a,以概率1-e隨機(jī)選擇新的服務(wù)a;
(23)執(zhí)行服務(wù)a,記錄在狀態(tài)s下執(zhí)行當(dāng)前服務(wù)a的回報(bào)值r、執(zhí)行次數(shù)c、探索補(bǔ)貼bonus;
(24)按照下式更新Q值:
Q(s,a)←(1-σ)*Q(s,a)+σ*(r+bonus+γ*maxQ(s′,a′)),
其中Q(s,a)表示在狀態(tài)動(dòng)作對<s,a>下的Q值,σ為學(xué)習(xí)率,r為回報(bào)值,γ為折扣率,bonus為探索補(bǔ)貼,s′為執(zhí)行服務(wù)a后從當(dāng)前狀態(tài)s轉(zhuǎn)移到的后繼狀態(tài),a'為在狀態(tài)s′下選擇的服務(wù),Q(s′,a′)表示在狀態(tài)動(dòng)作對<s′,a′>下的Q值;
(25)更新當(dāng)前狀態(tài):s=s′,t=t+1;當(dāng)s為終止?fàn)顟B(tài)sr且滿足收斂條件時(shí),強(qiáng)化學(xué)習(xí)結(jié)束,得到最優(yōu)策略;否則轉(zhuǎn)步驟(22)。
4.根據(jù)權(quán)利要求3所述的基于最近探索的啟發(fā)式服務(wù)組合方法,其特征在于,所述步驟(23)中探索補(bǔ)貼bonus的計(jì)算方法為:
其中μ>0,是探索補(bǔ)貼系數(shù);t為執(zhí)行服務(wù)a時(shí)的當(dāng)前時(shí)間步,t′為動(dòng)作狀態(tài)對<s,a>上次被訪問的時(shí)間步。
5.根據(jù)權(quán)利要求3所述的基于最近探索的啟發(fā)式服務(wù)組合方法,其特征在于,所述步驟(22)中啟發(fā)式策略選擇新的服務(wù)a包括如下步驟:
在(0,1)區(qū)間隨機(jī)產(chǎn)生一個(gè)隨機(jī)數(shù)υ,如果υ>ε,隨機(jī)選擇一個(gè)新的服務(wù)a;如果υ≤ε,選擇使探索策略函數(shù)值最大的服務(wù)作為新的服務(wù)a;所述探索策略函數(shù)П*(s)如下式:
其中p,q為用來平衡表達(dá)式的大小的系數(shù),其中EX(s′,a')為記錄在狀態(tài)動(dòng)作對<s′,a′>下回報(bào)值的矩陣。
6.根據(jù)權(quán)利要求3所述的基于最近探索的啟發(fā)式服務(wù)組合方法,其特征在于,所述步驟(25)中收斂條件為:從初始狀態(tài)到終止?fàn)顟B(tài)累計(jì)Q值的變化小于門限值Qth:|∑Q-∑Q′|<Qth,其中∑Q為本次學(xué)習(xí)過程中從初始狀態(tài)到終止?fàn)顟B(tài)累計(jì)Q值,∑Q′為上次學(xué)習(xí)過程中從初始狀態(tài)到終止?fàn)顟B(tài)累計(jì)Q值。