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

路徑計(jì)算順序決定方法、程序以及計(jì)算裝置的制作方法

文檔序號(hào):7737420閱讀:494來源:國知局
專利名稱:路徑計(jì)算順序決定方法、程序以及計(jì)算裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及路徑計(jì)算順序決定方法、程序以及計(jì)算裝置,特別涉及決定使用節(jié)點(diǎn)之間的已計(jì)算出的最短路徑來計(jì)算其他節(jié)點(diǎn)之間的最短路徑時(shí)的路徑計(jì)算順序的路徑計(jì)算順序決定方法、程序以及計(jì)算裝置。
背景技術(shù)
存在如下情況網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)、連接節(jié)點(diǎn)之間的道路(路線)、網(wǎng)絡(luò)鏈接的鋪設(shè)狀況(拓?fù)?產(chǎn)生變化,數(shù)據(jù)可以通過此前無法通過的部位,或者相反,無法通過此前可以通過的部位。在需要始終掌握從出發(fā)地(起點(diǎn)節(jié)點(diǎn))到目的地(終點(diǎn)節(jié)點(diǎn))的最短路徑的情況下,伴隨路線拓?fù)涞淖兓枰俅斡?jì)算變化后的拓?fù)渲械膹某霭l(fā)地(起點(diǎn)節(jié)點(diǎn))到目的地 (終點(diǎn)節(jié)點(diǎn))的最短路徑?,F(xiàn)有的最短路徑計(jì)算裝置使用表示變化后的拓?fù)涞耐負(fù)湫畔ⅲ俅斡?jì)算連接各節(jié)點(diǎn)之間的全部最短路徑。在非專利文獻(xiàn)1中記載了使用拓?fù)湫畔碛?jì)算各節(jié)點(diǎn)之間的最短路徑的方法。非專利文獻(xiàn) 1 :Ε· W. Di jkstra、「A Note on Two Problems in Connexion with Graphs」、1959 $ 6 月 11 H>Numerische Mathematik 1, p269-27
發(fā)明內(nèi)容
發(fā)明要解決的課題在已經(jīng)計(jì)算了某個(gè)連接節(jié)點(diǎn)之間的最短路徑的情況下,有時(shí)在該已計(jì)算出的節(jié)點(diǎn)之間的最短路徑和由此計(jì)算的其他節(jié)點(diǎn)之間的最短路徑之間存在共同的部分(以下稱為 “共同部分”)。在存在共同部分的情況下,能夠采用該共同部分作為由此計(jì)算的節(jié)點(diǎn)之間的最短路徑的計(jì)算結(jié)果的一部分。特別地,在已計(jì)算出的節(jié)點(diǎn)之間的最短路徑中包括表示由此計(jì)算的從起點(diǎn)到終點(diǎn)的最短路徑的部分(以下稱為“部分路徑”)的情況下,該部分路徑是由此計(jì)算的最短路徑。由已計(jì)算出的各節(jié)點(diǎn)之間的最短路徑構(gòu)成的最短路徑組包括越多的部分路徑,使用該已計(jì)算出的最短路徑組的信息,越能夠縮短由此計(jì)算的節(jié)點(diǎn)之間的最短路徑的計(jì)算時(shí)間。以往,著眼于這一點(diǎn),即由已計(jì)算出的各節(jié)點(diǎn)之間的最短路徑構(gòu)成的最短路徑組包括越多的部分路徑,使用已計(jì)算出的最短路徑組的信息,越能夠縮短由此計(jì)算的節(jié)點(diǎn)之間的最短路徑的計(jì)算時(shí)間,不存在縮短節(jié)點(diǎn)之間的最短路徑的計(jì)算時(shí)間的技術(shù)。本發(fā)明的目的在于,提供以能夠縮短節(jié)點(diǎn)之間的最短路徑的計(jì)算時(shí)間的方式?jīng)Q定節(jié)點(diǎn)之間的最短路徑的計(jì)算順序的路徑計(jì)算順序決定方法、程序以及計(jì)算裝置。用于解決課題的手段
本發(fā)明的路徑計(jì)算順序決定方法是計(jì)算裝置執(zhí)行的路徑計(jì)算順序決定方法,該計(jì)算裝置針對由多個(gè)節(jié)點(diǎn)構(gòu)成的網(wǎng)絡(luò),使用節(jié)點(diǎn)之間的已計(jì)算出的最短路徑來計(jì)算其他節(jié)點(diǎn)之間的最短路徑,其特征在于,所述計(jì)算裝置具有存儲(chǔ)單元和計(jì)算單元,該存儲(chǔ)單元存儲(chǔ)最短路徑組信息和拓?fù)湫畔?,所述最短路徑組信息通過多個(gè)節(jié)點(diǎn)和該多個(gè)節(jié)點(diǎn)中的各節(jié)點(diǎn)之間的路徑來表示起點(diǎn)節(jié)點(diǎn)相同且終點(diǎn)節(jié)點(diǎn)不同的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑,所述拓?fù)湫畔⒈硎舅龆鄠€(gè)節(jié)點(diǎn)的拓?fù)?,所述路徑?jì)算順序決定方法包括計(jì)算步驟,在該計(jì)算步驟中,所述計(jì)算單元按照在所述最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于特定節(jié)點(diǎn)下游的節(jié)點(diǎn)的數(shù)量從多到少的順序,選擇所述多個(gè)節(jié)點(diǎn)中與所述起點(diǎn)節(jié)點(diǎn)不同的每一個(gè)所述特定節(jié)點(diǎn),每次選擇所述特定節(jié)點(diǎn)時(shí),使用其他節(jié)點(diǎn)之間的已計(jì)算出的最短路徑和所述拓?fù)湫畔?,?jì)算以該選擇出的特定節(jié)點(diǎn)為起點(diǎn)且以所述多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑。本發(fā)明的程序用于使存儲(chǔ)有最短路徑組信息和拓?fù)湫畔⒌挠?jì)算機(jī)針對由多個(gè)節(jié)點(diǎn)構(gòu)成的網(wǎng)絡(luò)執(zhí)行計(jì)算步驟,所述最短路徑組信息通過多個(gè)節(jié)點(diǎn)和該多個(gè)節(jié)點(diǎn)的各節(jié)點(diǎn)之間的路徑來表示起點(diǎn)節(jié)點(diǎn)相同且終點(diǎn)節(jié)點(diǎn)不同的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑,所述拓?fù)湫畔⒈硎舅龆鄠€(gè)節(jié)點(diǎn)的拓?fù)?,在所述?jì)算步驟中,按照在所述最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于特定節(jié)點(diǎn)下游的節(jié)點(diǎn)的數(shù)量從多到少的順序, 選擇所述多個(gè)節(jié)點(diǎn)中與所述起點(diǎn)節(jié)點(diǎn)不同的每一個(gè)所述特定節(jié)點(diǎn),每次選擇所述特定節(jié)點(diǎn)時(shí),使用其他節(jié)點(diǎn)之間的已計(jì)算出的最短路徑和所述拓?fù)湫畔?,?jì)算以該選擇出的特定節(jié)點(diǎn)為起點(diǎn)且以所述多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑。本發(fā)明的計(jì)算裝置針對由多個(gè)節(jié)點(diǎn)構(gòu)成的網(wǎng)絡(luò),使用節(jié)點(diǎn)之間的已計(jì)算出的最短路徑來計(jì)算其他節(jié)點(diǎn)之間的最短路徑,其特征在于,該計(jì)算裝置具有存儲(chǔ)單元,其存儲(chǔ)最短路徑組信息和拓?fù)湫畔ⅲ鲎疃搪窂浇M信息通過多個(gè)節(jié)點(diǎn)和該多個(gè)節(jié)點(diǎn)的各節(jié)點(diǎn)之間的路徑來表示起點(diǎn)節(jié)點(diǎn)相同且終點(diǎn)節(jié)點(diǎn)不同的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑,所述拓?fù)湫畔⒈硎舅龆鄠€(gè)節(jié)點(diǎn)的拓?fù)洌灰约坝?jì)算單元,其按照在所述最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于特定節(jié)點(diǎn)下游的節(jié)點(diǎn)的數(shù)量從多到少的順序,選擇所述多個(gè)節(jié)點(diǎn)中與所述起點(diǎn)節(jié)點(diǎn)不同的每一個(gè)所述特定節(jié)點(diǎn),每次選擇所述特定節(jié)點(diǎn)時(shí), 使用其他節(jié)點(diǎn)之間的已計(jì)算出的最短路徑和所述拓?fù)湫畔?,?jì)算以該選擇出的特定節(jié)點(diǎn)為起點(diǎn)且以所述多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑。優(yōu)選所述計(jì)算單元執(zhí)行以下處理檢索處理,檢索在所述最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于所述起點(diǎn)節(jié)點(diǎn)的單跳下游的全部節(jié)點(diǎn),作為屬于所述特定節(jié)點(diǎn)的計(jì)算起點(diǎn)節(jié)點(diǎn);選擇處理,選擇所述計(jì)算起點(diǎn)節(jié)點(diǎn)中的特定計(jì)算起點(diǎn)節(jié)點(diǎn), 在所述各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中,位于所述特定計(jì)算起點(diǎn)節(jié)點(diǎn)下游的節(jié)點(diǎn)的數(shù)量最多;最短路徑計(jì)算處理,使用其他節(jié)點(diǎn)之間的已計(jì)算出的最短路徑和所述拓?fù)湫畔?,?jì)算以所述特定計(jì)算起點(diǎn)節(jié)點(diǎn)為起點(diǎn)且以所述多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑;以及反復(fù)處理,反復(fù)進(jìn)行如下一連串的動(dòng)作,直到針對全部所述特定節(jié)點(diǎn), 以該特定節(jié)點(diǎn)為起點(diǎn)且以所述多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑的計(jì)算結(jié)束為止,所述一連串的動(dòng)作是,檢索在所述最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于所述特定計(jì)算起點(diǎn)節(jié)點(diǎn)的單跳下游的全部節(jié)點(diǎn),追加該檢索到的節(jié)點(diǎn)作為所述計(jì)算起點(diǎn)節(jié)點(diǎn),然后,進(jìn)行所述檢索處理、所述選擇處理和所述最短路徑計(jì)算處理。發(fā)明的效果根據(jù)本發(fā)明,能夠按照能夠在其他各節(jié)點(diǎn)之間的最短路徑的計(jì)算中轉(zhuǎn)用的路徑數(shù)從多到少的順序,計(jì)算各節(jié)點(diǎn)之間的最短路徑。由此,能夠縮短全部最短路徑的計(jì)算時(shí)間。


