亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

多核平臺(tái)上的路網(wǎng)近似最短路徑計(jì)算方法

文檔序號(hào):9217389閱讀:204來源:國知局
多核平臺(tái)上的路網(wǎng)近似最短路徑計(jì)算方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種多核平臺(tái)上的路網(wǎng)近似最短路徑計(jì)算方法。
【背景技術(shù)】
[0002]兩點(diǎn)間最短路徑問題是一個(gè)經(jīng)典的算法問題,也是許多實(shí)際應(yīng)用中的重要子問題。
[0003]目前無論P(yáng)C還是手機(jī)、平板電腦等移動(dòng)設(shè)備,都廣泛使用了多核處理器。然而,現(xiàn)有技術(shù)中,一方面,沒有有效并行化計(jì)算兩點(diǎn)間最短路徑的相關(guān)方案,使得計(jì)算資源難以得到充分利用;另一方面,某些方案還需要進(jìn)行預(yù)處理才可進(jìn)行計(jì)算。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的是提供一種多核平臺(tái)上的路網(wǎng)近似最短路徑計(jì)算方法,可充分利用多核資源進(jìn)行最短路徑計(jì)算,同時(shí),還可以提高計(jì)算結(jié)果的精確度。
[0005]本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的:
[0006]一種多核平臺(tái)上的路網(wǎng)近似最短路徑計(jì)算方法,其特征在于,包括:
[0007]根據(jù)多核平臺(tái)處理器核心的個(gè)數(shù)2η,從地圖信息中估計(jì)給定起點(diǎn)s和終點(diǎn)t的最短路徑中可能經(jīng)過的η個(gè)不同的節(jié)點(diǎn)IV從而獲得η組待求解的路徑問題,每一組待求解的路徑問題包括兩個(gè)子問題:(s,Hii)與Ov t);其中,I ^ i ;
[0008]基于歐氏距離的A*算法,并結(jié)合多核異步并行計(jì)算η組不同的路徑問題,獲得2η段路徑結(jié)果;
[0009]計(jì)算2η段路徑結(jié)果之間的相交點(diǎn),每兩個(gè)交點(diǎn)之間若有一條以上的路徑,則只保留最短的一條,最終獲得一條從起點(diǎn)s到終點(diǎn)t的近似最短路徑。
[0010]所述A*算法的估值函數(shù)系數(shù)設(shè)置為大于I的值。
[0011]由上述本發(fā)明提供的技術(shù)方案可以看出,該方案可以在不做預(yù)處理的前提下,充分利用多核計(jì)算資源來計(jì)算路網(wǎng)上兩點(diǎn)間最短路徑的近似解;一方面利用通過估計(jì)中間點(diǎn)可將最短路徑問題分解為兩個(gè)子問題,然后并行求解;另一方面,通過選擇多個(gè)中間點(diǎn)產(chǎn)生冗余的計(jì)算任務(wù),使用其他冗余的處理器核心進(jìn)行計(jì)算,從而提高解的近似精度。
【附圖說明】
[0012]為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他附圖。
[0013]圖1為本發(fā)明實(shí)施例提供的一種多核平臺(tái)上的路網(wǎng)近似最短路徑計(jì)算方法的流程圖。
【具體實(shí)施方式】
[0014]下面結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明的保護(hù)范圍。
[0015]實(shí)施例
[0016]圖1為本發(fā)明實(shí)施例提供的一種多核平臺(tái)上的路網(wǎng)近似最短路徑計(jì)算方法的流程圖。如圖1所示,該方法主要包括如下步驟:
[0017]步驟11、根據(jù)多核平臺(tái)處理器核心的個(gè)數(shù)2η,從地圖信息中估計(jì)給定起點(diǎn)s和終點(diǎn)t的最短路徑中可能經(jīng)過的η個(gè)不同的節(jié)點(diǎn)!V從而獲得η組待求解的路徑問題,每一組待求解的路徑問題包括兩個(gè)子問題:(s,Hii)與Ov t)。
[0018]本發(fā)明實(shí)施例中,一方面,將求解定起點(diǎn)s和終點(diǎn)t的最短路徑問題(s,t)分解為獨(dú)立的子問題,即估計(jì)二者最短路徑中可能經(jīng)過的節(jié)點(diǎn)m,再求解路徑問題(s,m)和(m,t)。另一方面,只求解一組(s,m) (m, t)雖然可以快速得到路徑,但誤差較高;考慮到多核計(jì)算資源往往有閑置,因此利用多核異步并行計(jì)算η組不同的路徑,然后取出局部最優(yōu)的子路徑進(jìn)行組合得到最終結(jié)果。假設(shè)有2η個(gè)處理器核心,則可以選擇η個(gè)不同的中間點(diǎn),得到η組待求解的路徑問題,每一組待求解的路徑問題包括兩個(gè)子問題:(8,π0與Ovt);其中,I < i < η。
[0019]步驟12、基于歐氏距離的Α*算法,并結(jié)合多核異步并行計(jì)算η組不同的路徑問題,獲得2η段路徑結(jié)果。
[0020]A* (A-Star)算法是一種靜態(tài)路網(wǎng)中求解最短路徑最有效的直接搜索方法。通常而言,兩個(gè)子問題(s,m)和(m,t)的搜索空間之和要小于原問題(s,t),并且可以并行求解。由于不能保證一定是(s,t)最短路徑上的點(diǎn),因此即使A*算法的估值函數(shù)系數(shù)為1,所求得的路徑也是近似解。若該系數(shù)大于1,則可以更快速地執(zhí)行完A*算法,因此,本發(fā)明實(shí)施例中,所述A*算法的估值函數(shù)系數(shù)設(shè)置為大于I的值,并且由此導(dǎo)致的較大的結(jié)果誤差可以借助冗余的計(jì)算而降低。
[0021]對步驟11中的η組路徑問題(2η個(gè)子問題)進(jìn)行并行計(jì)算,可獲得2η段路徑結(jié)果O
[0022]步驟13、計(jì)算2η段路徑結(jié)果之間的相交點(diǎn),每兩個(gè)交點(diǎn)之間若有一條以上的路徑,則只保留最短的一條,最終獲得一條從起點(diǎn)s到終點(diǎn)t的近似最短路徑。
[0023]具體過程如下:對每條路徑進(jìn)行一次遍歷,遍歷時(shí)檢查其他路徑是否經(jīng)過此節(jié)點(diǎn),若經(jīng)過,則該結(jié)點(diǎn)為一個(gè)交點(diǎn)。顯然s,t 一定是交點(diǎn)。每檢查到一個(gè)交點(diǎn),其與上一個(gè)交點(diǎn)之間必然有兩條以上路徑。借助之前A*算法的搜索結(jié)果可以很容易判斷這些路徑的長短。保留其中最短的一條。最終s到t之間只會(huì)剩下唯一一條比較優(yōu)化的路徑。
[0024]本發(fā)明上述方案可以在不做預(yù)處理的前提下,充分利用多核計(jì)算資源來計(jì)算路網(wǎng)上兩點(diǎn)間最短路徑的近似解;一方面利用通過估計(jì)中間點(diǎn)可將最短路徑問題分解為兩個(gè)子問題,然后并行求解;另一方面,通過選擇多個(gè)中間點(diǎn)產(chǎn)生冗余的計(jì)算任務(wù),使用其他冗余的處理器核心進(jìn)行計(jì)算,從而提高解的近似精度。
[0025]通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例可以通過軟件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺(tái)的方式來實(shí)現(xiàn)?;谶@樣的理解,上述實(shí)施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是CD-ROM,U盤,移動(dòng)硬盤等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
[0026]以上所述,僅為本發(fā)明較佳的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書的保護(hù)范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種多核平臺(tái)上的路網(wǎng)近似最短路徑計(jì)算方法,其特征在于,包括: 根據(jù)多核平臺(tái)處理器核心的個(gè)數(shù)2η,從地圖信息中估計(jì)給定起點(diǎn)S和終點(diǎn)t的最短路徑中可能經(jīng)過的η個(gè)不同的節(jié)點(diǎn)IV從而獲得η組待求解的路徑問題,每一組待求解的路徑問題包括兩個(gè)子問題:(S,HIi)與Ov t);其中,I ^ i ^ η ; 基于歐氏距離的Α*算法,并結(jié)合多核異步并行計(jì)算η組不同的路徑問題,獲得2η段路徑結(jié)果; 計(jì)算2η段路徑結(jié)果之間的相交點(diǎn),每兩個(gè)交點(diǎn)之間若有一條以上的路徑,則只保留最短的一條,最終獲得一條從起點(diǎn)s到終點(diǎn)t的近似最短路徑。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述A*算法的估值函數(shù)系數(shù)設(shè)置為大于I的值。
【專利摘要】本發(fā)明公開了一種多核平臺(tái)上的路網(wǎng)近似最短路徑計(jì)算方法,該方法包括:根據(jù)多核平臺(tái)處理器核心的個(gè)數(shù)2n,從地圖信息中估計(jì)給定起點(diǎn)s和終點(diǎn)t的最短路徑中可能經(jīng)過的n個(gè)不同的節(jié)點(diǎn)mi,從而獲得n組待求解的路徑問題,每一組待求解的路徑問題包括兩個(gè)子問題:(s,mi)與(mi,t);其中,1≤i≤n;基于歐氏距離的A*算法,并結(jié)合多核異步并行計(jì)算n組不同的路徑問題,獲得2n段路徑結(jié)果;計(jì)算2n段路徑結(jié)果之間的相交點(diǎn),每兩個(gè)交點(diǎn)之間若有一條以上的路徑,則只保留最短的一條,最終獲得一條從起點(diǎn)s到終點(diǎn)t的近似最短路徑。采用本發(fā)明公開的方法,可充分利用多核資源進(jìn)行最短路徑計(jì)算,同時(shí),還可以提高計(jì)算結(jié)果的精確度。
【IPC分類】G06F17/50
【公開號(hào)】CN104933248
【申請?zhí)枴緾N201510334047
【發(fā)明人】孫廣中, 孫經(jīng)緯, 詹石巖, 劉惠民
【申請人】中國科學(xué)技術(shù)大學(xué)
【公開日】2015年9月23日
【申請日】2015年6月16日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1