劉成健,羅 杰
(南京郵電大學(xué) 自動(dòng)化學(xué)院,江蘇 南京 210000)
目前,隨著人口增長及科學(xué)技術(shù)的高速發(fā)展,城市交通流也在日益增大。在這種大環(huán)境下,需要一種行之有效的方法對交通流進(jìn)行管理[1]。傳統(tǒng)的控制方法對于日常的交通流無法做到很好的適應(yīng),于是人們開始嘗試使用許多先進(jìn)的控制理論和方法[2-3]。機(jī)器學(xué)習(xí)作為當(dāng)下流行的科學(xué)技術(shù),不斷被研究者們引入交通控制領(lǐng)域[4-5]。其中,強(qiáng)化學(xué)習(xí)中的Q學(xué)習(xí)更是在此領(lǐng)域有著優(yōu)異的表現(xiàn),并成為一個(gè)研究熱點(diǎn)[6-7]。
文中在Q學(xué)習(xí)算法中引入基于經(jīng)驗(yàn)的狀態(tài)劃分對狀態(tài)空間進(jìn)行改進(jìn);并通過建立交通狀態(tài)參數(shù)融合函數(shù)對復(fù)雜的交通參數(shù)進(jìn)行優(yōu)化;采用模糊技術(shù)實(shí)現(xiàn)Q學(xué)習(xí)算法中的獎(jiǎng)懲機(jī)制。相對于固定周期的智能配時(shí)策略,文中通過獲取當(dāng)前綠燈相位以及紅燈相位的交通流狀態(tài),實(shí)時(shí)為各相位提供合適的綠燈配時(shí)方案,以達(dá)到自適應(yīng)控制的目的。
如圖1所示,文中構(gòu)建了一種基于Q學(xué)習(xí)的改進(jìn)路口交通信號控制系統(tǒng)。該系統(tǒng)包括交通狀態(tài)感應(yīng)模塊、參數(shù)融及劃分模塊、Q學(xué)習(xí)模塊、控制決策模塊、Q表、模糊評價(jià)器。
圖1 控制系統(tǒng)模型
其中,各模塊的功能如下所述:
交通狀態(tài)感應(yīng)模塊:通過傳感或圖像處理技術(shù)采集各路口各車道上的車流量信息、上個(gè)周期車輛排隊(duì)長度、路口各相位車輛延遲時(shí)間。
參數(shù)融及劃分模塊:配置在路口的控制節(jié)點(diǎn)中,針對感應(yīng)模塊采集到的交通參數(shù)通過式2進(jìn)行融合,生成基于上述參數(shù)的交通參數(shù)s,并通過狀態(tài)劃分將其劃分到對應(yīng)的狀態(tài)段S,用于在Q表中查詢控制表得到配時(shí)方案以及用于Q學(xué)習(xí)模塊對控制表的更新。
模糊評價(jià)器:根據(jù)感應(yīng)模塊采集到的參數(shù),查詢獎(jiǎng)懲值反饋表,將查詢到的獎(jiǎng)懲值反饋給Q學(xué)習(xí)模塊。
Q學(xué)習(xí)模塊:配置在路口的控制節(jié)點(diǎn)中,接收參數(shù)融及劃分模塊傳遞過來的狀態(tài)段集合S,將其和獎(jiǎng)懲值r共同作為Q學(xué)習(xí)模塊更新Q表的必要依據(jù),通過式1對上一個(gè)狀態(tài)的選擇依據(jù)進(jìn)行更新,并將S傳遞給Q表用于配時(shí)方案的查詢。
控制決策模塊:配置在路口的控制節(jié)點(diǎn)中,根據(jù)選擇策略從Q表所傳遞的結(jié)果中選擇合適的配時(shí)方案。
Q表:配置在路口的控制節(jié)點(diǎn)中,以表格的形式存儲不同交通狀態(tài)下的配時(shí)策略Q(S,a),其中首列存儲的是交通狀態(tài)的狀態(tài)段集合,首行存儲的是不同的相位綠燈配時(shí)方案,Q表將根據(jù)經(jīng)驗(yàn)預(yù)先初始化每個(gè)Q(S,a),在隨后的迭代過程中,Q學(xué)習(xí)模塊不斷地對Q(S,a)進(jìn)行更新,直到獲得不同交通狀態(tài)下的最優(yōu)配時(shí)策略。
該路口控制系統(tǒng)是一個(gè)閉環(huán)負(fù)反饋系統(tǒng),根據(jù)經(jīng)驗(yàn)初始化控制表之后,在學(xué)習(xí)未完成之前,系統(tǒng)將通過不斷迭代對Q表進(jìn)行更新,最終獲得不同交通狀態(tài)下的最佳配時(shí)方案。
Q學(xué)習(xí)是由Watkins在1989年提出的算法,是一種無模型的在線強(qiáng)化學(xué)習(xí)算法[8-9]。Q學(xué)習(xí)中每個(gè)(狀態(tài),動(dòng)作)對對應(yīng)一個(gè)相應(yīng)的Q值,在學(xué)習(xí)過程中根據(jù)Q值選擇動(dòng)作。Q值的定義是如果執(zhí)行當(dāng)前相關(guān)的動(dòng)作并且按照某一策略執(zhí)行下去,將得到回報(bào)的總和。在Q學(xué)習(xí)中,Q函數(shù)通過執(zhí)行該動(dòng)作后的回報(bào)以及遇到的下一個(gè)狀態(tài)的預(yù)測值進(jìn)行更新[10-11]。文中將其應(yīng)用于交通控制領(lǐng)域,Q函數(shù)更新所用的公式為[12-13]:
Q(S,a)←Q(S,a)+α[r+γMaxa'Q(S',a')]
(1)
其中,S為交通狀態(tài)s的狀態(tài)段集合,a為交通配時(shí)方案,Q(S,a)表示當(dāng)前狀態(tài)集S下的選擇依據(jù);α為學(xué)習(xí)效率,α越高則表示Q(S,a)受下一個(gè)狀態(tài)影響越大;r為執(zhí)行配時(shí)方案a之后的反饋,即獎(jiǎng)懲值;S'表示下一個(gè)狀態(tài)集,Q(S',a')表示下一個(gè)狀態(tài)集下的選擇策略,Maxa'Q(S',a')則表示下一個(gè)狀態(tài)集所估計(jì)的最佳選擇策略;γ表示衰減度,γ越低,則系統(tǒng)學(xué)習(xí)效率受獎(jiǎng)懲值r的影響越大。
文中將w=(F,Lg,Lr)定義為綠燈相位通行繁忙度、綠燈相位車輛排隊(duì)長度、紅燈相位車輛排隊(duì)長度三個(gè)維度的狀態(tài)向量集。為提高Q學(xué)習(xí)對于道路狀態(tài)變化學(xué)習(xí)效率與控制效果,根據(jù)參數(shù)融合思想,通過式2將描述當(dāng)前交通狀態(tài)的向量集w轉(zhuǎn)化交通參數(shù)s。
(2)
其中,Tmin和Tmax是綠燈相位最短和最長有效時(shí)間;Fg為在綠燈相位車輛入口處設(shè)置的車輛繁忙度(Fg越高表示綠燈相位道路車輛越繁忙,反之表示道路車輛通行狀況越好);Lmax為道路所能接受的車輛排隊(duì)長度極限;Lg為綠燈相位的車輛排隊(duì)長度;Lr為紅燈相位車輛排隊(duì)長度。
當(dāng)s越大,表示當(dāng)前相位的交通狀況越良好;當(dāng)s趨向于0時(shí),表示交通狀況越差。式2的物理意義為:當(dāng)紅燈相位車輛排隊(duì)長度越長而綠燈相位車輛排隊(duì)長度越短且綠燈相位交通繁忙度較低時(shí),系統(tǒng)傾向于給當(dāng)前相位一個(gè)較短的綠燈時(shí)間。當(dāng)紅燈相位車輛排隊(duì)長度越短,綠燈相位車輛排隊(duì)長度越長且綠燈相位交通繁忙度較高時(shí),系統(tǒng)則更傾向于為當(dāng)前相位選擇更長的綠燈配時(shí)。
交通配時(shí)采用有序相位循環(huán)配時(shí)方案,出于對實(shí)際情況的考慮,所有相位都會設(shè)置一個(gè)最小的綠燈時(shí)間[14]。
根據(jù)路口的配時(shí)經(jīng)驗(yàn)可知,如果當(dāng)前相位路口的交通繁忙度較低,那么應(yīng)該給此相位分配一個(gè)相對較短的綠燈時(shí)長;當(dāng)繁忙度上升時(shí),則給此相位分配的綠燈時(shí)長應(yīng)該相應(yīng)增多。而當(dāng)處于某一交通狀態(tài)時(shí),為其配置過高或者過低的相位綠燈時(shí)間是非常不合理的。故而文中根據(jù)經(jīng)驗(yàn)為當(dāng)前相位每個(gè)交通狀態(tài)配置一定數(shù)量的配時(shí)方案。這樣,在Q表進(jìn)行更新時(shí),可以直接忽略掉那些劣質(zhì)的選項(xiàng)。專注于對該交通狀態(tài)下較好的幾種配時(shí)方案進(jìn)行學(xué)習(xí)更新,從而獲得最佳的相位綠燈配時(shí)方案。根據(jù)上述規(guī)則,初始Q表設(shè)計(jì)成如表1所示的形式。
表1 Q表基本結(jié)構(gòu)
其中,Si為存儲在Q表中的狀態(tài)段集合;a表示不同的相位配時(shí)方案;Q(S,a)表示在狀態(tài)S下對于配時(shí)方案a的選擇依據(jù)。
文中考慮了多影響因素評價(jià)所選擇策略的控制效果,設(shè)計(jì)了基于模糊邏輯[15-16]的模糊評價(jià)器實(shí)現(xiàn)Q學(xué)習(xí)的獎(jiǎng)懲機(jī)制。選取兩個(gè)參數(shù),作為基于模糊邏輯的模糊評價(jià)器輸入,分別為:
(1)綠燈相位的通行繁忙度變化率F'(繁忙度F由式3定義);
(2)紅燈相位的車輛排隊(duì)長度變化率Lr。
(3)
其中,q為綠燈相位在決策持續(xù)時(shí)間中的交通通過量;st為綠燈相位在決策持續(xù)時(shí)間中的飽和流量。
輸入變量均采用五級模糊劃分方式,即{“負(fù)大”,“負(fù)小”,“中”,“正小”,“正大”},表示五種不同的排隊(duì)長度以及交通繁忙度變化程度,均記為{NB,NS,ZO,PS,PB},使用三角隸屬度函數(shù)表示。模糊評價(jià)器僅有一個(gè)輸出,為獎(jiǎng)懲信號值r,采用重心法對模糊輸出進(jìn)行解模糊,輸出的獎(jiǎng)懲信號值范圍是(-1,1)。
結(jié)合上文所述,基于Q學(xué)習(xí)的交通控制方法實(shí)現(xiàn)步驟如下:
Step1:獲取當(dāng)前路口的交通狀態(tài),獲取相應(yīng)的交通狀態(tài)參數(shù),通過式2計(jì)算對應(yīng)的交通參數(shù)s,通過狀態(tài)劃分確定s所在的交通狀態(tài)段S;
Step2:Q表根據(jù)參數(shù)S給出合適的配時(shí)方案,經(jīng)過決策過后執(zhí)行;
Step3:交通流狀態(tài)改變后,繼續(xù)采集當(dāng)前狀態(tài)下的交通參數(shù);
Step4:在綠燈有效時(shí)間內(nèi),將獲取的交通狀態(tài)參數(shù)與上一時(shí)刻的交通狀態(tài)參數(shù)進(jìn)行比較,將差值傳入模糊評價(jià)器中進(jìn)行查詢,得到獎(jiǎng)懲值r;
Step5:在下個(gè)相位開始前(設(shè)置綠燈間隔為2 s),根據(jù)式1更新控制表對應(yīng)的Q(S,a);
Step6:當(dāng)前綠燈相位配時(shí)方案結(jié)束后,切換至下一個(gè)相位;
Step7:重復(fù)Step2~Step6。
微觀交通仿真是評價(jià)信號控制策略的有效方法[17]。文中利用VISSIM搭建用于仿真實(shí)驗(yàn)的路口模型,結(jié)合Matlab加載不同的交通信號控制算法,以此為平臺驗(yàn)證算法的有效性。所采用的路口模型仿真模型如圖2所示。
圖2 四相位路口模型
其中,每條路段包括四個(gè)車道,一條為左轉(zhuǎn)彎車道,兩條直行車道,一條右轉(zhuǎn)彎車道。車輛在交叉口處的轉(zhuǎn)彎概率分別為左轉(zhuǎn)彎30%、直行40%、右轉(zhuǎn)彎30%。內(nèi)部路段長度均為200 m。車輛平均行駛速度為40 km/h。路口車道的交通流量設(shè)置如表2所示。
表2 路口交通流量
在仿真過程中,設(shè)定車輛排隊(duì)最大長度200 m,車輛通行繁忙度F的范圍為0~1。設(shè)定綠燈的最低有效時(shí)長為25 s,最高75 s。通過式2乘以影響因子計(jì)算后得到的交通參數(shù)s范圍為0~15,其中s越大,表示道路交通狀況越好。初始Q表中每一個(gè)交通狀態(tài)集S下根據(jù)經(jīng)驗(yàn)選擇4種不同的配時(shí)方案進(jìn)行交通控制。
作為比較,另采用了傳統(tǒng)強(qiáng)化學(xué)習(xí)對交通流進(jìn)行控制,利用VISSIM對控制效果進(jìn)行采集,結(jié)果如表3、表4所示。
表4 基于Q學(xué)習(xí)改進(jìn)方法控制結(jié)果反饋
分析表格可以看出,使用基于Q學(xué)習(xí)的改進(jìn)交通控制方法后,車輛總體延遲上比傳統(tǒng)強(qiáng)化學(xué)習(xí)控制縮短了約16%;另外在排隊(duì)長度及總體停車次數(shù)等指標(biāo)上均優(yōu)于傳統(tǒng)強(qiáng)化學(xué)習(xí)控制。
文中將模糊技術(shù)與Q學(xué)習(xí)相結(jié)合,利用參數(shù)融合及狀態(tài)劃分的思想對Q表進(jìn)行改進(jìn),同時(shí)通過給出基于相位的綠燈配時(shí)方案,實(shí)現(xiàn)了路口交通的自適應(yīng)控制。提高了控制系統(tǒng)針對多樣化交通流狀況響應(yīng)的實(shí)時(shí)性,并通過仿真做出針對改進(jìn)的有效性驗(yàn)證。另外每個(gè)路口控制系統(tǒng)通過接收相鄰路口的交通流信息,多個(gè)路口組合之后,有希望應(yīng)用于城市區(qū)域道路交通控制,形成基于多智能體的交通控制網(wǎng)絡(luò)。