圖1是示出本發(fā)明的一個(gè)實(shí)施方式的計(jì)算裝置1的結(jié)構(gòu)的框圖。圖2是示出最短路徑組的路徑樹的一例的說明圖。圖3是用于說明計(jì)算裝置1的動(dòng)作的流程圖。圖4是用于說明計(jì)算裝置1的動(dòng)作的說明圖。圖5是用于說明計(jì)算裝置1的動(dòng)作的說明圖。圖6是用于說明計(jì)算裝置1的動(dòng)作的說明圖。圖7是用于說明計(jì)算裝置1的動(dòng)作的說明圖。圖8是用于說明計(jì)算裝置1的動(dòng)作的說明圖。圖9是用于說明計(jì)算裝置1的動(dòng)作的說明圖。標(biāo)號(hào)說明1 計(jì)算裝置;2 外部接口 ;3 存儲(chǔ)介質(zhì);4 處理器;如路徑計(jì)算部;4b 信息管理部。
具體實(shí)施例方式下面,參照附圖對本發(fā)明的實(shí)施方式進(jìn)行說明。圖1是示出本發(fā)明的一個(gè)實(shí)施方式的計(jì)算裝置1的框圖。計(jì)算裝置1包括外部接口 2、存儲(chǔ)介質(zhì)3、處理器4。外部接口 2向其他裝置(未圖示)發(fā)送各節(jié)點(diǎn)之間的最短路徑的計(jì)算結(jié)果,并從其他裝置接收與拓?fù)溆嘘P(guān)的信息(以下稱為“拓?fù)湫畔ⅰ?。存儲(chǔ)介質(zhì)3是存儲(chǔ)單元的一例,是計(jì)算機(jī)可讀取的記錄介質(zhì)。存儲(chǔ)介質(zhì)3例如存儲(chǔ)最短路徑組信息和拓?fù)湫畔?,該最短路徑組信息表示起點(diǎn)節(jié)點(diǎn)相同且終點(diǎn)節(jié)點(diǎn)不同的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑。最短路徑組信息通過多個(gè)節(jié)點(diǎn)和該多個(gè)節(jié)點(diǎn)中的各節(jié)點(diǎn)之間的路徑,來表示起點(diǎn)節(jié)點(diǎn)相同且終點(diǎn)節(jié)點(diǎn)不同的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑。在本實(shí)施方式中,最短路徑組信息利用路徑樹的形式表示起點(diǎn)節(jié)點(diǎn)相同且終點(diǎn)節(jié)點(diǎn)不同的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑組。各最短路徑由從起點(diǎn)到終點(diǎn)沿著樹到達(dá)時(shí)通過的節(jié)點(diǎn)和該節(jié)點(diǎn)之間的鏈路表示。另外,省略了網(wǎng)絡(luò)拓?fù)涞膱D示,但是,在鄰近的節(jié)點(diǎn)彼此之間設(shè)有路線。下面,利用箭頭連接規(guī)定節(jié)點(diǎn)的單跳上游的節(jié)點(diǎn)與規(guī)定節(jié)點(diǎn)之間、以及規(guī)定節(jié)點(diǎn)的單跳下游的節(jié)點(diǎn)與規(guī)定節(jié)點(diǎn)之間,利用箭頭朝向的方向表示上游一下游。作為起點(diǎn)相同的最短路徑組,當(dāng)存在圖2所示的樹時(shí),使用沿著樹從節(jié)點(diǎn)s去往節(jié)點(diǎn)b時(shí)通過的節(jié)點(diǎn)即節(jié)點(diǎn)s、a和b,如s — a — b那樣表示從節(jié)點(diǎn)s到節(jié)點(diǎn)b的最短路徑。 同樣,從節(jié)點(diǎn)s到節(jié)點(diǎn)a、c、d的路徑為s — a、s — a — c、s — d。在樹內(nèi)配置成起點(diǎn)位于樹的頂點(diǎn),接近終點(diǎn)的節(jié)點(diǎn)在下方(下游)。下面,從某個(gè)節(jié)點(diǎn)觀察時(shí),將存在于同一路徑上且位于該節(jié)點(diǎn)的起點(diǎn)側(cè)的節(jié)點(diǎn)稱為上游節(jié)點(diǎn),將位于終點(diǎn)側(cè)的節(jié)點(diǎn)稱為下游節(jié)點(diǎn)。拓?fù)湫畔⒈硎咀疃搪窂浇M信息所示的多個(gè)節(jié)點(diǎn)的拓?fù)洹L幚砥?是計(jì)算單元的一例。處理器4包括路徑計(jì)算部乜和信息管理部4b。另外,在存儲(chǔ)介質(zhì)3中記錄有規(guī)定處理器4的動(dòng)作的程序的情況下,處理器4從存儲(chǔ)介質(zhì)3中讀取該程序并執(zhí)行,由此,作為信息管理部4b和路徑計(jì)算部如發(fā)揮功能。路徑計(jì)算部如從存儲(chǔ)介質(zhì)3中讀入最短路徑組信息和拓?fù)湫畔?。路徑?jì)算部如按照在最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于特定節(jié)點(diǎn)下游(終點(diǎn)節(jié)點(diǎn)側(cè))的節(jié)點(diǎn)的數(shù)量從多到少的順序,選擇最短路徑組信息表示的多個(gè)節(jié)點(diǎn)中與起點(diǎn)節(jié)點(diǎn)不同的每一個(gè)特定節(jié)點(diǎn)。路徑計(jì)算部如每次選擇特定節(jié)點(diǎn)時(shí),使用其他節(jié)點(diǎn)之間的已計(jì)算出的最短路徑和拓?fù)湫畔ⅲ?jì)算以該選擇出的特定節(jié)點(diǎn)為起點(diǎn)且以最短路徑組信息表示的多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑。在本實(shí)施方式中,路徑計(jì)算部如執(zhí)行檢索處理、選擇處理、最短路徑計(jì)算處理、反
復(fù)處理。在檢索處理中,路徑計(jì)算部如檢索在最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于起點(diǎn)節(jié)點(diǎn)的單跳下游的全部節(jié)點(diǎn),作為屬于特定節(jié)點(diǎn)的計(jì)算起點(diǎn)節(jié)
點(diǎn)ο在選擇處理中,路徑計(jì)算部如選擇計(jì)算起點(diǎn)節(jié)點(diǎn)中的、在最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于該計(jì)算起點(diǎn)節(jié)點(diǎn)下游的節(jié)點(diǎn)的數(shù)量最多的計(jì)算起點(diǎn)節(jié)點(diǎn),作為特定計(jì)算起點(diǎn)節(jié)點(diǎn)。在最短路徑計(jì)算處理中,路徑計(jì)算部如使用其他節(jié)點(diǎn)之間的已計(jì)算出的最短路徑和拓?fù)湫畔?,?jì)算以所選擇的特定計(jì)算起點(diǎn)節(jié)點(diǎn)為起點(diǎn)且以最短路徑組信息表示的多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑。在反復(fù)處理中,路徑計(jì)算部如反復(fù)進(jìn)行如下一連串的動(dòng)作,直到針對最短路徑組信息表示的全部特定節(jié)點(diǎn),以該特定節(jié)點(diǎn)為起點(diǎn)且以最短路徑組信息表示的多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑的計(jì)算結(jié)束為止,所述一連串的動(dòng)作是,檢索在最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于特定計(jì)算起點(diǎn)節(jié)點(diǎn)的單跳下游的全部節(jié)點(diǎn),追加該檢索到的節(jié)點(diǎn)作為計(jì)算起點(diǎn)節(jié)點(diǎn),然后,進(jìn)行檢索處理、選擇處理和最短路徑計(jì)算處理。信息管理部4b進(jìn)行計(jì)算出的路徑信息或拓?fù)湫畔⒌母禄蛉〉谩=又?,對?dòng)作進(jìn)行說明。圖3是用于說明計(jì)算裝置1的動(dòng)作的流程圖。另外,在本實(shí)施方式中,計(jì)算裝置1在一次處理中計(jì)算起點(diǎn)相同且終點(diǎn)不同的各節(jié)點(diǎn)之間的最短路徑,然后,將起點(diǎn)節(jié)點(diǎn)變更為其他節(jié)點(diǎn),決定計(jì)算全部最短路徑時(shí)的最短路徑的計(jì)算順序。首先,路徑計(jì)算部如從存儲(chǔ)介質(zhì)3中讀取最短路徑組信息和拓?fù)湫畔?,?zhǔn)備(輸入)起點(diǎn)為相同節(jié)點(diǎn)的已計(jì)算出的最短路徑組(路徑樹)和拓?fù)湫畔?步驟301)。通過最短路徑組信息以圖2所示的樹結(jié)構(gòu)來表示最短路徑組。接著,路徑計(jì)算部如檢索在由樹結(jié)構(gòu)表示的最短路徑組中位于起點(diǎn)的單跳下游的節(jié)點(diǎn)(計(jì)算起點(diǎn)節(jié)點(diǎn))。然后,路徑計(jì)算部如針對檢索到的每個(gè)節(jié)點(diǎn)(計(jì)算起點(diǎn)節(jié)點(diǎn)), 對在最短路徑組信息所示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于該節(jié)點(diǎn)(計(jì)算起點(diǎn)節(jié)點(diǎn))下游的節(jié)點(diǎn)的數(shù)量進(jìn)行計(jì)數(shù),將該節(jié)點(diǎn)數(shù)量與檢索到的節(jié)點(diǎn)(計(jì)算起點(diǎn)節(jié)點(diǎn))對應(yīng)起來(步驟302)。接著,路徑計(jì)算部如按照與該節(jié)點(diǎn)對應(yīng)的下游節(jié)點(diǎn)數(shù)量從多到少的順序,搜索表示檢索到的節(jié)點(diǎn)(計(jì)算起點(diǎn)節(jié)點(diǎn))的信息(例如節(jié)點(diǎn)ID(IDentification))(步驟303)。接著,路徑計(jì)算部如從檢索到的節(jié)點(diǎn)(計(jì)算起點(diǎn)節(jié)點(diǎn))中選擇下游節(jié)點(diǎn)數(shù)量最多的節(jié)點(diǎn)(特定計(jì)算起點(diǎn)節(jié)點(diǎn))。然后,路徑計(jì)算部如使用其他節(jié)點(diǎn)之間的已計(jì)算出的最短路徑(例如最短路徑組信息)和拓?fù)湫畔?,在下一處理中?jì)算以該所選擇的節(jié)點(diǎn)(特定計(jì)算起點(diǎn)節(jié)點(diǎn))為起點(diǎn)且以樹結(jié)構(gòu)內(nèi)的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑(步驟 304)。接著,路徑計(jì)算部如針對最短路徑組信息所示的多個(gè)節(jié)點(diǎn)中的與起點(diǎn)節(jié)點(diǎn)不同的全部節(jié)點(diǎn),判斷以該節(jié)點(diǎn)為起點(diǎn)且以其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑的計(jì)算是否已結(jié)束(步驟305)。在針對最短路徑組信息所示的多個(gè)節(jié)點(diǎn)中的與起點(diǎn)節(jié)點(diǎn)不同的全部節(jié)點(diǎn),以該節(jié)點(diǎn)為起點(diǎn)且以其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑的計(jì)算沒有結(jié)束的情況下(步驟305 否),路徑計(jì)算部如檢索在最短路徑組信息所示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于特定計(jì)算起點(diǎn)節(jié)點(diǎn)的單跳下游的全部節(jié)點(diǎn),追加該檢索到的節(jié)點(diǎn)作為計(jì)算起點(diǎn)節(jié)點(diǎn)。接著,路徑計(jì)算部如針對所追加的每個(gè)計(jì)算起點(diǎn)節(jié)點(diǎn),對在最短路徑組信息所示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于該計(jì)算起點(diǎn)節(jié)點(diǎn)下游的節(jié)點(diǎn)的數(shù)量進(jìn)行計(jì)數(shù),將該節(jié)點(diǎn)數(shù)量與檢索到的節(jié)點(diǎn)(計(jì)算起點(diǎn)節(jié)點(diǎn))對應(yīng)起來(步驟306)。接著,路徑計(jì)算部如返回步驟303的處理。另一方面,在針對最短路徑組信息所示的多個(gè)節(jié)點(diǎn)中的與起點(diǎn)節(jié)點(diǎn)不同的全部節(jié)點(diǎn),以該節(jié)點(diǎn)為起點(diǎn)且以其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑的計(jì)算已結(jié)束的情況下(步驟305 是),路徑計(jì)算部如結(jié)束計(jì)算處理。接著,使用圖4 圖9對各步驟進(jìn)行說明。在以后的說明中也使用樹結(jié)構(gòu)來表示路徑。在圖4所示的樹結(jié)構(gòu)的情況下,從節(jié)點(diǎn)S連接到節(jié)點(diǎn)E的路徑為S — C — D — E。首先,使用圖5對步驟301、302和303進(jìn)行說明。如圖5所示,計(jì)算以節(jié)點(diǎn)S為起點(diǎn)且分別以其他多個(gè)節(jié)點(diǎn)為終點(diǎn)的多個(gè)最短路徑時(shí),路徑計(jì)算部如著眼于起點(diǎn)節(jié)點(diǎn)S的單跳下游的節(jié)點(diǎn)即節(jié)點(diǎn)A、B、C。然后,路徑計(jì)算部如對位于節(jié)點(diǎn)A下游的節(jié)點(diǎn)數(shù)量、位于節(jié)點(diǎn)B下游的節(jié)點(diǎn)數(shù)量、 位于節(jié)點(diǎn)C下游的節(jié)點(diǎn)數(shù)量進(jìn)行計(jì)數(shù)。在圖5中,節(jié)點(diǎn)A下游存在3個(gè)節(jié)點(diǎn),節(jié)點(diǎn)B下游存在2個(gè)節(jié)點(diǎn),節(jié)點(diǎn)C下游存在5個(gè)節(jié)點(diǎn)。接著,路徑計(jì)算部如生成將節(jié)點(diǎn)A與其下游的節(jié)點(diǎn)數(shù)量對應(yīng)起來的信息(例如節(jié)點(diǎn)A 下游的節(jié)點(diǎn)數(shù)量幻。同樣,路徑計(jì)算部如生成將節(jié)點(diǎn)B與其下游的節(jié)點(diǎn)數(shù)量對應(yīng)起來的信息、以及將節(jié)點(diǎn)C與其下游的節(jié)點(diǎn)數(shù)量對應(yīng)起來的信息。
路徑計(jì)算部如以從這些信息中取出下游節(jié)點(diǎn)數(shù)量最多的節(jié)點(diǎn)的信息的形式,對這些信息進(jìn)行管理。作為管理的例子,考慮將各個(gè)信息放入堆棧中進(jìn)行管理的方法。接著,使用圖6和圖7對步驟304進(jìn)行說明。路徑計(jì)算部如從在步驟303中管理的信息中取出下游節(jié)點(diǎn)數(shù)量最多的信息。在圖6的例子中,位于節(jié)點(diǎn)C下游的節(jié)點(diǎn)的數(shù)量最多,因此,路徑計(jì)算部如取出與節(jié)點(diǎn)C有關(guān)的信息。接著,路徑計(jì)算部如如圖7所示,計(jì)算以節(jié)點(diǎn)C為起點(diǎn)的最短路徑。此時(shí),路徑計(jì)算部如利用在各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中以位于節(jié)點(diǎn)C上游的節(jié)點(diǎn)(該情況下為節(jié)點(diǎn)幻為起點(diǎn)的最短路徑的計(jì)算結(jié)果,計(jì)算以節(jié)點(diǎn)C為起點(diǎn)的最短路徑。例如,關(guān)于以節(jié)點(diǎn)C為起點(diǎn)且以其他節(jié)點(diǎn)為終點(diǎn)的最短路徑中的圖5中節(jié)點(diǎn)C為起點(diǎn)的樹部分(節(jié)點(diǎn)C的下屬樹部分),路徑計(jì)算部如直接利用以節(jié)點(diǎn)S為起點(diǎn)的最短路徑的計(jì)算結(jié)果中的節(jié)點(diǎn)C為起點(diǎn)的樹部分。另外,在本實(shí)施方式中,關(guān)于以節(jié)點(diǎn)C為起點(diǎn)且以其他節(jié)點(diǎn)為終點(diǎn)的最短路徑中的以節(jié)點(diǎn)S為起點(diǎn)的最短路徑的計(jì)算結(jié)果不包含的部分,使用拓?fù)湫畔?,按照路徑?jì)算算法進(jìn)行計(jì)算。路徑計(jì)算部如保持以節(jié)點(diǎn)C為起點(diǎn)且以其他節(jié)點(diǎn)為終點(diǎn)的最短路徑的計(jì)算結(jié)果, 將該計(jì)算結(jié)果用于接著進(jìn)行的以其他節(jié)點(diǎn)為起點(diǎn)的最短路徑的計(jì)算。當(dāng)以節(jié)點(diǎn)C為起點(diǎn)且以其他節(jié)點(diǎn)為終點(diǎn)的最短路徑的計(jì)算結(jié)束時(shí),如圖8所示,路徑計(jì)算部如著眼于節(jié)點(diǎn)C的一個(gè)下游的節(jié)點(diǎn)。然后,路徑計(jì)算部如對各個(gè)節(jié)點(diǎn)的下游的節(jié)點(diǎn)數(shù)量進(jìn)行計(jì)數(shù)。路徑計(jì)算部如生成包括下游節(jié)點(diǎn)數(shù)量的所述信息后,如圖9所示,與之前生成的節(jié)點(diǎn)A、B的信息一起,以取出下游節(jié)點(diǎn)數(shù)量最多的信息的形式對這些信息進(jìn)行管理。路徑計(jì)算部如反復(fù)進(jìn)行以上的處理,直到計(jì)算出全部最短路徑為止。因此,路徑計(jì)算部如每次進(jìn)行最短路徑的計(jì)算時(shí),在接著進(jìn)行的以其他節(jié)點(diǎn)為起點(diǎn)的最短路徑的計(jì)算中利用的最短路徑的計(jì)算結(jié)果增加。在本實(shí)施方式中,處理器4按照在最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于特定節(jié)點(diǎn)下游的節(jié)點(diǎn)的數(shù)量從多到少的順序,選擇每一個(gè)特定節(jié)點(diǎn),每次選擇特定節(jié)點(diǎn)時(shí),使用其他節(jié)點(diǎn)之間的已計(jì)算出的最短路徑和拓?fù)湫畔?,?jì)算以選擇出的特定節(jié)點(diǎn)為起點(diǎn)且以其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑。因此,處理器4按照能夠在其他各節(jié)點(diǎn)之間的最短路徑的計(jì)算中轉(zhuǎn)用的路徑數(shù)從多到少的順序,計(jì)算各節(jié)點(diǎn)之間的最短路徑。由此,根據(jù)本實(shí)施方式,能夠利用已經(jīng)計(jì)算出的最短路徑的信息,縮短計(jì)算其他最短路徑時(shí)的計(jì)算時(shí)間。另外,在對節(jié)點(diǎn)數(shù)量進(jìn)行比較時(shí),在存在下游節(jié)點(diǎn)數(shù)量相同的節(jié)點(diǎn)的情況下,路徑計(jì)算部如以規(guī)定順序(例如在利用字母示出節(jié)點(diǎn)ID的情況下為節(jié)點(diǎn)ID的字母順序)選擇這些節(jié)點(diǎn)。在圖9的例子中,在下游節(jié)點(diǎn)數(shù)量同樣最多為4個(gè)的節(jié)點(diǎn)D和節(jié)點(diǎn)E中,選擇節(jié)點(diǎn)ID的字母順序靠前的節(jié)點(diǎn)D。在以上說明的實(shí)施方式中,圖示的結(jié)構(gòu)只是一例,本發(fā)明不限于該結(jié)構(gòu)。
權(quán)利要求
1.一種計(jì)算裝置執(zhí)行的路徑計(jì)算順序決定方法,該計(jì)算裝置針對由多個(gè)節(jié)點(diǎn)構(gòu)成的網(wǎng)絡(luò),使用節(jié)點(diǎn)之間的已計(jì)算出的最短路徑來計(jì)算其他節(jié)點(diǎn)之間的最短路徑,其特征在于,所述計(jì)算裝置具有存儲(chǔ)單元和計(jì)算單元,該存儲(chǔ)單元存儲(chǔ)最短路徑組信息和拓?fù)湫畔?,所述最短路徑組信息通過多個(gè)節(jié)點(diǎn)和該多個(gè)節(jié)點(diǎn)中的各節(jié)點(diǎn)之間的路徑來表示起點(diǎn)節(jié)點(diǎn)相同且終點(diǎn)節(jié)點(diǎn)不同的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑,所述拓?fù)湫畔⒈硎舅龆鄠€(gè)節(jié)點(diǎn)的拓?fù)?,所述路徑?jì)算順序決定方法包括計(jì)算步驟,在該計(jì)算步驟中,所述計(jì)算單元按照在所述最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于特定節(jié)點(diǎn)下游的節(jié)點(diǎn)的數(shù)量從多到少的順序,選擇所述多個(gè)節(jié)點(diǎn)中與所述起點(diǎn)節(jié)點(diǎn)不同的每一個(gè)所述特定節(jié)點(diǎn),每次選擇所述特定節(jié)點(diǎn)時(shí),使用其他節(jié)點(diǎn)之間的已計(jì)算出的最短路徑和所述拓?fù)湫畔ⅲ?計(jì)算以該選擇出的特定節(jié)點(diǎn)為起點(diǎn)且以所述多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑。
2.根據(jù)權(quán)利要求1所述的路徑計(jì)算順序決定方法,其特征在于,所述計(jì)算步驟包括以下步驟檢索步驟,所述計(jì)算單元檢索在所述最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于所述起點(diǎn)節(jié)點(diǎn)的單跳下游的全部節(jié)點(diǎn),作為屬于所述特定節(jié)點(diǎn)的計(jì)算起點(diǎn)節(jié)點(diǎn).選擇步驟,所述計(jì)算單元選擇所述計(jì)算起點(diǎn)節(jié)點(diǎn)中的特定計(jì)算起點(diǎn)節(jié)點(diǎn),在所述各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中,位于所述特定計(jì)算起點(diǎn)節(jié)點(diǎn)下游的節(jié)點(diǎn)的數(shù)量最多;最短路徑計(jì)算步驟,所述計(jì)算單元使用其他節(jié)點(diǎn)之間的已計(jì)算出的最短路徑和所述拓?fù)湫畔ⅲ?jì)算以所述特定計(jì)算起點(diǎn)節(jié)點(diǎn)為起點(diǎn)且以所述多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑;以及反復(fù)步驟,所述計(jì)算單元反復(fù)進(jìn)行如下一連串的動(dòng)作,直到針對全部所述特定節(jié)點(diǎn),以該特定節(jié)點(diǎn)為起點(diǎn)且以所述多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑的計(jì)算結(jié)束為止,所述一連串的動(dòng)作是,檢索在所述最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于所述特定計(jì)算起點(diǎn)節(jié)點(diǎn)的單跳下游的全部節(jié)點(diǎn),追加該檢索到的節(jié)點(diǎn)作為所述計(jì)算起點(diǎn)節(jié)點(diǎn),然后,進(jìn)行所述檢索步驟、所述選擇步驟和所述最短路徑計(jì)算步驟。
3.—種程序,該程序用于使存儲(chǔ)有最短路徑組信息和拓?fù)湫畔⒌挠?jì)算機(jī)針對由多個(gè)節(jié)點(diǎn)構(gòu)成的網(wǎng)絡(luò)執(zhí)行計(jì)算步驟,所述最短路徑組信息通過多個(gè)節(jié)點(diǎn)和該多個(gè)節(jié)點(diǎn)的各節(jié)點(diǎn)之間的路徑來表示起點(diǎn)節(jié)點(diǎn)相同且終點(diǎn)節(jié)點(diǎn)不同的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑,所述拓?fù)湫畔⒈硎舅龆鄠€(gè)節(jié)點(diǎn)的拓?fù)洌谒鲇?jì)算步驟中,按照在所述最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于特定節(jié)點(diǎn)下游的節(jié)點(diǎn)的數(shù)量從多到少的順序,選擇所述多個(gè)節(jié)點(diǎn)中與所述起點(diǎn)節(jié)點(diǎn)不同的每一個(gè)所述特定節(jié)點(diǎn),每次選擇所述特定節(jié)點(diǎn)時(shí),使用其他節(jié)點(diǎn)之間的已計(jì)算出的最短路徑和所述拓?fù)湫畔?,?jì)算以該選擇出的特定節(jié)點(diǎn)為起點(diǎn)且以所述多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑。
4.根據(jù)權(quán)利要求3所述的程序,其特征在于,所述計(jì)算步驟包括以下步驟檢索步驟,檢索在所述最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于所述起點(diǎn)節(jié)點(diǎn)的單跳下游的全部節(jié)點(diǎn),作為屬于所述特定節(jié)點(diǎn)的計(jì)算起點(diǎn)節(jié)點(diǎn);選擇步驟,選擇所述計(jì)算起點(diǎn)節(jié)點(diǎn)中的特定計(jì)算起點(diǎn)節(jié)點(diǎn),在所述各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中,位于所述特定計(jì)算起點(diǎn)節(jié)點(diǎn)下游的節(jié)點(diǎn)的數(shù)量最多;最短路徑計(jì)算步驟,使用其他節(jié)點(diǎn)之間的已計(jì)算出的最短路徑和所述拓?fù)湫畔?,?jì)算以所述特定計(jì)算起點(diǎn)節(jié)點(diǎn)為起點(diǎn)且以所述多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑;以及反復(fù)步驟,反復(fù)進(jìn)行如下一連串的動(dòng)作,直到針對全部所述特定節(jié)點(diǎn),以該特定節(jié)點(diǎn)為起點(diǎn)且以所述多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑的計(jì)算結(jié)束為止, 所述一連串的動(dòng)作是,檢索在所述最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于所述特定計(jì)算起點(diǎn)節(jié)點(diǎn)的單跳下游的全部節(jié)點(diǎn),追加該檢索到的節(jié)點(diǎn)作為所述計(jì)算起點(diǎn)節(jié)點(diǎn),然后,進(jìn)行所述檢索步驟、所述選擇步驟和所述最短路徑計(jì)算步驟。
5.一種計(jì)算裝置,該計(jì)算裝置針對由多個(gè)節(jié)點(diǎn)構(gòu)成的網(wǎng)絡(luò),使用節(jié)點(diǎn)之間的已計(jì)算出的最短路徑來計(jì)算其他節(jié)點(diǎn)之間的最短路徑,其特征在于,該計(jì)算裝置具有存儲(chǔ)單元,其存儲(chǔ)最短路徑組信息和拓?fù)湫畔?,所述最短路徑組信息通過多個(gè)節(jié)點(diǎn)和該多個(gè)節(jié)點(diǎn)的各節(jié)點(diǎn)之間的路徑來表示起點(diǎn)節(jié)點(diǎn)相同且終點(diǎn)節(jié)點(diǎn)不同的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑,所述拓?fù)湫畔⒈硎舅龆鄠€(gè)節(jié)點(diǎn)的拓?fù)?;以及?jì)算單元,其按照在所述最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于特定節(jié)點(diǎn)下游的節(jié)點(diǎn)的數(shù)量從多到少的順序,選擇所述多個(gè)節(jié)點(diǎn)中與所述起點(diǎn)節(jié)點(diǎn)不同的每一個(gè)所述特定節(jié)點(diǎn),每次選擇所述特定節(jié)點(diǎn)時(shí),使用其他節(jié)點(diǎn)之間的已計(jì)算出的最短路徑和所述拓?fù)湫畔ⅲ?jì)算以該選擇出的特定節(jié)點(diǎn)為起點(diǎn)且以所述多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑。
6.根據(jù)權(quán)利要求5所述的計(jì)算裝置,其特征在于, 所述計(jì)算單元執(zhí)行以下處理檢索處理,檢索在所述最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于所述起點(diǎn)節(jié)點(diǎn)的單跳下游的全部節(jié)點(diǎn),作為屬于所述特定節(jié)點(diǎn)的計(jì)算起點(diǎn)節(jié)點(diǎn);選擇處理,選擇所述計(jì)算起點(diǎn)節(jié)點(diǎn)中的特定計(jì)算起點(diǎn)節(jié)點(diǎn),在所述各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中,位于所述特定計(jì)算起點(diǎn)節(jié)點(diǎn)下游的節(jié)點(diǎn)的數(shù)量最多;最短路徑計(jì)算處理,使用其他節(jié)點(diǎn)之間的已計(jì)算出的最短路徑和所述拓?fù)湫畔ⅲ?jì)算以所述特定計(jì)算起點(diǎn)節(jié)點(diǎn)為起點(diǎn)且以所述多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑;以及反復(fù)處理,反復(fù)進(jìn)行如下一連串的動(dòng)作,直到針對全部所述特定節(jié)點(diǎn),以該特定節(jié)點(diǎn)為起點(diǎn)且以所述多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑的計(jì)算結(jié)束為止, 所述一連串的動(dòng)作是,檢索在所述最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于所述特定計(jì)算起點(diǎn)節(jié)點(diǎn)的單跳下游的全部節(jié)點(diǎn),追加該檢索到的節(jié)點(diǎn)作為所述計(jì)算起點(diǎn)節(jié)點(diǎn),然后,進(jìn)行所述檢索處理、所述選擇處理和所述最短路徑計(jì)算處理。
全文摘要
在本發(fā)明的計(jì)算裝置(1)進(jìn)行的路徑計(jì)算順序決定方法中,針對由多個(gè)節(jié)點(diǎn)構(gòu)成的網(wǎng)絡(luò),存儲(chǔ)最短路徑組信息和拓?fù)湫畔?,最短路徑組信息通過多個(gè)節(jié)點(diǎn)和該多個(gè)節(jié)點(diǎn)中的各節(jié)點(diǎn)之間的路徑來表示起點(diǎn)節(jié)點(diǎn)相同且終點(diǎn)節(jié)點(diǎn)不同的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑,拓?fù)湫畔⒈硎径鄠€(gè)節(jié)點(diǎn)的拓?fù)?,按照在最短路徑組信息表示的各節(jié)點(diǎn)之間的已計(jì)算出的最短路徑中位于特定節(jié)點(diǎn)下游的節(jié)點(diǎn)的數(shù)量從多到少的順序,選擇多個(gè)節(jié)點(diǎn)中與起點(diǎn)節(jié)點(diǎn)不同的每一個(gè)特定節(jié)點(diǎn),每次選擇特定節(jié)點(diǎn)時(shí),使用其他節(jié)點(diǎn)之間的已計(jì)算出的最短路徑和拓?fù)湫畔ⅲ?jì)算以該選擇出的特定節(jié)點(diǎn)為起點(diǎn)且以多個(gè)節(jié)點(diǎn)中的其他各節(jié)點(diǎn)為終點(diǎn)的各節(jié)點(diǎn)之間的最短路徑。
文檔編號(hào)H04L12/56GK102210128SQ20098014496
公開日2011年10月5日 申請日期2009年11月18日 優(yōu)先權(quán)日2008年11月19日
發(fā)明者巖田英明, 杉園幸司, 青木道宏 申請人:日本電信電話株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1