(57)【特許請求の範囲】
【請求項１】
複数のノードを有し、隣合うノード間をアークで接続し、各アークにコストを設定した本来の経路探索ネットワークデータを格納するデータ格納部と、
前記複数のノードのいずれか１つを終端ノードとし、当該終端ノードを含む全てのノードに関してそれぞれのノードから前記終端ノードまでの各経路の最小コストをそれぞれ算出し、算出した各最小コストと前記データ格納部の各アークのコストとに基づいて前記本来の経路探索ネットワークの各アークのコストを変換し、変換後のコストが零のアーク及び当該アークで接続されるノードのみで構成される最小コスト経路ネットワークデータを生成するネットワークデータ生成部と、
を備えて構成したことを特徴とする全最小コスト経路探索用ネットワーク生成装置。
【請求項２】
前記ネットワークデータ生成部は、前記最小コストを算出するコスト算出手段と、前記本来の経路探索ネットワークの各アークのコストを変換するアークコスト変換手段と、前記データ格納部に格納された前記ノード及び前記アークと前記アークコスト変換手段で得られた変換後のコストとで構成されるアークコスト変換ネットワークデータからコストが零でないアークデータを削除するアーク削除手段と、を備え、前記アークコスト変換ネットワークデータからコストが零でないアークデータを削除することにより前記最小コスト経路ネットワークデータを生成する構成としたことを特徴とする請求項１に記載の全最小コスト経路探索用ネットワーク生成装置。
【請求項３】
前記アークコスト変換手段は、コスト変換対象のアークの始点となっているノードについて前記最小コスト算出手段で算出した終端ノードまでの最小コストをＣtail、コスト変換対象のアークの終点となっているノードについて前記最小コスト算出手段で算出した終端ノードまでの最小コストをＣhead、前記始点ノードと前記終点ノード間を接続するコスト変換対象のアークの変換前のコストをＣarcとして、前記データ格納部に格納された全てのアークについて、変換後のコストＨＣarcを、次の演算式、
ＨＣarc＝Ｃhead＋Ｃarc−Ｃtail
を用いて算出することを特徴とする請求項２に記載の全最小コスト経路探索用ネットワーク生成装置。
【請求項４】
前記ネットワークデータ生成部は、前記本来の経路探索ネットワークの各アークのコストを所定の規則に従ってそれぞれ量子化するコスト量子化手段を備え、該コスト量子化手段によるコスト量子化処理後に、前記最小コストの算出処理を行う構成としたことを特徴とする請求項１〜３のいずれか１つに記載の全最小コスト経路探索用ネットワーク生成装置。
【請求項５】
前記アークのコストの種類は、距離、時間及び金額のいずれかであることを特徴とする請求項１〜４のいずれか１つに記載の全最小コスト経路探索用ネットワーク生成装置。
【請求項６】
複数のノードを有し、隣合うノード間をアークで接続し、各アークにコストを設定して構成され、予め格納された本来の経路探索ネットワークデータの前記複数のノードのいずれか１つを終端ノードとして選択するステップと、
該選択ステップで選択した終端ノードを含む全てのノードに関してそれぞれのノードから前記終端ノードまでの各経路の最小コストをそれぞれ算出する最小コスト算出ステップと、
該最小コスト算出ステップで算出した各最小コストと前記データ格納部の各アークのコストとに基づいて前記本来の経路探索ネットワークの各アークのコストを変換するアークコスト変換ステップと、
前記データ格納部のノード及びアークと前記アークコスト変換ステップで変換されたコストとで構成されるアークコスト変換ネットワークデータからコストが零でないアークデータを削除して、コストが零のアーク及び当該アークで接続されるノードのみで構成される最小コスト経路ネットワークデータを生成するネットワークデータ生成ステップと、
を備えることを特徴とする全最小コスト経路探索用ネットワーク生成方法。
【請求項７】
経路探索対象の始端と終端の情報を入力する入力部と、
前記請求項１〜５のいずれか１つに記載の全最小コスト経路探索用ネットワーク生成装置で生成した最小コスト経路ネットワークデータを格納したネットワークデータ格納部と、
該ネットワークデータ格納部の最小コスト経路探索ネットワークデータで構築される最小コスト経路ネットワークを用いて、前記入力部で入力された始端と終端との間の少なくとも１以上の経路を探索する経路探索部と、
該経路探索部で探索した経路情報と当該経路のコスト情報を出力する出力部と、
を備える構成としたことを特徴とする経路探索装置。
【請求項８】
請求項４に記載のネットワーク生成装置で生成した最小コスト経路ネットワークデータを、前記ネットワークデータ格納部に格納し、前記経路探索部で、前記始端と前記終端との間で、前記本来の経路探索ネットワークにおける最小コストに近いコストの少なくとも１以上の経路を探索可能としたことを特徴とする請求項７に記載の経路探索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２点間の最小コスト経路を全て探索するためのネットワークの生成装置と生成方法に関し、特に、最小コスト経路が複数存在する場合に好適な全最小コスト経路探索用ネットワークの生成装置及び生成方法に関する。また、このネットワークを用いた経路探索装置に関する。
【背景技術】
【０００２】
２点間の最小コスト経路探索の一例として、例えば、出発駅と到着駅間の鉄道運賃計算がある。鉄道運賃計算は、例えば、駅をノード、駅間を結ぶ線路をアーク、アークのコストを距離としたネットワークを用い、２駅間の利用可能経路の中で最短経路（最小コスト経路）を探索し、探索した経路の距離を運賃に換算することで運賃を算出する。また、鉄道運賃計算を行う際、発着駅間において最短経路が複数存在する場合、それらを全て求める必要がある。さらに、出発駅と到着駅間の最安運賃を求める必要もあるが、その際、発着駅間において最安運賃経路が複数存在する場合、それらを全て求めなければならない。
【０００３】
このような複数の最小コスト経路を探索する従来手法としては、ネットワーク上の２つのノード間に存在する全経路を求め、その中からコストが最小となる経路を選択する手法と、ｋ−最短経路探索アルゴリズムを用いる手法がある。尚、ｋ−最短経路探索アルゴリズムを利用した複数の最短経路探索方法に関して、特許文献１，２に記載されたものがある。
【特許文献１】特開平５―４６５９０号公報
【特許文献２】特開２００４―６１２９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の全経路を探索する手法は、全経路を算出する必要があり計算量が非常に多いため、ネットワーク規模が大きい場合には実用的な処理時間での探索は困難であり、実用性に問題ある。また、ｋ−最短経路探索アルゴリズムを利用する手法は、コストの小さい順に経路を求めるアルゴリズムであり、最小コスト経路よりもコストの大きい経路が求まるまで探索を行う仕組みである。従って、全経路探索手法よりは計算量は少ないが、やはり無駄な計算が多く、コスト最小の経路（最小コスト経路）の全てを探索するには時間がかかり効率的ではない。
【０００５】
本発明は上記問題点に着目してなされたもので、全ての最小コスト経路（例えば、最短経路や最安運賃経路等）を、効率的且つ高速で探索できるネットワークを生成する全最小コスト経路探索用ネットワーク生成装置と生成方法を提供することを目的とする。また、このネットワークを適用した経路探索装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
このため、請求項１に記載した本発明の全最小コスト経路探索用ネットワーク生成装置は、複数のノードを有し、隣合うノード間をアークで接続し、各アークにコストを設定した本来の経路探索ネットワークデータを格納するデータ格納部と、前記複数のノードのいずれか１つを終端ノードとし、当該終端ノードを含む全てのノードに関してそれぞれのノードから前記終端ノードまでの各経路の最小コストをそれぞれ算出し、算出した各最小コストと前記データ格納部の各アークのコストとに基づいて前記本来の経路探索ネットワークの各アークのコストを変換し、変換後のコストが零のアーク及び当該アークで接続されるノードのみで構成される最小コスト経路ネットワークデータを生成するネットワークデータ生成部と、を備えて構成したことを特徴とする。
【０００７】
かかる構成では、ネットワークデータ生成部は、データ格納部に格納された本来のネットワークデータに基づいて、終端ノードを含んで各ノードから終端ノードまでの最小コストを算出し、算出した各最小コストと本来のコストとから各アークのコストを変換し、変換後のコストが零のアーク及び当該アークで接続されるノードのみで構成される最小コスト経路ネットワークデータを生成する。最小コスト経路ネットワークデータで構築される最小コスト経路ネットワークは、各ノードから終端ノードまでの経路が全て最小コストの経路になっている。これにより、２つのノード間に存在する全ての最小コスト経路を、短時間で探索できるようになる。
【０００８】
前記ネットワークデータ生成部は、具体的には、請求項２のように、前記最小コストを算出するコスト算出手段と、前記本来の経路探索ネットワークの各アークのコストを変換するアークコスト変換手段と、前記データ格納部に格納された前記ノード及び前記アークと前記アークコスト変換手段で得られた変換後のコストとで構成されるアークコスト変換ネットワークデータからコストが零でないアークデータを削除するアーク削除手段と、を備え、前記アークコスト変換ネットワークデータからコストが零でないアークデータを削除することにより前記最小コスト経路ネットワークデータを生成する構成とした。
【０００９】
前記アークコスト変換手段は、具体的には、請求項３のように、コスト変換対象のアークの始点となっているノードについて前記最小コスト算出手段で算出した終端ノードまでの最小コストをＣtail、コスト変換対象のアークの終点となっているノードについて前記最小コスト算出手段で算出した終端ノードまでの最小コストをＣhead、前記始点ノードと前記終点ノード間を接続するコスト変換対象のアークの変換前のコストをＣarcとして、前記データ格納部に格納された全てのアークについて、変換後のコストＨＣarcを、次の演算式、
ＨＣarc＝Ｃhead＋Ｃarc−Ｃtail
を用いて算出する構成とした。
【００１０】
請求項４のように、前記ネットワークデータ生成部は、前記本来の経路探索ネットワークの各アークのコストを所定の規則に従ってそれぞれ量子化するコスト量子化手段を備え、該コスト量子化手段によるコスト量子化処理後に、前記最小コストの算出処理を行う構成とするとよい。
かかる構成では、コスト量子化手段によって本来の経路探索ネットワークの各アークのコストを量子化した後に、最小コストの算出処理、コスト変換処理を経て、最小コスト経路探索ネットワークデータを生成するようになる。これにより、本来の経路探索ネットワークにおける最小コストに近いコストの経路を複数探索可能な最小コスト経路探索ネットワークデータを生成できる。
【００１１】
請求項５のように、前記アークのコストの種類は、距離、時間及び金額のいずれかであることを特徴とする。
これにより、コストの種類を距離にすれば最短距離の経路が、コストの種類を時間にすれば最短時間の経路が、コストの種類を運賃等の料金にすれば最安の経路が、それぞれ短時間で探索できるようになる。
【００１２】
また、請求項６に記載の本発明の全最小コスト経路探索用ネットワーク生成方法は、複数のノードを有し、隣合うノード間をアークで接続し、各アークにコストを設定して構成され、予め格納された本来の経路探索ネットワークデータの前記複数のノードのいずれか１つを終端ノードとして選択するステップと、該選択ステップで選択した終端ノードを含む全てのノードに関してそれぞれのノードから前記終端ノードまでの各経路の最小コストをそれぞれ算出する最小コスト算出ステップと、該最小コスト算出ステップで算出した各最小コストと前記データ格納部の各アークのコストとに基づいて前記本来の経路探索ネットワークの各アークのコストを変換するアークコスト変換ステップと、前記データ格納部のノード及びアークと前記アークコスト変換ステップで変換されたコストとで構成されるアークコスト変換ネットワークデータからコストが零でないアークデータを削除して、コストが零のアーク及び当該アークで接続されるノードのみで構成される最小コスト経路ネットワークデータを生成するネットワークデータ生成ステップと、を備えることを特徴とする。
【００１３】
また、請求項７に記載の本発明の経路探索装置は、経路探索対象の始端と終端の情報を入力する入力部と、前記請求項１〜５のいずれか１つに記載の全最小コスト経路探索用ネットワーク生成装置で生成した最小コスト経路ネットワークデータを格納したネットワークデータ格納部と、該ネットワークデータ格納部の最小コスト経路ネットワークデータで構築される最小コスト経路ネットワークを用いて、前記入力部で入力された始端と終端との間の少なくとも１以上の経路を探索する経路探索部と、該経路探索部で探索した経路情報と当該経路のコスト情報を出力する出力部と、を備える構成としたことを特徴とする。
【００１４】
かかる構成では、入力部で始端と終端の情報を入力すると、経路探索部は、ネットワークデータ格納部に格納した最小コスト経路ネットワークデータに基づいて最小コスト経路ネットワークを構築し、入力された始端から終端までの少なくとも１以上（全て又は任意数）の経路を探索する。探索された経路は全て最小コストの経路である。出力部は、探索経路情報及びその経路のコスト情報を出力する。
【００１５】
請求項８のように、請求項４に記載のネットワーク生成装置で生成した最小コスト経路ネットワークデータを、前記ネットワークデータ格納部に格納し、前記経路探索部で、前記始端と前記終端との間で、前記本来の経路探索ネットワークにおける最小コストに近いコストの少なくとも１以上（全て又は任意数）の経路を探索可能とするとよい。
かかる構成では、例えば、アークのコストが距離である経路探索ネットワークを用いて、終端までの距離が短く、要する時間も短い経路を探索するような場合、最短経路に近い経路を全て探索し、探索した全ての経路に対して時間の重み付けを行うようにすれば、前記探索条件に最適な経路の探索が可能になる。
【発明の効果】
【００１６】
本発明によれば、最小コスト経路ネットワークデータで構築される最小コスト経路ネットワークは最小コストの経路だけで接続されたネットワークであるので、始端から終端までの全ての最小コスト経路を短時間で探索できるネットワークを提供できる。また、この最小コスト経路ネットワークを用いれば、例えば、鉄道運賃計算等のように、最安運賃の経路が複数存在すればその全てを探索する必要がある場合でも、短時間で全ての最安運賃経路を探索できるようになる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施形態を図面に基づいて説明する。尚、以下の実施形態では、アークのコストを距離とし、最小コスト経路探索として最短経路探索に適用した場合を例に説明する。
図１は、本発明に係る経路探索装置の第１実施形態の構成を示すブロック図である。図２は、駅をノード、駅間を結ぶ線路をアーク、アークのコストを距離としたネットワークであり、これを本来の経路探索ネットワークと呼ぶこととする。
図１において、本実施形態の経路探索装置１は、後述するように最小コスト経路ネットワークデータとして最短経路ネットワークデータの生成機能を備えており、最小コスト経路探索用ネットワーク生成装置を兼ねる。
【００１８】
前記経路探索装置１は、入力部２と、データストレージ装置３と、最短経路ネットワークデータ生成部４と、記憶装置５と、経路探索部６と、出力部７と、を備えて構成される。ここで、経路探索装置１は、例えばコンピュータで構成され、前記最短経路ネットワークデータ生成部４及び経路探索部６の機能はソフトウエア的に備えられるものである。
【００１９】
前記入力部２は、始端となる出発点と終端となる到着点の各データ等を入力するものである。
前記データストレージ装置３は、複数のノードを有し、隣合うノード間をアークで接続し、各アークにコストとして例えば距離を設定した図２に示すような本来の経路探索ネットワーク構築用のネットワークデータを格納するもので、データ格納部に相当する。
【００２０】
前記最短経路ネットワークデータ生成部４は、データストレージ装置３内に格納された本来の経路探索ネットワークデータに基づいて、出発点と到着点のノード間に存在する全ての最短経路（最小コスト経路）を探索するために最短経路ネットワークを構築する必要があり、このための最短経路ネットワークデータを生成するもので、最短経路探索部４Ａと、アークコスト変換部４Ｂと、アーク削除部４Ｃと、を備える。最短経路ネットワークデータ生成部４がネットワークデータ生成部に相当する。
【００２１】
前記最短経路探索部４Ａは、図２の本来の経路探索ネットワーク１０において、複数のノードのいずれか１つを終端ノードとし、当該終端ノードを含む全てのノードに関してそれぞれのノードから終端ノードまでの各経路の最小コストをそれぞれ算出するもので、最小コスト算出手段に相当する。最小コストの算出方法は、本実施形態では例えばダイクストラ法等の最短経路探索アルゴリズムを用いることができる。
【００２２】
前記アークコスト変換部４Ｂは、最短経路探索部４Ａの算出した各最小コストとデータストレージ装置３に格納された図２の本来の経路探索ネットワーク１０を構築する各アークのコストデータとに基づいて、後述の演算式を用いて、図２の本来の経路探索ネットワーク１０の各アークのコストを変換するもので、アークコスト変換手段に相当する。このアークコスト変換処理により、図３に示すような、本来の経路探索ネットワークのアークのコストを、変換後のコストに置き換えたアークコスト変換ネットワーク２０を構築するネットワークデータを生成する。
【００２３】
前記アーク削除部４Ｃは、図３のアークコスト変換ネットワーク２０の構築データから、コストが零でないアークデータを削除するもので、これにより、図４に示すような、最終的な最短経路ネットワーク３０を構築するための最短経路ネットワークデータが生成される。
【００２４】
前記記憶装置５は、最短経路ネットワークデータ生成部４で生成された最短経路ネットワークデータを格納するもので、ネットワークデータ格納部に相当する。
前記経路探索部６は、記憶装置５に格納された最短経路ネットワークデータで構築される図４の最短経路ネットワーク３０から全経路を探索するものである。
前記出力部７は、経路探索部６で探索された経路情報及びその経路のコスト情報（本実施形態では距離情報である）を出力するものである。
【００２５】
次に、本実施形態の経路探索装置１による最短経路ネットワークデータの生成及び最短経路ネットワークデータを用いた最短経路探索の各動作を、図５のフローチャートを参照して説明する。尚、以下では、図２の本来の経路探索ネットワーク１０において、出発点をノードｆ、到着点をノードａとし、ノードｆからノードａまでの全最短経路を探索するものとして説明する。
【００２６】
図５は、最短経路ネットワークデータの生成から最短経路探索までの動作を示すフローチャートである。
ステップＳ１で、入力部２において、出発点と到着点の各情報を入力する。
ステップＳ２では、最短経路ネットワークデータ生成部４の最短経路探索部４Ａにより、図２の本来の経路探索ネットワーク１０において、各ノードａ〜ｆから到着ノードａまでの最短経路のコストをそれぞれ算出する。これらコストは、例えばダイクストラ法等の１点から全点への最短経路を算出する手法によって効率的に算出することが可能ある。図２において、各ノード近傍の四角形で囲まれた数字が、各ノードから到着ノードａまでの最小コストを表しており、その他の数字は、隣合うノード間を接続する各アークのコストを表している。ステップＳ２が、終端ノードの選択ステップ及び最小コスト算出ステップに相当する。
【００２７】
ステップＳ３では、最短経路ネットワークデータ生成部４のアークコスト変換部４Ｂにより、最短経路探索部４Ａで算出した各最小コストと図２に示す各アークのコストとに基づいて、図２の本来の経路探索ネットワーク１０の各アークのコストを変換し、図３のアークコスト変換ネットワーク２０構築用のネットワークデータを生成する。ステップＳ３が、アークコスト変換ステップに相当する。
【００２８】
ここで、前記アークコスト変換処理について詳述する。
アークコスト変換部４Ｂは、コスト変換対象のアークの始点となっているノードについて最短経路探索部４Ａで算出した終端ノードまでの最小コストをＣtail、コスト変換対象のアークの終点となっているノードについて算出した終端ノードまでの最小コストをＣhead、始点ノードと終点ノード間を接続するコスト変換対象のアークの変換前のコストをＣarcとして、図２の本来の経路探索ネットワーク１０の全てのアークについて、変換後のコストＨＣarcを、次の演算式（１）を用いて算出する。
ＨＣarc＝Ｃhead＋Ｃarc−Ｃtail        （１）
例えば、ノードｄとノードｅを接続するアークのコストを変換する場合は、ノードｄを始点、ノードｅを終点とするアークに関しては、Ｃhead＝４、Ｃarc＝３、Ｃtail＝２となるので、ＨＣarc＝５となる。逆に、ノードｄを終点、ノードｅを始点とするアークに関しては、Ｃhead＝２、Ｃarc＝３、Ｃtail＝４となるので、ＨＣarc＝１となる。また、ノードｃとノードｆを接続するアークのコストを変換する場合は、ノードｃを始点、ノードｆを終点とするアークに関しては、Ｃhead＝６、Ｃarc＝２、Ｃtail＝４となるので、ＨＣarc＝４となる。ノードｃを終点、ノードｆを始点とするアークに関しては、Ｃhead＝４、Ｃarc＝２、Ｃtail＝６となるので、ＨＣarc＝０となる。このようにして、図２の本来の経路探索ネットワーク１０の全てのアークのコストを変換すると、図３のようなアークのコストが変換されたアークコスト変換ネットワーク２０を構築するネットワークデータが生成される。
【００２９】
ステップＳ４では、最短経路ネットワークデータ生成部４のアーク削除部４Ｃにより、図３のアークコスト変換ネットワーク２０を構築するネットワークデータから、コストが零以外のアークデータを削除する。これにより、コストが零のアークと当該アークで接続されたノードのみで構成した図４の最短経路ネットワーク３０を構築するための最短経路ネットワークデータを生成する。生成した最短経路ネットワークデータを、記憶装置５に格納する。ステップＳ４が、ネットワークデータ生成ステップに相当する。上述のステップＳ１〜Ｓ４が、最短経路ネットワークデータの生成機能である。
【００３０】
ステップＳ５では、経路探索部６により、記憶装置５に格納された最短経路ネットワークデータから構築される図４の最短経路ネットワーク３０を用いて、入力部２で入力された出発点ｆから到着点ａまでの全経路を探索する。図４の最短経路ネットワーク３０において、出発点ｆから到着点ａまでの全ての経路を列挙すると下記のようになる。
ｆ→ｅ→ａ
ｆ→ｅ→ｂ→ａ
ｆ→ｂ→ａ
ｆ→ｃ→ｂ→ａ
これらの経路は、全て図２の本来の経路探索ネットワーク１０において、そのコストは「６」であり、最短経路である。
【００３１】
ここで、図４の最短経路ネットワーク３０の正当性について図６を参照して説明する。
図６のアークｚが最短経路を構成するアークとなるための条件を求めることによって、図４の最短経路ネットワーク３０の正当性を示すことができる。図６において、地点ｘからアークｚを通って地点ｙを経由して目的地に到達する場合の最短距離は、Ｃｙを地点ｙから目的地までの最短距離（最小コスト）、Ｃarcをアークｚのコストとすると、Ｃｙ＋Ｃarcで表される。この距離が地点ｘから目的地までの最短距離Ｃｘと等しければ、アークｚは最短経路を構成するアークとなる。このとき、以下の条件が満たされる。
Ｃｙ＋Ｃarc−Ｃｘ＝０
この式は、前述した演算式（１）においてＨＣarc＝０の場合である。従って、ＨＣarc＝０となるアークは、最短経路を構成するアークとなる。従って、図４の最短経路ネットワーク３０が正当であると言える。
【００３２】
ステップＳ６では、ステップＳ５の探索結果に基づいて、探索経路情報とそのコスト情報を出力部７から出力する。
【００３３】
かかる本実施形態によれば、図４の最短経路ネットワーク３０は、最短経路のみで構成されるネットワークであるので、この最短経路ネットワークで得られる経路は全て最短経路になる。従って、最短経路以外の無駄な経路が探索されないため、２地点間の最短経路を全て探索する必要がある場合でも、極めて効率よく高速にできる。
【００３４】
尚、２つのノード間の全ての最短経路を探索するときは、図４の最短経路ネットワーク３０上で全経路探索を行えばよい。また、全経路探索だけでなく任意数での経路探索の行うことができ、その際には、図４の最短経路ネットワーク３０上で求めたい経路数だけ経路探索を行えばよい。この場合の経路探索手法は、深さ優先探索等の一般的な手法が利用可能である。
【００３５】
更に、図４の最短経路ネットワーク３０は、ノードｆからノードａへの最短経路を求めるために作成したネットワークであるが、到着ノードが同じであれば、図４の最短経路ネットワーク３０を用いて、ノードｆ以外の別のノードｂ〜ｅから到着ノードａへの最短経路探索にも利用できる。
例えば、図４の最短経路ネットワーク３０において、ノードｅからノードａへの経路を挙げると、下記の２通りがある。
ｅ→ａ
ｅ→ｂ→ａ
これらの経路も図２の本来の経路探索ネットワーク１０において、コストが「４」で、最短経路となっている。
【００３６】
このことから、経路探索ネットワーク上の全ての２ノード間の全最短経路を探索する場合、図２の本来の経路探索ネットワーク１０から図４の最短経路ネットワーク３０への変換回数は、図２の本来の経路探索ネットワーク１０上のノードの数だけ行えばよく、この点でも効率よく最短経路探索が行える利点がある。
【００３７】
上記実施形態は、到着点のノード情報が入力される度に、そのノードを到着ノードとする最短経路ネットワークデータを生成する構成であるが、これに限らない。例えば、データストレージ装置３内の格納データで構築される本来の経路探索ネットワーク１０における全てのノードについて、それぞれ到着点とした最短経路ネットワークデータを予め作成して記憶装置５に格納しておくようにしてもよい。また、本来の経路探索ネットワーク１０における全てのノードについて、全ての出発点と到着点の組合せの最短経路ネットワークデータを予め作成して記憶装置５に格納しておくようにしてもよい。
【００３８】
前者の構成による最短経路探索動作は、図７のフローチャートのようになる。
ステップＳ１１で、入力部２で求める出発点と到着点を入力する。
ステップＳ１２で、経路探索部６により、予め作成して記憶装置３に格納した最短経路ネットワークデータの中から、入力された到着点を到着ノードとした最短経路ネットワークデータを選択して読出す。
ステップＳ１３で、経路探索部６により、呼び出した最短経路ネットワークデータから構築される最短経路ネットワークを用いて、出発点からの全経路を算出する。
ステップＳ１４で、探索経路情報とそのコスト情報を出力部７から出力する。
【００３９】
後者の構成による最短経路探索動作は、図８のフローチャートのようになる。
ステップＳ２１で、入力部２で求める出発点と到着点を入力する。
ステップＳ２２で、経路探索部６により、予め作成して記憶装置３に格納した各最短経路ネットワークデータの中から、入力された出発点と到着点をそれぞれ出発ノードと到着ノードとした最短経路ネットワークデータを選択して読出す。
ステップＳ２３で、経路探索部６により、読出した最短経路ネットワークデータから構築される最短経路ネットワークを用いて、全経路を算出する。
ステップＳ２４で、探索経路情報とそのコスト情報を出力部７から出力する。
【００４０】
本実施形態の経路探索装置を利用すれば、ノードを駅としアークのコストを距離としたネットワークデータに基づいて、図５のフローチャートのようにして図４のような最短経路ネットワークを構築するネットワークデータを作成し、作成した最短経路ネットワークデータで構築される図４のような最短経路ネットワークで、全経路探索を行えば、与えられた２駅間に存在する全ての最安運賃経路を効率よく短時間で探索することが可能となる。
【００４１】
また、各駅をノードとし、同一料金体系内の全てのノードをアークで互いに直接接続し、アークで接続したノード間の接続の重み付けを運賃三角表データに基づいた運賃とするネットワークを利用することにより、与えられた２駅間に存在する全ての最安運賃経路を求めることができる。即ち、前述の運賃ネットワークデータに基づいて、図５のフローチャートのようにして最小コスト経路ネットワークとして図４のような最安運賃経路ネットワークを構築するネットワークデータを作成し、作成した最安運賃経路ネットワークデータで構築される図４のような最安運賃経路ネットワークで、全経路探索を行えば、与えられた２駅間に存在する全ての最安運賃経路を効率よく短時間で探索することが可能となる
【００４２】
次に、本発明の第２実施形態を説明する。
図９は、本発明に係る経路探索装置の第２実施形態の構成を示すブロック図である。尚、第１実施形態と同一要素には同一符号を付して説明を省略する。
図９において、本実施形態の経路探索装置１は、最短経路ネットワークデータ生成部４に、量子化手段としてアークコスト量子化部４Ｄを追加した以外は、第１実施形態と同じ構成である。
【００４３】
前記アークコスト量子化部４Ｄは、本来の経路探索ネットワークの各アークのコストを所定の規則に従ってそれぞれ量子化するものである。ここで量子化とは、実際の数値を所定の規則に従って近い代表値に置き換えることであり、所定の規則とは、例えば、四捨五入、切捨て、切上げ、代表値を含むある数値範囲を設定してその範囲内の数値を代表値に置き換える等の方法が考えられるが、これら方法に限らない。
【００４４】
次に、第２実施形態の経路探索装置１による最短経路ネットワークデータの生成及び最短経路ネットワークデータを用いた最短経路探索の各動作を、図１０のフローチャートを参照して説明する。
ステップＳ３１で、入力部２において、出発点と到着点の各情報を入力する。
ステップＳ３２で、本来の経路探索ネットワークデータの各アークのコストを量子化する。例えば、データストレージ装置３に記憶されている本来の経路探索ネットワークデータが、図１１のような経路探索ネットワーク４０を構築するデータである場合、その各コストについて１００未満を切り捨てて図１２のような代表値に置き換える。
【００４５】
この量子化後は、図１２の経路探索ネットワーク４０′を本来の経路探索ネットワークデータと見なして、図５に示す第１実施形態のステップＳ２〜Ｓ６の動作と同じ動作を、ステップＳ３３〜Ｓ３７で順次実行する。これにより、コストが零のアークと当該アークで接続されたノードのみで構成される図１３の最短経路ネットワーク５０を構築するためのネットワークデータが生成される。図１３の四角形で囲まれた数字は、各ノードから到着ノードａまでの最小コストを表している。
【００４６】
かかる第２実施形態によれば、アークコストの量子化を行うことで、複数の最短（最小コスト）経路を存在させることが可能になる。図１１の本来の経路探索ネットワーク４０では、ノードｆからノードａに向かう最短経路は、ｆ→ｃ→ｂ→ａの一通りであるが、図１２の量子化後の経路探索ネットワーク４０′では、ｆ→ｃ→ｂ→ａ、ｆ→ｅ→ｄ→ａ、ｆ→ｅ→ｂ→ａ、ｆ→ｅ→ａの４通りであり、生成される図１３の最短経路ネットワーク５０はそれを表している。これらの経路は、最短に近い経路であり、量子化することで最短に近い経路を全て又は任意数だけ探索することが可能となる。
【００４７】
コストを量子化した最短経路ネットワークを用いた経路探索装置では、例えば、カーナビゲーションで距離が短く且つ目的地までに要する時間も短い経路を探索する場合、最短に近い経路を全て探索しておき、探索されたそれぞれの経路に対して時間の重み付け（例えば渋滞情報、交通履歴、事故情報等に基づいた所要時間の度合い）を行って最適な経路を探索することが可能となる。
【００４８】
尚、ネットワークにおけるアークに付加するコストの種類は、距離、金額、時間等どのようなものでもよい。
【図面の簡単な説明】
【００４９】
【図１】本発明に係る料金計算装置の第１実施形態の構成を示すブロック図
【図２】本来の経路探索ネットワークの例を示す図
【図３】図２のネットワークに基づくアークコスト変換ネットワークを示す図
【図４】図２のネットワークに基づく最短経路ネットワークの例を示す図
【図５】第１実施形態の経路探索動作を説明するフローチャート
【図６】本発明の最短経路ネットワークの正当性の説明図
【図７】到着点毎の最短経路ネットワークデータが格納されている場合の経路探索動作を説明するフローチャート
【図８】到着点と出発点の全ての組合せの最短経路ネットワークデータが格納されている場合の経路探索動作を説明するフローチャート
【図９】本発明に係る料金計算装置の第２実施形態の構成を示すブロック図
【図１０】第２実施形態の経路探索動作を説明するフローチャート
【図１１】量子化前の本来の経路探索ネットワークの例を示す図
【図１２】図１１のネットワークに基づく量子化後のネットワークの例を示す図
【図１３】図１１のネットワークに基づく最短経路ネットワークの例を示す図
【符号の説明】
【００５０】
１    経路探索装置
２    入力部
３    データストレージ装置
４    最短経路ネットワークデータ生成部
５    記憶装置
６    経路探索部
７    出力部
１０，４０    経路探索ネットワーク
２０    アークコスト変換ネットワーク
３０、５０    最短経路ネットワーク
４０′    経路探索ネットワーク（量子化後の）
【図１】
0005036573.tif 000002
【図２】
0005036573.tif 000003
【図３】
0005036573.tif 000004
【図４】
0005036573.tif 000005
【図５】
0005036573.tif 000006
【図６】
0005036573.tif 000007
【図７】
0005036573.tif 000008
【図８】
0005036573.tif 000009
【図９】
0005036573.tif 000010
【図１０】
0005036573.tif 000011
【図１１】
0005036573.tif 000012
【図１２】
0005036573.tif 000013
【図１３】
0005036573.tif 000014