JP3289240B2 - グラフ探索方法及び装置 - Google Patents

グラフ探索方法及び装置

Info

Publication number
JP3289240B2
JP3289240B2 JP21129391A JP21129391A JP3289240B2 JP 3289240 B2 JP3289240 B2 JP 3289240B2 JP 21129391 A JP21129391 A JP 21129391A JP 21129391 A JP21129391 A JP 21129391A JP 3289240 B2 JP3289240 B2 JP 3289240B2
Authority
JP
Japan
Prior art keywords
path
partial
length
route
graph
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
Application number
JP21129391A
Other languages
English (en)
Other versions
JPH0546590A (ja
Inventor
宏 丸山
浩一 武田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP21129391A priority Critical patent/JP3289240B2/ja
Publication of JPH0546590A publication Critical patent/JPH0546590A/ja
Application granted granted Critical
Publication of JP3289240B2 publication Critical patent/JP3289240B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】
【0002】本発明は、グラフの最短経路を求めるグラ
フ探索方法に関わり、特に複数の最短経路を求めるのに
有効なグラフ探索方法に関する。
【0003】
【従来の技術】2点間の、距離的、時間的、価格的な最
短経路を求める問題はグラフ探索方法の一つである。例
えば通信回線の利用者が、A地点からB地点までの最も
コストの安い通信経路に加えて、2番目に安い通信経
路、3番目に安い通信経路、...を即座に見出すことが
できれば、通信回線を利用するに際しての選択の自由度
が高まる。また、ナビゲーション・システムにおいて、
現在地から目的地までの所要時間について例えば上位の
複数のルートが即座に得られれば、運転者は他の条件も
加味しながらそれらのルートのいずれかを選択すること
ができる。あるいはまた、機械翻訳の分野において、日
本語の形態素解析はグラフの最短経路問題として定式化
することがでる。その場合、与えられた文について形式
上複数の解釈が成り立つとき、最もありえそうな解釈、
2番目にありそうな解釈、...を求めることが重要であ
る。
【0004】このような、グラフの最短経路アルゴリズ
ムとして最も良く知られたものはダイクストラ(Dijkst
ra)のアルゴリズムである。このアルゴリズムは非負の
コストをもつ有効グラフの最短経路を、O(elogn)の時間
で計算する。但し、eはグラフの辺の数、nは頂点の数で
ある。このアルゴリズムは高速であるが、同時に複数す
なわち、第2位、第3位、...の最短経路も求めること
はできない。なお、このダイクストラのアルゴリズムの
詳細は、例えば、Aho,A.V.他著、"Data
Structures and Algorithm
s",pp204−208,Addison−Wesl
ey,1983 に開示されている。
【0005】一方、複数の解を高速に求める手法として
ビームサーチがあるが、ビームサーチでは部分経路のコ
ストをもとにして枝刈りをするため、求まった解が最適
である保証が失われてしまう。なお、このビームサーチ
の詳細は、Winston,P.H.他著、"Arti
ficial Intelligence−Secon
d Edition",pp−96−97,Addis
on−Wesley,1984 に開示されている。
【0006】縦型探索、横型探索、あるいは最良優先探
索などの手法を用いれば、最適性の保証された複数の解
を求めることができるが、一般に、これらのアルゴリズ
ムの処理にはグラフのサイズの指数関数のオーダーの時
間がかかるので、実用可能な分野が狭く、望ましくな
い。なお、最良優先探索の詳細は、Bar,A.他
著、"The Handbook of Artifi
cial Intelligence", Willi
am Kaufman,1981に開示されている。
【0007】同様な効果を狙った発明として、特開昭64
-48127公報や特開昭63-170776公報に記載の発明がある
が、どちらも探索の順序を発見的な予測値を用いて制御
するものであり、解の最適性または計算量のいずれかが
損なわれる。一方、特開昭62-32516の発明は各頂点に予
め終点までの距離を記憶しておくものであるが、その値
の最小性が保証されないこと、及び複数解を求める手法
が無いこと等の問題がある。
【発明が解決しようとする課題】
【0008】このように、従来、解の複数性、最適性、
処理の高速性を同時に満足するグラフ探索手法は存在し
ない。本発明は、最適性の保証された複数個の解を高速
に発見するグラフ探索手法を提供することを目的とす
る。
【課題を解決するための手段】
【0009】本発明は、グラフの最短経路を求める効率
的な手法として、頂点間の辺に実数値のコストが付いた
有向グラフ の任意の頂点と終点tとの最短コストを算出
し、前記有向グラフGの始点sからの部分経路を、始点s
からのコストの累積と、残りの経路の前記最短コストと
の和に基づき、設定された解析条件に従って下位を枝刈
りしながら、逐次的に経路展開し、探索が終了した時点
で前記保持されている複数の最適な経路を出力する、こ
とを特徴とする。本発明によれば、予め残りの経路の最
短コストを算出し、これに始点からのコストの累積を加
えつつ、解析条件に従って複数の経路について展開する
ため、解の複数性と最適性が同時に確保され、しかも下
位のコスト値の経路を枝刈りしながら逐次的に展開する
ため、処理の高速性も確保される。
【実施例】
【0010】以下、本発明の実施例を説明する。まず、
最初に最短経路に関する用語を以下のように定義する。
グラフGを、辺が非負の実数値のコストを持つ有向グラ
フとする。グラフGは図1に示すように、n個の頂点s,
t, u, v,...と、これら頂点間を繋ぐ辺とを持つ。頂点u
から頂点vまでの辺<u,v>のコストをc[u ,v ]で表す。経
路pのコストcost(p)は、p上の辺のコストの合計であ
る。頂点sから頂点tまでの最短経路とは、sからtまでの
経路の中でコストが最小のものである。次に、上位N位
の最短経路を示すために、N-最短という概念を定義す
る。経路p0が、頂点sから頂点tまでの経路で、cost(p)<
cost(p0)となるようなsからtまでの他の経路pが高々N-1
個しか存在しなかったとする(但しN>0)。このとき、p0
は、N-最短であるという。
【0011】例えばsからtまで4つの経路が存在してそ
れぞれのコストが4, 5, 8, 5であるならば、コスト5の
二つの経路はどちらも2-最短である。通常の意味の最短
経路は1-最短な経路と等しい。
【0012】最短な経路が巡回経路を含むことはあり得
ない。しかし、N>1なるNについて、N-最短な経路が巡回
路を含むことはあり得る。
【0013】本発明のアルゴリズムは、n個の頂点を持
つグラフGと始点s、終点t、及び欲しい経路の数Nが与え
られた時に、O(n2N2logN)の時間計算量で、N個のN-最短
な経路を出力する。
【0014】ここで、ある頂点uから終点としての頂点t
までの最短経路のコストh(u)が分かっていたとしよう。
そして、ビームサーチの部分経路Xiの評価をいままでた
どった経路のコストg(Xi)と、今後にかかる最低のコス
トh(xi)の和f(Xi)=g(Xi)+h(xi)で行なう(図2)。以下、
このような経路展開を頂点tまで、コストが上位N位ま
での最短経路について逐次的に進めて行く(図3)。こ
こで、子文字の1〜nは部分経路Xが現在位置a、次の位
置a+1における頂点である。f(X1)が最小であるよう
な部分経路X1は、全体の最短経路の部分経路になってい
る。なぜなら、他の部分経路Xを通る経路は少なくともf
(X)(>=f(X1))のコストを持つことが保証されているから
である。
【0015】グラフGの各頂点に、ゴール頂点tまでの最
短コストを与えるには、例えば、ゴール頂点tを始点と
してダイクストラ法を逆方向に適用すれば良い。つま
り、本発明の全体の処理は大きく分けて、各頂点にゴー
ル頂点tまでの最短コストを割り当てる、始点sからゴー
ル頂点tに向けて、評価関数fを使ってビームサーチす
る、の2ステップからなる。
【0016】次に、本発明の具体的な実施例を、図4〜
図11及び表1により説明する。まず、図4は、本発明
のグラフ最短経路探索装置の全体的な機能構成を示すも
のである。1は、解析対象となるグラフや解析の条件な
どを入力する入力手段、2は、入力されたグラフを記
憶、保持するグラフ保持手段、3は、グラフの経路中の
各頂点と終点との最短コストを算出する最短コスト算出
手段、4は、入力されたグラフの最短経路を探索する経
路展開手段、5は、経路展開結果を保持する解析路保持
手段、6は、展開結果を出力する解析路出力手段であ
る。本発明のグラフ探索装置は、最短コスト算出手段や
経路展開手段等のの各機能を処理する専用のマイクロ・
プロセッサや、メモリ等によって構成してもよいが、汎
用のコンピュータと、その記憶装置に保持(save)
されたプログラムとを用いて構成してもよい。
【0017】図5は、汎用のコンピュータを用いて本発
明を実現した例を示す。図において、コンピュータ11
は、プロセッサ12、記憶装置13及び入出力チャネル
14を備えており、バス15を介して命令、指令あるい
はデータが相互に転送される。プロセッサ12は、演算
論理機構16及び制御機構17を有している。また、記
憶装置13は、データ・メモリ部18とプログラム・メ
モリ部19を有しており、データ・メモリ部18には、
グラフ保持手段2としてのグラフ記憶エリア20と、解
析路保持手段5としての経路記録エリア21とがある。
プログラム・メモリ部19に格納されたプログラムに
は、プロセッサ12と共に最短コスト算出手段3を構成
する最短コスト算出部22及び、プロセッサ12と共に
経路展開手段4を構成する経路展開部23とがある。2
4は、入出力制御装置であり、入力手段1としての入力
装置25、解析路出力手段6としての表示装置26や外
部記憶装置27と入出力チャネル14とを接続してい
る。プログラム・メモリ部19に格納されたプログラム
のアルゴリズムは表1に示すとおりである。
【0018】 表1 経路探索アルゴリズム グラフG、始点s、終点t、求める解の個数Nを入力する。 (1) Dijkstra法によって、 各頂点uにゴールまでの最短コストh[u]を与える。 (2) F ← {<s,0,h[s], null>} (3) while true (4) F' ←φ (5) Fの各要素X=<u,g,f,p>について (6) if u=ver(p)=t then F' ← F' ∪{X} (7) else v ∈ out[u]について (8) g' ← g + c[u,v] (9) f' ← g' + h[v] (10) p' ← X (11) F' ← minN(F' ∪ {<v,g',f',p'>}) (12) if F = F' then break (13) F ← F' (14) Fの各要素を逆にたどって、解経路を出力する (15)
【0019】次に、この表1のアルゴリズムを図8のフ
ロー・チャートによって詳細に説明する。まず、ステッ
プ802において、グラフG、始点s、終点t、求める解
の個数Nを入力する(アルゴリズムの1行)。これらの
入力値は、データ・メモリ部18のグラフ記憶エリア2
0に保持される。図6にこのデータ構造の様子を示し、
そのグラフ記憶エリアには、各頂点の相対アドレス30
とともに、グラフの内容32すなわち、 out[u] ... 頂点uからでる辺の行き先の頂点集合 c[u,v] ... 頂点uから頂点vへの辺のコスト が記憶される。また、各頂点には、 h[u] ... 頂点uから終点tへの最短コスト を記憶する領域が付与される。さらに対応する辺のリス
トへのポインタが示される。
【0020】次のステップ804で、各頂点uから終点t
までの最短コストh[u]を計算し、それをデータ・メモリ
部18の径路記憶エリア21に格納する(表1のアルゴ
リズムの(2)行)。径路記録エリアの構造は図7のとお
りであり、各頂点の相対アドレス30とともに、部分経
路の集合Fの内容34が記録される。その詳細について
は、後で述べる。
【0021】最短コストh[u]の計算は、例えば図9に示
すようなダイクストラ法によって行う。Sは、既にh[u]
が確定した頂点の集合である。終点tについては、常にh
[u]=0なのでtをSの初期値とする(ステップ90
2)。最短コストh[u]の計算は、まず、各頂点iのh[i]
を各頂点iから終点tへの辺のコストc[i,t]で初期化する
(ステップ904)。次に、各頂点iについて、頂点V
−Sの中でh[i]が最も小さい要素をwとし(ステップ9
08)、それをh[i]が確定した頂点の集合Sに加え(ス
テップ910)、頂点V−Sの各要素 vについて、min
(h[i],h[w]+c[v,w]を最短コストh[v]とする(ステッ
プ912)。なお、求める解の個数Nを入力するステッ
プ(図8のステップ802)は、最短コストを計算する
ステップ804の後であってもさしつかえない。
【0022】図8にもどって、ステップ806〜828
で経路展開を実行している。これは、表1のアルゴリズ
ムの(3)行から(14)行までに相当する。最初にFの内
容を初期化する(ステップ806)。Fは探索中にN個の
部分経路を記憶するする順序つきの集合である。Fの要
素は、<u,g,f,p>という4つ組みであり、 u ... 現在の頂点 g ... 今までの経路のコスト f ... g+h(u)(この部分経路を通る最短の経路のコ
スト) p ... 直前の経路 を表す4つ組みである。この4つ組みは、データ・メモ
リ部18の経路記録エリア21に格納される。従って、
Fの初期値は、uが始点s、gがゼロ、fがh(s)、pが無、す
なわち、<s、0、h(s)、null>となる。次のステップ8
08で新たに求められるFをF'と定義し、Fの各要素X=
<u,g,f,p>について、ステップ812以下の処理を展開
する。
【0023】ステップ812におけるver(p)はその経路
における直前の頂点である。便宜上、終点tについて、c
[t,t]=0なる辺があると仮定する。終点tに行きつくまで
は、v ∈ out[u]について以下の処理を実行する。今ま
での経路のコストを更新する。 g' ← g + c[u,v] (ステップ816) この径路を通る最短径路のコストを計算する。 f' ← g' + h[v] (ステップ818) 後で解析路を出力するのに備えて、直前の径路へのポ
インタを張る。 p' ← X (ステップ820) fに基づいて枝刈りをする。 F' ← min_N(F' ∪ {<v,g',f',p'>}) (ステップ822) ここで、min_N(F)は、Fの要素の内、コストの低いものN
個を返す関数である。ステップ828で、Fの更新を行
い、以下u=tすなわち、終点tに行きつくまで、同様の処
理を繰り返す。ステップ812において、終点tに行き
ついたとき、この辺を一度通った経路(つまりu=ver(p)=
tなる経路)は、もうそれ以上展開されることはない。ア
ルゴリズム終了時には、FにはN-最短な最高N個の解が入
っている。Fは、始点sから終点tまでの経路が存在しな
ければ空集合であるし、経路の数がNより少なければ要
素数が、Nより少ないこともある。しかし、sからtへの
経路の数がNより大きければ、Fの要素数は必ずNであ
る。
【0024】なお、ステップ822において、 min_N
を、min_Eすなわち、コストが、最小コストのE倍以内
のものを返す関数に置き換えれば、コスト最小の径路の
E倍以内の複数のコスト最短径路を求めることができ
る。
【0025】ステップ830(表1のアルゴリズムの
(15)行)で、Fの各要素<t,g,f,p>から直前の径路を
次々に逆に辿って、できあがった解経路を出力する。
【0026】求める解の数NをN=3として、図10を使っ
てアルゴリズムの実行を追ってみよう。頂点1が始点で
あり、頂点5が終点であるとする。表1のアルゴリズム
の前半では、頂点5から始まってダイクストラ法を適用
し、各頂点uにh[u]の値を割り当てる。この結果の一例
が、図6にグラフ記憶エリア20の内容として示されて
いる。また、紙面の都合で、Fの要素の第4コンポーネ
ントpの値はver(p)で代用してある。
【0027】この状態で、表1のアルゴリズムの後半、
すなわちビームサーチを実行する。このサーチは、頂点
1から始まる。したがって、部分経路の集合Fの初期値
は、図11にIter1として示すとおり、 {<1,0,60,
null>}である。次のループでは、頂点1からの辺がすべ
て展開される。ここで、頂点1からでる辺の行き先の頂
点集合out[1]は、{2,4,5}であり、頂点1から
頂点2への辺のコストc[1,2]は10、頂点1から頂点
4への辺のコストc[1,4]は30、頂点1から頂点5へ
の辺のコストc[1,5]は100である。また、頂点2,
4,5を経由するものについて、頂点1から終点5への
最短コストfは、それぞれ、70、60 、100であ
る。よって、展開の結果は、最短コストfの小さい順
に、 {<4,30,60,1>,<2,10,70,1>,<5,100,100,1>}(Iter2) となる。さらにこれらを展開すると、 {<3,50,60,4>,<3,60,70,2>,<5,90,90,4>,<5,100,100,5>} (Iter3) が得られる。このIter1〜3の状態は図7に示す
ようにグラフ記憶エリア20に記録される。このIte
r3の状態は求める解の数N=3を越えているので、 下位
の<5,100,100,5>が捨てられ、コストの小さい上位の3
つが残される。次のループで、 {<5,60,60,3>,<5,70,70,3>,<5,90,90,5>} (Iter3) が得られるが、これらはすべて終点に達した経路なの
で、アルゴリズムが終了する。実際の解は、ここから直
前の頂点pを逆にたどっていくことによって得られ、そ
れらは、 1位 1 → 4 → 3 → 5 (cost=60) 2位 1 → 2 → 3 → 5 (cost=70) 3位 1 → 4 → 5 (cost=90) である。
【0028】このように、本発明によれば、ダイクスト
ラ法とビームサーチの組み合わせにより、最短なN個の
経路を得ることが出来る。ダイクストラ法のみであれ
ば、前にも述べたとおり、第1位の経路は得られるが、
複数の最適な経路を得ることはできない。一方、ビーム
サーチだけでも最適解を得ることはできない。これを図
12で説明する。図はビームサーチがkステップ進んだ
状態を示している。部分経路Xiは、初期状態からたどっ
た辺のコストの和g(Xi)でソートされていて、そのうち
上位N位のものが保持されている。ここでの最良の部分
経路X1を伸ばしていったものはしかし、全体として最短
になることは保証されない。X1から終点tまでのコスト
が急速に悪化して、他の経路がより良い解として浮上し
てくるかもしれないからである。
【0029】以上述べた本発明と従来例の比較を整理す
ると表2のようになる。
【0030】つぎに、本発明を日本語の形態素解析に応
用した例について述べる。べた書きの日本語文から文節
や語の境界を切り出す、いわゆる形態素解析は、正規文
法(タイプ3文法)の範囲で非常によく記述できること
が知られている。ここで、解析の適格性は、語の出現頻
度に応じたコスト関数の和によって与えられるものと仮
定する。コストの小さな解析結果がより適格な解析結果
である。この仮定によって、形態素解析の最適解を求め
る問題は、グラフの最短経路問題に帰着することができ
る。例えば、「北大西洋」という複合名詞を解析する
と、「北」「大」「西」「洋」「北大」「大西」「西
洋」「大西洋」がいずれも正しい名詞あるいは固有名詞
あるいは接辞であるので(例えば、「北大」は、北海道
大学、「大西」は、人名等)、 北・大・西・洋 北・大・西洋 北・大西・洋 北大・西・洋 北大・西洋 北・大西洋 という、6つの解釈が文法的には可能である。入力スト
リングに対して正規文法の適用結果をトレリスに展開
し、これを図13に示すように、グラフで表し、それぞ
れの辺に図のように語の頻度情報に基づいたコストを与
えると、上位N位の解釈を得るのに本発明の手法を使う
ことができる。
【0031】日本語形態素解析の場合、グラフが閉路を
含まない非巡回グラフなので、グラフの頂点の位相的な
順序を用いれば、終点との最短コスト算出と経路展開を
より高速に実行することができる。非巡回グラフの位相
的な順序とは、u → v という辺があった時に、 u <
v とする順序付けのことであり、図13における、s<
v1 < v2 < v3< t は、このグラフの位相的順序であ
る。従って、最短コスト算出(図8のステップ804)
については、図14に示すようなアルゴリズムを用いる
ことができる。すなわち、グラフGを位相的順序で整列
し(1402)、各頂点iから終点tへの辺のコストc[i,
t]を、頂点iから終点tへの最短コストh[i]の初期値とし
(ステップ1404)、各頂点uを位相的順序の逆順で
とりながら、v ∈out[u]について、min(h[v],h[u]+c
[v,u]を最短コストh[u]とする(ステップ1408)。
この例では、上位3位は、 北・大西洋 (コスト0.5) 北大・西洋 (コスト0.6) 北・大・西洋(コスト0.7) が得られる。
【0032】なお、枝刈りの条件を上位N位ではなく、
最短経路からの誤差が一定値以内、あるいは、最短経路
から一定の倍率以内、のように解析条件を適宜設定する
ことによって、最良解とのコストの差が一定の条件以内
のすべての解を見つけることもできる。
【0033】本発明はまた、同じグラフについてグラフ
の始点sや終点tあるいは求める解の個数Nを変えて繰り
返し解析出力するような応用も考えられる。このような
ときは、予めグラフG及びそのコストについてデータべ
ースを作成し、後のステップで始点s、終点tあるいは解
析条件Nの変更値を入力することにより、同じグラフGの
データを繰り返し利用する事も出来る。
【0034】このような観点で本発明を、自動車の現在
位置から目的位置に至る最短ルートを探索し表示する、
車載ナビゲーション・システムに適用した例について、
図15〜図18により説明する。図15において、ま
ず、グラフとしての、道路網情報を入力する(1502
〜1504)。この道路網情報には、図16に示すよう
に、ある特定の地域、例えば日本全国の、都市名A1〜
An、各都市間の距離もしくは所要時間等のコストc[v,
u]が付加されているものとする。コストは、厳密には、
対称性が無い、例えば一方通行、坂道等のため都市間の
所要時間が方向によって差を生じることが考えられる。
方向による差が小さい、すなわち、実質的に対称性があ
るときは、コスト、c[v,u]=c[u,v]として後の計算を簡
略化することもできる。次に、ある都市Aiをs頂点、
他の各都市をゴール頂点tとし、ゴール頂点tを始点とし
てダイクストラ法を逆方向に適用し、都市Aiと他の各
都市間の最短コストhi[u]の算出を行う。なお、ダイク
ストラ法の逆方向適用は、s頂点(都市Ai)から頂点t
(他の各都市)に向かう方向のコストc[v,u]について、
逆方向にコスト計算するものである事は言うまでもな
い。以下、全ての都市をs頂点として同様な処理を行う
(1506〜1508)。
【0035】最短コストの計算には、先に述べたタイク
ストラの方法に代えて、Floyd−Marshall
法や、Jhonson法等のAll−pair Sho
rtest Algorithm を使ってもよい。予
め、最短コストの計算を行って、入力された全ての都市
の間の最短コストhi[u]を求め、グラフ記憶エリア20
に保持し、上記ステップ(1502〜1508)を省略
してもよく、これによって、経路探索の処理時間を大幅
に短縮できる。図17に各都市間の最短コスト表の一例
を示し、全ての都市A1〜An間の最短コストhi[u]が
テーブル化さてれいる。もしこの最短コストに対称性が
あるときは、テーブルの上側半分の三角行列だけを記憶
すればよい。また、テーブルは、時間、距離等異なる観
点のコストのものを複数種類用意しておき、ユーザに選
択の自由度を与えるようにしてもよい。これらの最短コ
ストのテーブルは道路網情報とともに、記憶装置13の
データ・メモリ18(図5)に保持される。
【0036】次に、ユーザから、任意の二つの都市、ス
タート地点とゴール地点、の入力を受ける(ステップ1
510〜1512)。また、探索条件、例えば上位N位
までの最短ルート、の入力を受ける(ステップ1514
〜1516)。いすれの場合も、入力に変更がないとき
はそのまま次のステップに進む。その後ビームサーチを
行って(ステップ1518)、解径路を出力する(ステ
ップ1520)。図18に解析結果の出力例を示す。
【0037】本発明はこの外にも、文字認識、通信径路
やロボット移動径路の探索等、複数の最適解を求める必
要のある分野に広く応用出来る。
【0038】
【発明の効果】以上のように、本発明は非負のコストを
もつ任意の有向グラフについて、その始点から終点に至
る経路のうち、最適性の保証された複数の解を高速に求
めることが出来る。最短経路問題はネットワーク問題の
うちの最も基本的なものの一つであるので、広い応用分
野をもち、その産業的なメリットは大きい。
【図面の簡単な説明】
【図1】本発明におけるグラフの最短経路に関する用語
の定義を説明する図である。
【図2】本発明の原理を示すもので、現在位置aにおけ
る、グラフの経路展開の状況を示す。
【図3】図2の次のステップ、現在位置a+1におけ
る、グラフの経路展開の状況を示す。
【図4】本発明のグラフ最短経路探索装置の全体的な機
能構成を示すものである。
【図5】汎用のコンピュータを用いて本発明のグラフ最
短経路探索装置を構成した例を示す。
【図6】図5のグラフ記憶エリアのデータ構造の一例を
示す。
【図7】図5の経路記録エリア21のデータ構造一例を
示す。
【図8】経路探索アルゴリズムの詳細を示すフロー・チ
ャートである。
【図9】図8における、最短コストh[u]の計算をダイク
ストラ法によって行う場合のフロー・チャートである。
【図10】図8のアルゴリズムの実行例を説明する図で
ある。
【図11】図10の経路展開の状況を示す図である。
【図12】従来例のビームサーチの問題点を説明する図
である。
【図13】本発明を日本語の形態素解析に応用した例を
説明する図である。
【図14】図14の最短コスト算出のステップの一例を
示す図である。
【図15】本発明を車載ナビゲーション・システムに適
用した例のフロー・チャートである。
【図16】図15における、グラフとしての道路網情報
の例を示す図である。
【図17】図15における、全ての都市1〜n間の最短
コストhi[u]のテーブルの例を示す図である。
【図18】図15の例による、解径路を出力例を示す図
である。
【符号の説明】
1 ... 入力手段 2 ... グラフ保持手段 3 ... 最短コスト算出手段 4 ... 経路展開手段 5 ... 解析路保持手段 6 ... 解析路出力手段 out[u] ... 頂点uからでる辺の行き先の頂点集合 c[u,v] ... 頂点uから頂点vへの辺のコスト h[u] ... 頂点uから終点tへの最短コスト
───────────────────────────────────────────────────── フロントページの続き (72)発明者 武田 浩一 東京都町田市成瀬2663−47

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】入力手段と、演算処理手段と、ノード間の
    辺に実数値のコストが設定された有向グラフGを記憶す
    る記憶手段と、前記有向グラフGの始点sからの部分経
    路を保持するための部分経路記憶手段と、表示装置を有
    するコンピュータ・システムにおいて、前記有向グラフ
    G中の経路を探索するグラフ探索方法であって、 (A)前記有向グラフG中の特定の2つのノードを、始
    点s及び終点tとして、前記入力手段により入力する入
    力ステップと、 (B)始点sから終点tに至る経路のうち、探索すべき
    最適解経路の条件を入力する条件設定ステップと、 (C)前記演算処理手段により、前記有向グラフGの全
    てのノードと終点tとの最短コストを算出する最短コス
    ト算出ステップと、 (D−0)前記部分経路記憶手段に、経路長が長さ0の
    部分経路として 始点sを記憶するステップと、 (D−1)前記演算処理手段により、前記部分経路記憶
    手段に記憶された経路長が長さi-1(i=1,2,
    3,・・・)の部分経路から前記有向グラフGに含まれ
    る経路長が長さiの部分経路を展開し、当該経路長が長
    さiの部分経路から、始点sからのコストの累積と、残
    りの経路の前記最短コストとの和に基づき、前記最適解
    経路の条件を満たす部分経路を探索するステップと、 (E)探索された前記経路長が長さiの部分経路を前記
    部分経路記憶手段に記憶するステップと、 (F)前記部分経路記憶手段中のすべての長さiの部分
    経路が終点tに達していない場合、前記経路長iを1つ
    増分してステップ(D−1)に戻り、すべての長さiの
    部分経路が終点tに達していれば下記ステップ(G)へ
    遷移するステップと、 (G)前記部分経路記憶手段に記憶されている終点tに
    達した全ての部分経路を前記最適解経路の条件を満たす
    解経路として前記表示装置に表示する解経路表示ステッ
    プとを含むグラフ探索方法。
  2. 【請求項2】入力手段と、演算処理手段と、ノード間の
    辺に実数値のコストが設定された有向グラフGを記憶す
    る記憶手段と、前記有向グラフGの始点sからの部分経
    路を保持するための部分経路記憶手段と、表示装置を有
    するコンピュータ・システムにおいて、前記有向グラフ
    G中の経路を探索するグラフ探索方法であって、 (A)前記有向グラフG、および前記有向グラフG中の
    特定の2つのノードを、始点s及び終点tとして、前記
    入力手段により入力する、グラフ入力ステップと、 (B)始点sから終点tに至る経路のうち、探索すべき
    最適解経路の条件を入力する条件設定ステップと、 (C)前記演算処理手段により、前記有向グラフGの全
    てのノードと終点tとの最短コストを算出する最短コス
    ト算出ステップと、 (D−0)前記部分経路記憶手段に、経路長が長さ0の
    部分経路として 始点sを記憶するステップと、 (D−1)前記演算処理手段により、前記部分経路記憶
    手段に記憶された経路長が長さi-1(i=1,2,
    3,・・・)の部分経路から前記有向グラフGに含まれ
    る経路長が長さiの部分経路を展開し、当該経路長が長
    さiの部分経路から、始点sからのコストの累積と、残
    りの経路の前記最短コストとの和に基づき、前記最適解
    経路の条件を満たす部分経路を探索するステップと、 (E)探索された前記経路長が長さiの部分経路を前記
    部分経路記憶手段に記憶するステップと、 (F)前記部分経路記憶手段中のすべての長さiの部分
    経路が終点tに達していない場合、前記経路長iを1つ
    増分してステップ(D−1)に戻り、すべての長さiの
    部分経路が終点tに達していれば下記ステップ(G)へ
    遷移するステップと、 (G)前記部分経路記憶手段に記憶されている終点tに
    達した全ての部分経路を前記最適解経路の条件を満たす
    解経路として前記表示装置に表示する解経路表示ステッ
    プとを含むグラフ探索方法。
  3. 【請求項3】前記有向グラフGが、形態素を解析すべき
    文のトレリスであり、前記グラフ入力ステップ(A)に
    おいて、前記有向グラフGとして、前記トレリスを入力
    することにより、与えられた前記文について複数の最適
    な形態素の解を求めることを特徴とする請求項2記載の
    グラフ探索方法。
  4. 【請求項4】前記コンピュータ・システムが、ナビゲー
    ション・システムであり、前記グラフ入力ステップ
    (A)において、前記有向グラフGとして、道路網情報
    を入力することにより、複数の最短ルートを求めること
    を特徴とする請求項2記載のグラフ探索方法。
  5. 【請求項5】入力手段と、演算処理手段と、ノード間の
    辺に実数値のコストが設定された有向グラフGを記憶す
    る記憶手段と、前記有向グラフGの始点sからの部分経
    路を保持するための部分経路記憶手段と、表示装置を有
    するコンピュータ・システムにおいて、前記有向グラフ
    G中の経路を探索するグラフ装置であって、 (A)前記入力手段において前記有向グラフG中の特定
    の2つのノードを、始点s及び終点tとして入力する手
    段と、 (B)始点sから終点tに至る経路のうち、探索すべき
    最適解経路の条件を入力する条件設定手段と、 (C)前記演算処理手段により、前記有向グラフGの全
    てのノードと終点tとの最短コストを算出する最短コス
    ト算出手段と、 (D−0)前記部分経路記憶手段に、経路長が長さ0の
    部分経路として 始点sを記憶する手段と、 (D−1)前記演算処理手段により、前記部分経路記憶
    手段に記憶された経路長が長さi-1(i=1,2,
    3,・・・)の部分経路から前記有向グラフGに含まれ
    る経路長が長さiの部分経路を展開し、当該経路長が長
    さiの部分経路から、始点sからのコストの累積と、残
    りの経路の前記最短コストとの和に基づき、前記最適解
    経路の条件を満たす部分経路を探索する手段と、 (E)探索された前記経路長が長さiの部分経路を前記
    部分経路記憶手段に記憶する手段と、 (F)前記部分経路記憶手段中のすべての長さiの部分
    経路が終点tに達していない場合、前記経路長iを1つ
    増分して手段(D−1)に戻り、すべての長さiの部分
    経路が終点tに達していれば下記手段(G)へ遷移する
    手段と、 (G)前記部分経路記憶手段に記憶されている終点tに
    達した全ての部分経路を前記最適解経路の条件を満たす
    解経路として前記表示装置に表示する解経路表示手段と
    を含むグラフ探索装置。
JP21129391A 1991-07-30 1991-07-30 グラフ探索方法及び装置 Expired - Fee Related JP3289240B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21129391A JP3289240B2 (ja) 1991-07-30 1991-07-30 グラフ探索方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21129391A JP3289240B2 (ja) 1991-07-30 1991-07-30 グラフ探索方法及び装置

Publications (2)

Publication Number Publication Date
JPH0546590A JPH0546590A (ja) 1993-02-26
JP3289240B2 true JP3289240B2 (ja) 2002-06-04

Family

ID=16603538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21129391A Expired - Fee Related JP3289240B2 (ja) 1991-07-30 1991-07-30 グラフ探索方法及び装置

Country Status (1)

Country Link
JP (1) JP3289240B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3235866B2 (ja) * 1992-05-08 2001-12-04 パイオニア株式会社 ナビゲーション装置
US6609098B1 (en) 1998-07-02 2003-08-19 Ita Software, Inc. Pricing graph representation for sets of pricing solutions for travel planning system
JP2002181570A (ja) * 2000-12-11 2002-06-26 Matsushita Electric Ind Co Ltd ナビゲーション装置
JP4451027B2 (ja) 2001-07-11 2010-04-14 富士通株式会社 複数経路探索方法及びこれを適用するネットワーク装置
US7895065B2 (en) 2003-02-26 2011-02-22 Sony Corporation Method and apparatus for an itinerary planner
US20040205394A1 (en) * 2003-03-17 2004-10-14 Plutowski Mark Earl Method and apparatus to implement an errands engine
JP5036573B2 (ja) * 2008-01-22 2012-09-26 日本信号株式会社 全最小コスト経路探索用ネットワーク生成装置、生成方法及びこのネットワークを用いた経路探索装置
EP2257127A1 (en) * 2009-05-29 2010-12-01 Koninklijke Philips Electronics N.V. Method for data path creation in a modular lighting system
EP2256720A1 (en) 2009-05-29 2010-12-01 Koninklijke Philips Electronics N.V. An intelligent lighting tile system powered from multiple power sources
JP6139153B2 (ja) * 2013-02-01 2017-05-31 株式会社ゼンリン 経路探索装置および経路案内システム
CN113312694B (zh) * 2021-05-25 2022-07-15 中国科学院计算技术研究所厦门数据智能研究院 一种在方舱类建筑中生成动线规划的方法

Also Published As

Publication number Publication date
JPH0546590A (ja) 1993-02-26

Similar Documents

Publication Publication Date Title
JP7048517B2 (ja) 地図マッチングの方法及びシステム
JP3289240B2 (ja) グラフ探索方法及び装置
JP4353658B2 (ja) 経路探索方法及び経路探索装置
EP0803705B1 (en) Navigation system for vehicles
US6622089B2 (en) Route guidance apparatus and method
JP5831290B2 (ja) 分岐確率予測装置
US9285218B2 (en) Shortest travel path determination using critical start time points
US20060224303A1 (en) Navigation system and program for the same
JP2009128210A (ja) ナビゲーション装置
JP2008076593A (ja) 略地図生成装置および略地図生成方法
JP4076905B2 (ja) ナビゲーション装置
JP2006292574A (ja) ナビゲーション装置、および経路表示方法
JPH08254436A (ja) ナビゲーション装置
JP2005091249A (ja) ナビゲーション装置及び代替経路発生告知方法
CN114383617A (zh) 基于地图神经网络导航算路方法、装置、设备及存储介质
JPH11325935A (ja) 経路探索装置
JP7173310B2 (ja) 経路探索装置、経路探索方法、及び経路探索プログラム
JP4188189B2 (ja) ナビゲーション装置及び代替ルート提示方法
JP2814788B2 (ja) ナビゲーションシステムの地名検索方法
JP2003050137A (ja) 最短経路シミュレーション装置
JP2821604B2 (ja) 最適経路検索方法
JP2022152561A (ja) 案内装置
JPH11353381A (ja) 旅行計画作成装置及びプログラムを記録したコンピュータ可読媒体
JP2019159358A (ja) 目的地検索支援システム、目的地検索端末、目的地検索支援プログラム
KR20060036732A (ko) 단어 입력장치 및 방법

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090322

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees