本發(fā)明涉及城市道路交通網(wǎng)絡(luò)路徑預(yù)測(cè)領(lǐng)域,特別涉及一種基于節(jié)點(diǎn)對(duì)熵的交通網(wǎng)路徑預(yù)測(cè)方法。
背景技術(shù):
交通網(wǎng)絡(luò)中的路徑預(yù)測(cè)在市政路網(wǎng)的規(guī)劃以及管控中都有著不可忽略的地位,以往交通路徑預(yù)測(cè)研究中,大多是根據(jù)歷史數(shù)據(jù)建立概率模型。根據(jù)預(yù)測(cè)距離不同分為短距離預(yù)測(cè)和長(zhǎng)距離預(yù)測(cè),其中短距離預(yù)測(cè)會(huì)受道路方向影響;長(zhǎng)距離行駛路線預(yù)測(cè)難以解決新路線問(wèn)題,基于這一理論基礎(chǔ)近年來(lái)又提出了基于關(guān)聯(lián)規(guī)則的路徑預(yù)測(cè)方法。這些方法或多或少會(huì)受到規(guī)模的限制,更為系統(tǒng)性的方法仍未被提出。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明克服了當(dāng)前普遍存在的城市道路交通路徑預(yù)測(cè)方法受路網(wǎng)規(guī)模限制的影響,提供了一種基于交通網(wǎng)節(jié)點(diǎn)對(duì)熵的路徑預(yù)測(cè)方法,該方法通過(guò)對(duì)交通網(wǎng)絡(luò)中任意節(jié)點(diǎn)對(duì)之間流量逐層傳播所造成的影響的測(cè)算,來(lái)確定各個(gè)節(jié)點(diǎn)的不確定性以及各條路徑流量傳遞的不確定性。同時(shí)本發(fā)明還引入了信息熵這一物理量,進(jìn)一步確定了流量信息傳遞的不確定性對(duì)節(jié)點(diǎn)帶來(lái)的影響的程度——節(jié)點(diǎn)對(duì)熵。應(yīng)用這一方法整個(gè)交通網(wǎng)絡(luò)所有節(jié)點(diǎn)對(duì)熵就可以構(gòu)成一個(gè)完全連接的網(wǎng)絡(luò),從而實(shí)現(xiàn)了交通網(wǎng)絡(luò)中路徑的預(yù)測(cè),為進(jìn)一步實(shí)現(xiàn)更優(yōu)化的交通網(wǎng)絡(luò)提供基礎(chǔ)。
本發(fā)明具體采用以下技術(shù)方案:
該系統(tǒng)包括動(dòng)態(tài)路網(wǎng)建模模塊,根據(jù)交通子區(qū)路網(wǎng)拓?fù)鋽?shù)據(jù)和實(shí)時(shí)動(dòng)態(tài)交通流數(shù)據(jù),建立以路口為點(diǎn)、道路為邊、流量為權(quán)值的動(dòng)態(tài)路網(wǎng)模型;路徑流量不確定性計(jì)算模塊,提取與所需節(jié)點(diǎn)對(duì)之間發(fā)生流量傳遞的所有節(jié)點(diǎn)及相應(yīng)的邊,構(gòu)成一個(gè)新的子網(wǎng),給節(jié)點(diǎn)的初始狀態(tài)賦值,并通過(guò)計(jì)算下游節(jié)點(diǎn)在每一層傳遞的流量值,計(jì)算出每一層中上游節(jié)點(diǎn)傳遞流量給下游節(jié)點(diǎn)的概率以及節(jié)點(diǎn)的貢獻(xiàn)概率,最后計(jì)算出初始節(jié)點(diǎn)到終結(jié)點(diǎn)的所有路徑傳遞流量值的概率;節(jié)點(diǎn)對(duì)熵及路徑預(yù)測(cè)模塊,計(jì)算節(jié)點(diǎn)對(duì)熵,運(yùn)用節(jié)點(diǎn)對(duì)熵的值進(jìn)行路徑預(yù)測(cè);若節(jié)點(diǎn)對(duì)熵越大,則兩節(jié)點(diǎn)之間路徑越暢通,若節(jié)點(diǎn)對(duì)熵越小,則兩節(jié)點(diǎn)之間路徑越擁擠。
該方法依次采取如下步驟:
1)給初始節(jié)點(diǎn)的初始狀態(tài)賦值,初始節(jié)點(diǎn)的狀態(tài)值為它下游輸出權(quán)值之和,其他節(jié)點(diǎn)的狀態(tài)值為0,然后初始節(jié)點(diǎn)往下游進(jìn)行流量傳遞;
2)當(dāng)流量傳遞到所測(cè)節(jié)點(diǎn)時(shí),判斷所測(cè)節(jié)點(diǎn)下游所有邊的權(quán)值之和是否不大于所測(cè)節(jié)點(diǎn)的輸出權(quán)值,若不大于,則下游邊在所測(cè)節(jié)點(diǎn)層傳遞的流量值等于下游所有邊的權(quán)值之和;若大于,則用所測(cè)節(jié)點(diǎn)下游所有邊權(quán)值之和依次減掉最大邊權(quán)值得到修正值,當(dāng)修正值不大于所測(cè)節(jié)點(diǎn)的輸出權(quán)值時(shí)停止計(jì)算,則下游邊在所測(cè)節(jié)點(diǎn)層傳遞的流量值等于最后一次得到的修正值;
3)判斷步驟2)中計(jì)算的下游節(jié)點(diǎn)在所測(cè)節(jié)點(diǎn)層傳遞的流量值是否為0;若不為0,則進(jìn)入步驟4);若為0,則進(jìn)入步驟9);
4)計(jì)算上游節(jié)點(diǎn)和所測(cè)節(jié)點(diǎn)在所測(cè)節(jié)點(diǎn)層流量傳遞的作用下的反饋值;上游節(jié)點(diǎn)的反饋值為上游節(jié)點(diǎn)的狀態(tài)值減去損耗的狀態(tài)值,所測(cè)節(jié)點(diǎn)的反饋值為所測(cè)節(jié)點(diǎn)的狀態(tài)值加上該損耗的狀態(tài)值;將上游節(jié)點(diǎn)的反饋值作為上游節(jié)點(diǎn)新的狀態(tài)值,將所測(cè)節(jié)點(diǎn)的反饋值作為所測(cè)節(jié)點(diǎn)新的狀態(tài)值;
5)計(jì)算上游節(jié)點(diǎn)傳遞流量給下游節(jié)點(diǎn)的概率;
6)若所測(cè)節(jié)點(diǎn)存在于單一路徑中,則進(jìn)入步驟7);若所測(cè)節(jié)點(diǎn)存在于不同分支路徑中,則進(jìn)入步驟8);
7)路徑流經(jīng)所測(cè)節(jié)點(diǎn)的概率為:各個(gè)上游節(jié)點(diǎn)傳遞到下游節(jié)點(diǎn)概率的乘積;進(jìn)入步驟9);
8)路徑流經(jīng)所測(cè)節(jié)點(diǎn)的概率為:一條路徑中各個(gè)上游節(jié)點(diǎn)傳遞到下游節(jié)點(diǎn)概率的乘積加上其他分支路徑流經(jīng)到所測(cè)節(jié)點(diǎn)的概率;進(jìn)入步驟9);
9)表示判斷所測(cè)節(jié)點(diǎn)是否是終止節(jié)點(diǎn),若不是則繼續(xù)返回步驟2)計(jì)算下一層的概率;若是,則輸出路徑流至終止節(jié)點(diǎn)的概率;進(jìn)入步驟10);
10)根據(jù)h(vivj)=-∑pllnpl計(jì)算節(jié)點(diǎn)對(duì)熵,其中h(vivj)表示節(jié)點(diǎn)對(duì)熵,pl表示路徑l流至終止節(jié)點(diǎn)的概率。
所述節(jié)點(diǎn)對(duì)熵及路徑預(yù)測(cè)模塊描述如下:
本發(fā)明可以把節(jié)點(diǎn)向下游節(jié)點(diǎn)傳遞權(quán)值的過(guò)程描繪為一次信息交互的過(guò)程,也可以理解為上游節(jié)點(diǎn)對(duì)下游節(jié)點(diǎn)施加了多大的影響,為了量化這種傳遞的影響本發(fā)明提出了熵的概念。信息熵用于表示信源傳遞的不確定程度,這與本文是一致的,節(jié)點(diǎn)對(duì)熵用于表示每一次傳遞過(guò)程中節(jié)點(diǎn)向其它節(jié)點(diǎn)傳遞的不確定程度。對(duì)應(yīng)于路網(wǎng)中的任意兩節(jié)點(diǎn)來(lái)說(shuō),如果他們的節(jié)點(diǎn)對(duì)熵越大,不確定性越大,則說(shuō)明他們之間越容易發(fā)生信息的傳遞,因此可以理解當(dāng)兩點(diǎn)之間路徑越擁擠,熵越小,越暢通,熵越大。該方法既不受方向的影響也不受新增路線的影響。
本發(fā)明具有如下有益效果:
(1)本發(fā)明不受路網(wǎng)規(guī)模的影響;
(2)本發(fā)明在計(jì)算各路徑傳遞流量的不確定性方法上,應(yīng)用流量逐級(jí)傳遞對(duì)節(jié)點(diǎn)的影響的累加性計(jì)算,充分考慮了每一個(gè)節(jié)點(diǎn)對(duì)下游節(jié)點(diǎn)的貢獻(xiàn)程度;
(3)本發(fā)明各條路徑不確定性計(jì)算能夠有效準(zhǔn)確地反映各條路徑對(duì)整個(gè)子網(wǎng)的影響程度;
(4)本發(fā)明充分考慮了整個(gè)路網(wǎng)結(jié)構(gòu)特性,排除了與要計(jì)算節(jié)點(diǎn)對(duì)無(wú)關(guān)的節(jié)點(diǎn)及相應(yīng)路段,使結(jié)果更為準(zhǔn)確;
(5)本發(fā)明引入了節(jié)點(diǎn)對(duì)熵,更為準(zhǔn)確地說(shuō)明了節(jié)點(diǎn)對(duì)之間各條路徑傳遞流量的能力給節(jié)點(diǎn)對(duì)帶來(lái)的影響的程度。
附圖說(shuō)明:
圖1為本發(fā)明方法主要流程圖。
圖2為流量計(jì)算流程圖。
圖3為節(jié)點(diǎn)間各條路徑不確定性計(jì)算流程圖。
具體實(shí)施方式:
下面結(jié)合附圖與具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。
參照?qǐng)D1,基于節(jié)點(diǎn)對(duì)熵的交通網(wǎng)路徑預(yù)測(cè)方法,主要分為三個(gè)層次:動(dòng)態(tài)路網(wǎng)建模模塊102、節(jié)點(diǎn)對(duì)各條路徑的不確定性計(jì)算模塊103、節(jié)點(diǎn)對(duì)熵及路徑預(yù)測(cè)模塊104。三個(gè)部分具有逐級(jí)支撐關(guān)系,即動(dòng)態(tài)路網(wǎng)模型為節(jié)點(diǎn)對(duì)各條路徑的不確定性計(jì)算提供平臺(tái),節(jié)點(diǎn)對(duì)各條路徑的不確定性為節(jié)點(diǎn)對(duì)熵及路徑預(yù)測(cè)提供了基礎(chǔ)數(shù)據(jù)。
動(dòng)態(tài)路網(wǎng)建模模塊,根據(jù)交通子區(qū)路網(wǎng)拓?fù)鋽?shù)據(jù)和實(shí)時(shí)動(dòng)態(tài)交通流數(shù)據(jù),建立以路口為點(diǎn)、道路為邊、流量為權(quán)值的動(dòng)態(tài)路網(wǎng)模型;節(jié)點(diǎn)對(duì)之間各條路徑流經(jīng)流量不確定性計(jì)算模塊,提取與所需節(jié)點(diǎn)對(duì)之間發(fā)生流量傳遞的所有節(jié)點(diǎn)及相應(yīng)的邊,構(gòu)成一個(gè)新的子網(wǎng),給節(jié)點(diǎn)的初始狀態(tài)賦值,接著通過(guò)計(jì)算下游節(jié)點(diǎn)在每一層傳遞的流量值,推出每一層中上游節(jié)點(diǎn)傳遞相應(yīng)流量給下游節(jié)點(diǎn)的概率,以及節(jié)點(diǎn)的貢獻(xiàn)概率,進(jìn)而得出初始節(jié)點(diǎn)到終結(jié)點(diǎn)的所有路徑傳遞相應(yīng)流量值的概率;節(jié)點(diǎn)對(duì)熵及路徑預(yù)測(cè)模塊,根據(jù)香農(nóng)信息熵的物理意義推理出本發(fā)明所需的節(jié)點(diǎn)對(duì)熵,運(yùn)用節(jié)點(diǎn)對(duì)熵的值進(jìn)行路徑預(yù)測(cè)。
所述動(dòng)態(tài)路網(wǎng)建模模塊描述如下:
任何一個(gè)城市道路交通網(wǎng)絡(luò)都可以描述為以下形式:
tn=(n,e,w),
其中,tn為要建模的交通網(wǎng)絡(luò),n={n1,n2,…,np}為交通網(wǎng)絡(luò)中節(jié)點(diǎn)集合(p為節(jié)點(diǎn)數(shù)),e={e1,e2,…,eq}為交通網(wǎng)絡(luò)中邊的集合(q為道路數(shù)),權(quán)值w定義為路段上的流量。
本發(fā)明中節(jié)點(diǎn)對(duì)熵用于統(tǒng)計(jì)網(wǎng)絡(luò)中節(jié)點(diǎn)間的相互關(guān)系。由于網(wǎng)絡(luò)中節(jié)點(diǎn)與節(jié)點(diǎn)之間會(huì)有信息傳遞,這使得下游節(jié)點(diǎn)在任一時(shí)刻一定會(huì)收到它上游節(jié)點(diǎn)的影響,因此即使不相鄰的兩個(gè)節(jié)點(diǎn)之間也會(huì)有一定的相互關(guān)系。
需要指出的是本發(fā)明的路徑是一個(gè)流量蔓延的過(guò)程。
本發(fā)明的節(jié)點(diǎn)對(duì)熵:
h(vivj)=-∑pllnpl
其中h(vivj)表示節(jié)點(diǎn)對(duì)熵,pl表示路徑l在節(jié)點(diǎn)對(duì)流量傳遞過(guò)程中的貢獻(xiàn)程度,即本發(fā)明中的節(jié)點(diǎn)對(duì)之間各條路徑流經(jīng)流量概率。
所述節(jié)點(diǎn)對(duì)之間各條路徑流經(jīng)流量不確定性模塊描述如下:
mi(v):v點(diǎn)在i層的狀態(tài)值
ni(e):e在i層流過(guò)的流量
wi(e):e邊在第i層的權(quán)值
(1)給節(jié)點(diǎn)的初始狀態(tài)賦值。
對(duì)于初始節(jié)點(diǎn)的狀態(tài)值m0(v)為它下游邊權(quán)wi(e)的總和,其余各節(jié)點(diǎn)的狀態(tài)值為空。
(2)計(jì)算下游節(jié)點(diǎn)在每一層傳遞的流量值。
從起點(diǎn)開(kāi)始,依次向它的下游節(jié)點(diǎn)傳遞ni(e)的權(quán)值。
1.當(dāng)下游邊權(quán)滿足:∑w(e)≤mi-1(va)時(shí),ni(e)=w(e)
2.不滿足時(shí),∑w(e)依次減去最大的w(e),直到∑w(e)≤mi-1(va),ni(e)=w(e);
3.當(dāng)2中的臨界邊包含互為上游節(jié)點(diǎn)的節(jié)點(diǎn)時(shí),優(yōu)先分配給這樣的邊。
若不包含,隨機(jī)抽取被減去的邊中最小值相等的任意一條邊,這條邊通過(guò)的流量表示為ni(e)=mi-1(va)-∑w(e),其余邊為0。
4.每傳遞一次,上游節(jié)點(diǎn)的狀態(tài)值相應(yīng)減少損耗值,下游節(jié)點(diǎn)的狀態(tài)值相應(yīng)加上這一損耗值,傳遞方式為并行傳遞。
剩余非當(dāng)前搜索節(jié)點(diǎn)的狀態(tài)值為它在上一步的狀態(tài)值
(3)每一層中上游節(jié)點(diǎn)傳遞相應(yīng)流量給下游節(jié)點(diǎn)的概率。
(4)節(jié)點(diǎn)的貢獻(xiàn)概率。
同一層傳遞的影響是相互獨(dú)立的,不同層中的同一節(jié)點(diǎn)傳遞的影響是互斥的,因而若節(jié)點(diǎn)在上層有傳遞,對(duì)所測(cè)節(jié)點(diǎn)層的影響是累加的
(5)初始節(jié)點(diǎn)到終結(jié)點(diǎn)各路徑傳遞相應(yīng)流量值的概率。
依l傳遞的概率為沿該鏈傳遞的各層概率之積的疊加。傳遞過(guò)程中判斷節(jié)點(diǎn)在上層其他分支是否被搜索到,如果被搜索到,由于各分支之間是互斥的,那么傳遞到這一節(jié)點(diǎn)的概率應(yīng)為上層的其他分支搜索到該點(diǎn)的概率與這一分支搜索到該點(diǎn)的概率之和。
參照?qǐng)D2,流量計(jì)算流程圖為圖3節(jié)點(diǎn)間各條路徑不確定性計(jì)算流程圖中的下游邊在所測(cè)節(jié)點(diǎn)層傳遞的流量302的細(xì)化。在初始狀態(tài)賦值后301,首先要判斷初始點(diǎn)下游所有邊的權(quán)值之和是否不大于初始點(diǎn)的初始狀態(tài)值201,若不大于,則下游邊在所測(cè)節(jié)點(diǎn)層傳遞的流量值均等于邊的權(quán)值203;若大于,則需用所有邊權(quán)值和依次減掉最大邊權(quán)值得到修正值,直到這一結(jié)果不大于初始節(jié)點(diǎn)的狀態(tài)值為止,對(duì)于不大于初始節(jié)點(diǎn)的狀態(tài)值的這部分本發(fā)明按照203來(lái)賦值,接著用初始狀態(tài)值與最后依次減掉的最大值的差值賦給最后一次減掉的邊得到的修正值205。因此203與205就是本發(fā)明最后想要的下游節(jié)點(diǎn)在所測(cè)節(jié)點(diǎn)層傳遞的流量值206。
參照?qǐng)D3,節(jié)點(diǎn)間各條路徑不確定性概率計(jì)算流程,301表示給所測(cè)節(jié)點(diǎn)對(duì)初始狀態(tài)賦值,其中要測(cè)的節(jié)點(diǎn)為初始節(jié)點(diǎn)或終止節(jié)點(diǎn),初始節(jié)點(diǎn)的狀態(tài)值為它下游輸出權(quán)值之和,其他節(jié)點(diǎn)為0;302表示下游節(jié)點(diǎn)在所測(cè)節(jié)點(diǎn)層傳遞的流量,在圖二中已經(jīng)詳細(xì)描述了;303表示判斷流量值是否為0;若不為0,則需計(jì)算304,304表示上下游節(jié)點(diǎn)在所測(cè)節(jié)點(diǎn)層流量傳遞的作用下的反饋值;通過(guò)計(jì)算所測(cè)節(jié)點(diǎn)層各分支流量與上游節(jié)點(diǎn)狀態(tài)值的比值得出305,305表示一個(gè)分支上游到下游在這一層傳遞的概率;在計(jì)算一條路徑的概率之前本發(fā)明需要計(jì)算流經(jīng)到這一節(jié)點(diǎn)的概率,306表示判斷節(jié)點(diǎn)是否存在于單一路徑中(即節(jié)點(diǎn)在上層其他分支是否被搜索到),由于各條路徑的傳遞是并行傳遞的,因此彼此之間是相互獨(dú)立的,但對(duì)于節(jié)點(diǎn)來(lái)說(shuō)每一次傳遞都是在施加一次影響,因此同一節(jié)點(diǎn)在不同分支受到的影響是互不相容的。因此若節(jié)點(diǎn)僅存在于單一路徑中(即未被搜索),則計(jì)算307,即該條路徑流經(jīng)這一節(jié)點(diǎn)的概率309為各個(gè)階段的連乘積,是307與308的結(jié)果;若節(jié)點(diǎn)還存在于其他路徑中(即被搜索到),則該條路徑流經(jīng)這一節(jié)點(diǎn)的概率307在308的基礎(chǔ)上還需要加上上層其他分支流經(jīng)到這一節(jié)點(diǎn)的概率。3010表示判斷是否是初始節(jié)點(diǎn)或終止節(jié)點(diǎn),若不是則繼續(xù)返回302計(jì)算下一層的概率;若是,則輸出該條路徑的概率,并返回初始節(jié)點(diǎn)進(jìn)行下一輪的計(jì)算301,直至所有的下游流量均為0,過(guò)程進(jìn)行不下去為止輸出所有路徑的概率3012,并通過(guò)節(jié)點(diǎn)對(duì)熵的計(jì)算方法,計(jì)算最終的不確定程度。
對(duì)應(yīng)于路網(wǎng)中的任意兩節(jié)點(diǎn)來(lái)說(shuō),如果他們的節(jié)點(diǎn)對(duì)熵越大,不確定性越大,則說(shuō)明他們之間越容易發(fā)生信息的傳遞,因此可以理解當(dāng)兩點(diǎn)之間路徑越擁擠,熵越小,越暢通,熵越大。該方法既不受方向的影響也不受新增路線的影響。應(yīng)用這一方法整個(gè)交通網(wǎng)絡(luò)所有節(jié)點(diǎn)對(duì)熵就可以構(gòu)成一個(gè)完全連接的網(wǎng)絡(luò),從而實(shí)現(xiàn)了交通網(wǎng)絡(luò)中路徑的預(yù)測(cè),為進(jìn)一步實(shí)現(xiàn)更優(yōu)化的交通網(wǎng)絡(luò)提供基礎(chǔ)。