JP4398455B2 - 経路探索方法、プログラム及びシステム - Google Patents
経路探索方法、プログラム及びシステム Download PDFInfo
- Publication number
- JP4398455B2 JP4398455B2 JP2006345224A JP2006345224A JP4398455B2 JP 4398455 B2 JP4398455 B2 JP 4398455B2 JP 2006345224 A JP2006345224 A JP 2006345224A JP 2006345224 A JP2006345224 A JP 2006345224A JP 4398455 B2 JP4398455 B2 JP 4398455B2
- Authority
- JP
- Japan
- Prior art keywords
- vertex
- graph
- limit value
- landmarks
- vertices
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Navigation (AREA)
- Instructional Devices (AREA)
- Traffic Control Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
そこで、計算量の点でより改善された、さまざまな技法が提案されてきた。そのようなものの1つとして、A*探索と呼ばれる技法がある。これは、予め計算された任意の2頂点間の最短経路長の上下限値を利用して、最短経路の計算を高速化するものであり、具体的には、下記のような技法である。
先ず、初期設定として、始点sから終点tまでの最短経路を求めたい場合、各頂点vについて以下のように定める。
k(v): v=s のとき k(s):=π(s)、v≠sのときk(v):=∞;
d(v): v=s のとき d(v):=0、v≠sのときd(v):=∞;
prev(v) = NULL;
頂点集合 S = {s};
そうして、次のようにして探索処理を行う。
while( Sが空でない ) {
S から k(v)の値が最も小さい頂点vを除去;
for(vから出ている全ての枝(v,w) について以下の操作を行う) {
if( k(w) > k(v) + w(v,w) - π(v) + π(w)) {
k(w) := k(v) + w(v,w) -π(v)+π(w);
d(w) := d(v) + w(v,w);
prev(w) := v;
if (d(w)+π(w) <= min(d(s,t) の上限値, d(t)))
{ S ← S ∪{w}; }
}
}
}
最後に、d(t) に入っている値が最短経路長になる。
また、prev(t) に入っている頂点を t'、prev(t')に入っている頂点を t'' ・・・とすると、 t←t'←t''←・・・←s が最短経路になる。
この手法では、グラフ上の少数(十数個)の頂点を「ランドマーク」として選択し、ランドマークから各頂点への最短経路長を記憶しておく。そして、記憶しておいた最短経路長を利用して任意の2頂点間の最短経路長の下限値を算出し、A*探索による探索を高速化する手法である。
この手法では、グラフを多数のクラスターに分割し、各クラスター間の最短経路長を定義し、記憶しておく。そして、記憶しておいた最短経路長を利用して、任意の2頂点間の最短経路長の上限値と下限値を算出し、最短経路長の上限値による枝刈りとA*探索を組み合わせて高速化する手法である。
[1] Computing the Shortest Path: A* Search Meets Graph Theory by A. V. Goldberg and C. Harrelson, in Proceedings of 16th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA '05), Vancouver, Canada, 2005. [2] Goal Directed Shortest Path Queries Using Precomputed Cluster Distances by Jens Maue, Peter Sanders, Domagoj Matijevic, in Proceedings of the 5th International Workshop on Experimental Algorithms (WEA-06), LNCS 4007, 316-327, Springer, 2006.
より詳しくは、この発明の目的は、A*探索を用いた経路探索において、任意の2頂点間の最短経路長の上下限値の精度を向上させることによって、経路探索を高速化することにある。
すなわち、先ず、経路探索される、もととなる重み付きグラフに対して、ランドマークを生成し、上下限値の計算に必要な情報が予め、計算される。
次に、最短経路長の上下限値が計算される。特に、本発明は、この計算のために、頂点vの近くのランドマークLvと、頂点wの近くのランドマークLwの4点で構成される四角不等式に着目するものであり、下記のような式が、上下限値の計算に利用される。
d(v,w)の下限値:d(v,w)>=d(Lv,Lw)-d(Lv,v)-d(w,Lw)
d(v,w)の上限値:d(v,w)<=d(v,Lv)+d(Lv,Lw)+d(Lw,w)
これらの不等式の右辺の値は全て、上記のランドマークの生成に関連して、予め計算され保存されていることに留意されたい。
この上限値と、下限値の計算ルーチンは、後のA*探索に適宜呼び出されて利用される。
これを、例えば、C言語の構造体で記述すると、下記のようになる。
struct Node {
int NodeID; // 頂点番号
int *adjNodeList[]; // 隣接する頂点の頂点番号を配列として記憶
double *adjDistanceList[]; // 隣接する頂点までの距離を配列として記憶
};
図4の頂点1に、この構造体を適用すると、NodeID = 1, *adjNodeList = {2,5,8}, *adjDistanceList = {4.0, 5.0, 2.5} となる。
・グラフに配置された頂点を全て含む最小の矩形を取る。
・矩形を縦横それぞれの辺に平行な、矩形の中心を通る2本の直線で田の字に4等分する。
・分割されたそれぞれの領域が規定数以上の頂点を含んでいれば、再度4等分する。
・以後これを繰り返す。
・以上の手続きが終了後、各小領域の中心部に最も近い頂点をランドマークとして選択する。
尚、ここでグラフの各頂点vというとき、ランドマークとして選ばれた頂点自体も除外されないことに留意されたい。
d(Lv,v) + d(Lv,Lw) + d(w,Lw) >= d(v,w)
この式から、d(Lv,v) + d(Lv,Lw) + d(w,Lw)は、常にd(v,w)より大きいと言えるので、d(Lv,v) + d(Lv,Lw) + d(w,Lw)の上限を以って、d(v,w)の上限とすることができる。図7のフローチャートでは、この式を用いて、d(v,w)の上限値が計算される。
d(Lv,v) + d(v,w) + d(w,Lw) >= d(Lv,Lw)
これから、d(v,w) >= d(Lv,Lw) - d(Lv,v) - d(w,Lw)
この式から、d(Lv,Lw) - d(Lv,v) - d(w,Lw)は常にd(v,w)より小さいと言えるので、d(Lv,Lw) - d(Lv,v) - d(w,Lw)の下限を以って、d(v,w)の下限とすることができる。図8のフローチャートでは、この式を用いて、d(v,w)の下限値が計算される。
図7のステップ702では、MaxValという変数が、初期的に0にセットされる。この変数は、例えば、C言語だと、倍精度浮動小数点のdoubleとして宣言されるものである。
このとき、k'v<=kv, k'w<=kwである。
本発明者のさまざまな試行により、k'v = k, k'w = 1の設定が良好な結果をもたらすことが分かった。
図8のステップ802では、MinValという変数が、初期的に∞にセットされる。この変数は、例えば、C言語だと、倍精度浮動小数点のdoubleとして宣言されるものである。コンピュータの変数の値で、∞ということは現実的にはあり得ないが、ここでは、グラフの経路長としてとり得る値よりも十分大きい値を予めセットしておくものとする。
下記の擬似コードで、頂点 v, w について d(v,w) は、vからwへの最短経路長を表すものとする。また、w(v,w)を、vとwを結ぶ枝の長さとする。
先ず、始点sから終点tまでの最短経路を求めるとして、各頂点vについて以下のように定める。
ここで、π(v)をd(v,t) の下限値とする。その下限値は、図11のフローチャートにおいて、ステップ1108で、v,tに関して下限値計算部216を呼び出すことにより、求められる。
更に、初期設定として、始点sから終点tまでの最短経路を求めたい場合、各頂点vについて以下のように定める。
k(v): v=s のとき k(s):=π(s)、v≠sのときk(v):=∞;
d(v): v=s のとき d(v):=0、v≠sのときd(v):=∞;
prev(v) = NULL;
頂点集合 S = {s};
そうして、次のようにして探索処理を行う。
while( Sが空でない ) {
S から k(v)の値が最も小さい頂点vを除去;
for(vから出ている全ての枝(v,w) について以下の操作を行う) {
if( k(w) > k(v) + w(v,w) - π(v) + π(w)) {
k(w) := k(v) + w(v,w) -π(v)+π(w);
d(w) := d(v) + w(v,w);
prev(w) := v;
if(d(w)+π(w) <= min(d(s,t) の上限値, d(t)))
{ S ← S ∪{w}; }
}
}
}
最後に、d(t) に入っている値が最短経路長になる。また、この擬似コードで示す処理において、d(s,t) の上限値を求める際に、図11のステップ1106に示すように、s,tに関して上限値計算部214が呼び出される。
このとき、prev(t) に入っている頂点を t'、prev(t')に入っている頂点を t'' ・・・とすると、 t←t'←t''←・・・←s が最短経路になる。
・グラフに配置された頂点を全て含む最小の矩形を取る。
・矩形を縦横それぞれの辺に平行な、矩形の中心を通る2本の直線で田の字に4等分する。
・分割されたそれぞれの領域が規定数以上の頂点を含んでいれば、再度4等分する。
・以後これを繰り返す。
・以上の手続きが終了後、各小領域の中心部に最も近い頂点をランドマークとして選択する。
下記のようにグラフ4に、文献[2]の方法と、本実施例の方法を適用した結果は、やはり、本実施例の方法が実質的に優れた効果を奏することを示している。この実施例は、前処理後の必要記憶量という意味でも、文献[2]の方法より優れていることが示されている。
Claims (19)
- 記憶手段をもつコンピュータにより、A * 探索アルゴリズムによって、複数の頂点をもつ重み付きグラフ上で、頂点v,w間の最短経路長d(v,w)の上限値と下限値を利用して経路探索するための、グラフ上でのデータ処理プログラムであって、
コンピュータにより、
前記グラフの頂点のうちの複数の頂点をランドマークとして選択する機能と、
前記ランドマークとして選択された頂点Lv, Lw間の最短経路長d(Lv, Lw)の値を計算して、前記記憶手段に記憶する機能と、
前記グラフの頂点vの、最短経路長に関して近くの1つまたは複数のランドマークLvを選択して、前記頂点vから前記ランドマークLvへ最短経路長d(v, Lv)の値を計算して、前記記憶手段に記憶する機能と、
前記グラフの頂点v,wにつき、前記頂点vに関して選択された1つまたは複数のランドマークLvと、前記頂点wに関して選択された1つまたは複数のランドマークLwに関して、前記記憶手段から値を読み出すことにより、d(Lv,v) + d(Lv,Lw) + d(w,Lw)の上限値を計算し、d(v,w)の上限値として提供する機能と、
前記グラフの頂点v,wにつき、前記頂点vに関して選択された1つまたは複数のランドマークLvと、前記頂点wに関して選択された1つまたは複数のランドマークLwに関して、前記記憶手段から値を読み出すことにより、d(Lv,Lw) - d(Lv,v) - d(w,Lw)の下限値を計算し、d(v,w)の下限値として提供する機能を実現する、
プログラム。 - 前記グラフの頂点の総数をNとしたとき、前記ランドマークの個数が、N1/2個以上選ばれる、請求項1のプログラム。
- 前記グラフの頂点vの、最短経路長に関して近くのランドマークとして、4個のランドマークが選ばれる、請求項1のプログラム。
- 前記上限値または下限値の計算ステップにおいて、前記グラフの頂点v,wに関して、該頂点vに関連して4個のランドマークが選ばれ、該頂点wに関連して1個のランドマークが選ばれる、請求項1のプログラム。
- コンピュータにより、A * 探索アルゴリズムによって、重み付きグラフ上で、頂点v,w間の最短経路長d(v,w)の上限値と下限値を利用して経路探索するための、グラフのデータ処理システムであって、
データを読み出し可能に記録可能な記憶手段と、
グラフの全頂点データを読み出し可能に保持する頂点データ保持手段と、
前記頂点データ保持手段から頂点データを読み取り、前記グラフの頂点のうちの複数の頂点をランドマークとして選択する手段と、
前記選択されたランドマークの情報に基づき、前記ランドマークとして選択された頂点Lv, Lw間の最短経路長d(Lv, Lw)の値を計算し、前記記憶手段に記録する手段と、
前記全頂点データと、前記選択されたランドマークの情報に基づき、前記グラフの頂点vの、最短経路長に関して近くの1つまたは複数のランドマークLvを選択して、前記頂点vから前記ランドマークLvへ最短経路長d(v, Lv)の値を計算し、前記記憶手段に記録するする手段と、
前記グラフの頂点v,wにつき、前記頂点vに関して選択された1つまたは複数のランドマークLvと、前記頂点wに関して選択された1つまたは複数のランドマークLwに関して、前記記憶手段から値を読み出すことにより、d(Lv,v) + d(Lv,Lw) + d(w,Lw)の上限値を計算する手段と、
前記グラフの頂点v,wにつき、前記頂点vに関して選択された1つまたは複数のランドマークLvと、前記頂点wに関して選択された1つまたは複数のランドマークLwに関して、前記記憶手段から値を読み出すことにより、d(Lv,Lw) - d(Lv,v) - d(w,Lw)の下限値を計算する手段とを有する、
データ処理システム。 - 前記グラフの頂点の総数をNとしたとき、前記ランドマークの個数が、N1/2個以上選ばれる、請求項5のデータ処理システム。
- 前記グラフの頂点vの、最短経路長に関して近くのランドマークとして、4個のランドマークが選ばれる、請求項5のデータ処理システム。
- 前記上限値または下限値の計算ステップにおいて、前記グラフの頂点v,wに関して、該頂点vに関連して4個のランドマークが選ばれ、該頂点wに関連して1個のランドマークが選ばれる、請求項5のデータ処理システム。
- 記憶手段をもつコンピュータにより、A * 探索アルゴリズムによって、重み付きグラフ上で、頂点v,w間の最短経路長d(v,w)の上限値と下限値を利用して経路探索するための、グラフ上でのデータ処理方法であって、
前記コンピュータの処理により、前記グラフの頂点のうちの複数の頂点をランドマークとして選択するステップと、
前記コンピュータの処理により、前記ランドマークとして選択された頂点Lv, Lw間の最短経路d(Lv, Lw)を計算して、前記記憶手段に記憶するステップと、
前記コンピュータの処理により、前記グラフの頂点vの、最短経路長に関して近くの1つまたは複数のランドマークLvを選択して、前記頂点vから前記ランドマークLvへ最短経路d(v, Lv)を計算して、前記記憶手段に記憶するステップと、
前記コンピュータの処理により、前記グラフの頂点v,wにつき、前記頂点v関して選択された1つまたは複数のランドマークLvと、前記頂点wに関して選択された1つまたは複数のランドマークLwに関して、前記記憶手段から値を読み出すことにより、d(Lv,v) + d(Lv,Lw) + d(w,Lw)の上限値を計算し、d(v,w)の上限値として提供するステップと、
前記コンピュータの処理により、前記グラフの頂点v,wにつき、前記頂点vに関して選択された1つまたは複数のランドマークLvと、前記頂点wに関して選択された、1つまたは複数のランドマークLwに関して、前記記憶手段から値を読み出すことにより、d(Lv,Lw) - d(Lv,v) - d(w,Lw)の下限値を計算し、d(v,w)の下限値として提供するステップとを有する、
データ処理方法。 - 前記グラフの頂点の総数をNとしたとき、前記ランドマークの個数が、N1/2個以上選ばれる、請求項9の方法。
- 前記グラフの頂点vの、最短経路長に関して近くのランドマークとして、4個のランドマークが選ばれる、請求項9の方法。
- 前記上限値または下限値の計算ステップにおいて、前記グラフの頂点v,wに関して、該頂点vに関連して4個のランドマークが選ばれ、該頂点wに関連して1個のランドマークが選ばれる、請求項9の方法。
- 前記複数の頂点をランドマークとして選択するステップが、
グラフに配置された頂点を全て含む最小の矩形を取るステップと、
矩形を縦横それぞれの辺に平行な、矩形の中心を通る2本の直線で田の字に4等分するステップと、
分割されたそれぞれの領域が規定数以上の頂点を含んでいれば、再度4等分するステップを繰り返し、前記ステップの手続きが終了後、各小領域の中心部に最も近い頂点をランドマークとして選択するステップを有する、請求項9の方法。 - コンピュータにより、A * 探索アルゴリズムによって、重み付きグラフ上で、経路探索するためのシステムにおいて、
前記グラフの全頂点のデータを読み出し可能に記憶するグラフ頂点記憶手段と、
前記グラフの全頂点のうち、ランドマークとして選択された頂点Lv, Lw間の最短経路長d(Lv, Lw)の値を読み出し可能に記録するランドマーク記憶手段と、
前記グラフの頂点vと、該頂点vの、1つまたは複数の近傍のランドマークLwの間の最短経路長d(v, Lw)の値を読み出し可能に記録する近傍ランドマーク記憶手段と、
前記グラフの頂点v,wにつき、前記頂点v関して選択された1つまたは複数のランドマークLvと、前記頂点wに関して選択された1つまたは複数のランドマークLwに関して、前記ランドマーク記憶手段と前記近傍ランドマーク記憶手段から値を読み出すことにより、d(Lv,v) + d(Lv,Lw) + d(w,Lw)の上限値を計算しその値を返す上限値計算手段と、
前記グラフの頂点v,wにつき、前記頂点vに関して選択された1つまたは複数のランドマークLvと、前記頂点wに関して選択された1つまたは複数のランドマークLwに関して、前記ランドマーク記憶手段と前記近傍ランドマーク記憶手段から値を読み出すことにより、d(Lv,Lw) - d(Lv,v) - d(w,Lw)の下限値を計算しその値を返す下限値計算手段と、
グラフの始点と終点を受け取り、前記上限値計算手段と前記下限値計算手段を呼び出すことにより、頂点v,w間の最短経路長d(v,w)の上限値と下限値を利用してA*探索を行い、該始点と終点の間の最短経路を含む探索結果を出力する経路探索手段とを有する、
システム。 - 前記グラフの始点と終点を受け取り、前記下限値計算手段を呼び出すことにより、前記グラフの始点から終点への下限値と、前記グラフの終点から始点への下限値を計算して比較し、前記グラフの始点から終点への下限値が、前記グラフの終点から始点への下限値より大きいことに応答して、前記始点と終点とを入れ替えて前記経路探索手段に渡す探索方向決定手段をさらに有する、請求項14のシステム。
- 複数のランドマークを選択された重み付きグラフ上で、A * 探索アルゴリズムによって、頂点と前記ランドマークの間の最短経路長を記録する記憶手段をもつコンピュータにより、経路探索するためのプログラムであって、
コンピュータにより、
グラフの頂点v,wにつき、前記頂点vの近傍として選択された1つまたは複数のランドマークLvと、前記頂点wの近傍として選択された1つまたは複数のランドマークLwに関して、前記記憶手段から値を読み出すことにより、d(Lv,v) + d(Lv,Lw) + d(w,Lw)の上限値を計算しその値を返す機能と、
前記グラフの頂点v,wにつき、前記頂点vの近傍として選択された1つまたは複数のランドマークLvと、前記頂点wの近傍として選択された1つまたは複数のランドマークLwに関して、前記記憶手段から値を読み出すことにより、d(Lv,Lw) - d(Lv,v) - d(w,Lw)の下限値を計算しその値を返す機能と、
グラフの始点と終点を受け取り、前記上限値を計算しその値を返す機能と、前記下限値を計算しその値を返す機能を呼び出すことにより、頂点v,w間の最短経路長d(v,w)の上限値と下限値を利用してA*探索を行い、該始点と終点の間の最短経路を含む探索結果を出力する経路探索機能とを実現する、
プログラム。 - 前記コンピュータにより、
前記グラフの始点と終点を受け取り、前記下限値計算手段を呼び出すことにより、前記グラフの始点から終点への下限値と、前記グラフの終点から始点への下限値を計算して比較し、前記グラフの始点から終点への下限値が、前記グラフの終点から始点への下限値より大きいことに応答して、前記始点と終点とを入れ替えて前記経路探索機能に渡す探索方向決定機能をさらに実現する、請求項16のプログラム。 - 複数のランドマークを選択された重み付きグラフ上で、A * 探索アルゴリズムによって、頂点と前記ランドマークの間の最短経路長を記録する記憶手段をもつコンピュータにより、経路探索するための経路探索方法であって、
コンピュータの処理により、グラフの頂点v,wにつき、前記頂点vの近傍として選択された1つまたは複数のランドマークLvと、前記頂点wの近傍として選択された1つまたは複数のランドマークLwに関して、前記記憶手段から値を読み出すことにより、d(Lv,v) + d(Lv,Lw) + d(w,Lw)の上限値を計算しその値を返す上限値計算ステップと、
コンピュータの処理により、前記グラフの頂点v,wにつき、前記頂点vの近傍として選択された1つまたは複数のランドマークLvと、前記頂点wの近傍として選択された1つまたは複数のランドマークLwに関して、前記記憶手段から値を読み出すことにより、d(Lv,Lw) - d(Lv,v) - d(w,Lw)の下限値を計算しその値を返す下限値計算ステップと、
コンピュータの処理により、グラフの始点と終点を受け取り、前記上限値計算ステップと前記下限値計算ステップにより、頂点v,w間の最短経路長d(v,w)の上限値と下限値を計算してA*探索を行い、該始点と終点の間の最短経路を含む探索結果を出力するステップとを有する、
方法。 - 前記グラフの始点と終点を受け取り、前記下限値計算手段を呼び出すことにより、前記グラフの始点から終点への下限値と、前記グラフの終点から始点への下限値を計算して比較し、前記グラフの始点から終点への下限値が、前記グラフの終点から始点への下限値より大きいことに応答して、前記始点と終点とを入れ替えて前記経路探索を出力するステップに渡すステップをさらに有する、請求項18の方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006345224A JP4398455B2 (ja) | 2006-12-22 | 2006-12-22 | 経路探索方法、プログラム及びシステム |
US11/963,826 US8214527B2 (en) | 2006-12-22 | 2007-12-22 | Fast algorithm for peer-to-peer shortest path problem |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006345224A JP4398455B2 (ja) | 2006-12-22 | 2006-12-22 | 経路探索方法、プログラム及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008157698A JP2008157698A (ja) | 2008-07-10 |
JP4398455B2 true JP4398455B2 (ja) | 2010-01-13 |
Family
ID=39544539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006345224A Expired - Fee Related JP4398455B2 (ja) | 2006-12-22 | 2006-12-22 | 経路探索方法、プログラム及びシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8214527B2 (ja) |
JP (1) | JP4398455B2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7457286B2 (en) * | 2003-03-31 | 2008-11-25 | Applied Micro Circuits Corporation | Accelerating the shortest path problem |
CA2940960A1 (en) | 2008-12-02 | 2010-06-10 | Ab Initio Technology Llc | Visualizing relationships between data elements and graphical representations of data element attributes |
CA2743170C (en) | 2009-05-13 | 2019-05-07 | International Business Machines Corporation | Process scheduling system, method, and program |
US8296327B2 (en) * | 2009-05-28 | 2012-10-23 | Microsoft Corporation | Short paths in web graphs with small query time |
DE112011103424B4 (de) | 2010-11-26 | 2019-07-04 | International Business Machines Corporation | System und Verfahren zum Auswählen von Routen |
US9026517B2 (en) | 2012-12-13 | 2015-05-05 | International Business Machines Corporation | Searching a vertex in a path |
US10216828B2 (en) * | 2014-03-05 | 2019-02-26 | Ayasdi, Inc. | Scalable topological summary construction using landmark point selection |
US10002180B2 (en) * | 2014-03-05 | 2018-06-19 | Ayasdi, Inc. | Landmark point selection |
EP2916268A1 (en) * | 2014-03-05 | 2015-09-09 | Fujitsu Limited | A computer-implemented k-shortest path finding method |
WO2015134814A1 (en) | 2014-03-05 | 2015-09-11 | Ayasdi, Inc. | Systems and methods for capture of relationships within information |
US10740702B2 (en) | 2016-01-08 | 2020-08-11 | Oracle International Corporation | Method, system, and non-transitory computer-readable medium for reducing computation time in one-to-many path searching using heuristics and limited boundary adjustment |
JP7170638B2 (ja) * | 2016-12-01 | 2022-11-14 | アビニシオ テクノロジー エルエルシー | 系統メタデータの生成、アクセス、及び表示 |
CN108154254B (zh) * | 2017-07-24 | 2022-04-05 | 南京交通职业技术学院 | 基于改进型a*算法的物流配送车辆调度方法 |
CN109144067B (zh) * | 2018-09-17 | 2021-04-27 | 长安大学 | 一种智能清洁机器人及其路径规划方法 |
CN112836078B (zh) * | 2021-02-20 | 2021-10-22 | 山东省计算中心(国家超级计算济南中心) | 一种图上最短路径安全查询方法、装置、系统及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4823111A (en) * | 1988-02-22 | 1989-04-18 | The Mitre Corporation | Landmark hierarchy method for routing signals in a communications network |
US6098107A (en) * | 1997-10-31 | 2000-08-01 | Lucent Technologies Inc. | Dynamic algorithms for shortest path tree computation |
US20060047421A1 (en) | 2004-08-25 | 2006-03-02 | Microsoft Corporation | Computing point-to-point shortest paths from external memory |
US7777125B2 (en) * | 2004-11-19 | 2010-08-17 | Microsoft Corporation | Constructing a table of music similarity vectors from a music similarity graph |
US20070156330A1 (en) * | 2005-12-29 | 2007-07-05 | Microsoft Corporation | Point-to-point shortest path algorithm |
-
2006
- 2006-12-22 JP JP2006345224A patent/JP4398455B2/ja not_active Expired - Fee Related
-
2007
- 2007-12-22 US US11/963,826 patent/US8214527B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008157698A (ja) | 2008-07-10 |
US20080155119A1 (en) | 2008-06-26 |
US8214527B2 (en) | 2012-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4398455B2 (ja) | 経路探索方法、プログラム及びシステム | |
US10593110B2 (en) | Method and device for computing a path in a game scene | |
US8824337B1 (en) | Alternate directions in hierarchical road networks | |
JP2011007713A (ja) | 多点対間最短経路探索方法およびシステム | |
US8090745B2 (en) | K-nearest neighbor search method, k-nearest neighbor search program, and k-nearest neighbor search device | |
US8364717B2 (en) | Hardware accelerated shortest path computation | |
EP2565583B1 (en) | Navigation device, method of outputting a map, and method of generating a database | |
US20130231862A1 (en) | Customizable route planning | |
CN105765576B (zh) | 使用数据结构处理搜索查询 | |
JP5237837B2 (ja) | 空間データ管理装置、空間データ管理方法、および、空間データ管理プログラム | |
CN110926491B (zh) | 一种用于最短路径的规划方法和系统 | |
CN106156138B (zh) | 兴趣点的空间索引的建立、周边搜索方法和装置 | |
JP2006201174A (ja) | 外部メモリからのポイント−ポイントの最短パスの計算 | |
Darwish et al. | Optimal time-space tradeoff for the 2D convex-hull problem | |
CN112269848A (zh) | 一种众包轨迹数据融合方法及装置 | |
JP5132694B2 (ja) | データ生成装置、データ生成方法及び経路探索装置 | |
KR102006283B1 (ko) | 패스트맵을 이용한 데이터셋의 m-트리 적재방법 | |
JP2010523951A (ja) | 道路セグメントのディレクトリの作成方法、探索領域内のすべての道路セグメントの検出方法、およびコンピュータプログラム | |
CN113159356A (zh) | 路线规划方法、装置、终端设备及存储介质 | |
Chondrogiannis et al. | Exploring graph partitioning for shortest path queries on road networks | |
CN117354229A (zh) | 网络路径确定方法、装置、计算机设备和存储介质 | |
Laha et al. | Parallel algorithms for identifying convex and non-convex basis polygons in an image | |
JPH03240168A (ja) | 図形データ検策・格納方法 | |
CN115080678A (zh) | 定位地图建立方法、装置及电子设备 | |
RU2579014C2 (ru) | Способ индексации и пространственного поиска данных на основе хэширования |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090622 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20090622 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20090721 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090728 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090914 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091020 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091022 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121030 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121030 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131030 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |