(57)【特許請求の範囲】
【請求項１】
コンピュータが、
複数のノードと、該複数のノードのうちの２つのノードを結び、コストが設定されたリンクの複数とにより表現された情報を利用し、該複数のノードのうちの第１のノードから第２のノードに向かう経路探索において、該複数のノードのうちの探索済みとして記録されたノードに隣接するノードであって、まだ探索済みではないノードを探索対象ノードとし、複数の該探索対象ノードの中から第１の探索方法により１のノードを探索し、
前記探索する処理により探索されたノードと前記第２のノードとの距離を記録するとともに、該探索されたノードを探索済みとして記録し、
前記探索する処理と前記記録する処理とを２回以上実行した結果として得られる、探索済みとして記録された２以上のノードのそれぞれと前記第２のノードとの距離を用いて計算される値を閾値と比較し、該計算される値が該閾値より大きい場合に、前記第１の探索方法を、探索対象ノードの増加が抑制される第２の探索方法に変更し、
前記第２の探索方法により探索されたノードに基づく経路情報を生成する
ことを特徴とする経路探索方法。
【請求項２】
前記計算される値は、探索済みとして記録された２以上のノードのそれぞれと前記第２のノードとの距離の平均値であることを特徴とする請求項１記載の経路探索方法。
【請求項３】
前記コンピュータは、
前記２以上の探索済みとして記録されたノードと前記第２のノードとの距離の平均値が前記閾値より小さい場合、該閾値をより小さい値に変更して、複数の探索対象ノードの中から前記第１の探索方法により１のノードを探索し、探索されたノードと前記第２のノードとの距離を記録するとともに、該探索されたノードを探索済みとして記録し、
前記閾値を変更した後に、前記探索する処理と前記記録する処理とを２回以上実行した結果として得られる、探索済みとして記録された２以上のノードのそれぞれと前記第２のノードとの距離の平均値が変更後の閾値より大きい場合、前記第１の探索方法を前記第２の探索方法に変更することを特徴とする請求項２記載の経路探索方法。
【請求項４】
前記第１の探索方法は、距離に基づいて道路の種類を複数に分類したグループのうち、前記第１のノードと前記第２のノードとの距離に対応する第１グループの道路に対応する複数のノードと複数のリンクとに基づいて経路探索を行う方法であり、前記第２の探索方法は、前記第１のノードと前記第２のノードとの距離より長い距離に対応する第２グループの道路に対応する複数のノードと複数のリンクとに基づいて経路探索を行う方法であることを特徴とする請求項２又は３記載の経路探索方法。
【請求項５】
前記コンピュータは、前記第２グループの道路として、前記第１の探索方法により探索された前記探索済みとして記録された２以上のノードのそれぞれと前記第２のノードとの距離の平均値により示される距離と対応するグループを選択することを特徴とする請求項４記載の経路探索方法。
【請求項６】
前記コンピュータは、前記第１のノードから前記第２のノードに向かう経路探索の開始時刻から経過した時間が所定時間を超えた場合には、前記複数の探索済みとして記録されたノードと前記第２のノードとの距離にかかわらずに、前記第１の探索方法を前記第２の探索方法に変更することを特徴とする請求項１乃至５のいずれか１項に記載の経路探索方法。
【請求項７】
前記コンピュータは、前記複数の探索済みとして記録されたノードと前記第２のノードとの距離の平均値が前記閾値より大きく、該複数の探索済みとして記録されたノードと前記第２のノードとの距離の最小値が所定値より大きい場合に、前記第１の探索方法を前記第２の探索方法に変更することを特徴とする請求項２乃至６のいずれか１項に記載の経路探索方法。
【請求項８】
前記第１の探索方法は、前記複数の探索対象ノードの第１の重み付けコストに基づいて経路探索を行う方法であり、前記第２の探索方法は、前記第１の重み付けコストとは異なる第２の重み付けコストに基づいて経路探索を行う方法であることを特徴とする請求項１又は３記載の経路探索方法。
【請求項９】
前記第１の探索方法は、ダイクストラ法に基づいて経路探索を行う方法であり、前記第２の探索方法は、Ａ＊アルゴリズムに基づいて経路探索を行う方法であることを特徴とする請求項１又は３記載の経路探索方法。
【請求項１０】
複数のノードと、該複数のノードのうちの２つのノードを結び、コストが設定されたリンクの複数とにより表現された情報を利用し、該複数のノードのうちの第１のノードから第２のノードに向かう経路探索において、該複数のノードのうちの探索済みとして記録されたノードに隣接するノードであって、まだ探索済みではないノードを探索対象ノードとし、複数の該探索対象ノードの中から第１の探索方法により１のノードを探索する探索手段と、
前記探索する処理により探索されたノードと前記第２のノードとの距離を格納するとともに、該探索されたノードを探索済みとして格納する格納手段と、
前記探索する処理と前記記録する処理とを２回以上実行した結果として得られる、探索済みとして記録された２以上のノードのそれぞれと前記第２のノードとの距離を用いて計算される値を閾値と比較し、該計算される値が該閾値より大きい場合に、前記第１の探索方法を、探索対象ノードの増加が抑制される第２の探索方法に変更する変更手段と、
前記第２の探索方法により探索されたノードに基づく経路情報を生成する生成手段と
を備えることを特徴とする経路探索装置。
【請求項１１】
複数のノードと、該複数のノードのうちの２つのノードを結び、コストが設定されたリンクの複数とにより表現された情報を利用し、該複数のノードのうちの第１のノードから第２のノードに向かう経路探索において、該複数のノードのうちの探索済みとして記録されたノードに隣接するノードであって、まだ探索済みではないノードを探索対象ノードとし、複数の該探索対象ノードの中から第１の探索方法により１のノードを探索し、
前記探索する処理により探索されたノードと前記第２のノードとの距離を記録するとともに、該探索されたノードを探索済みとして記録し、
前記探索する処理と前記記録する処理とを２回以上実行した結果として得られる、探索済みとして記録された２以上のノードのそれぞれと前記第２のノードとの距離を用いて計算される値を閾値と比較し、該計算される値が該閾値より大きい場合に、前記第１の探索方法を、探索対象ノードの増加が抑制される第２の探索方法に変更し、
前記第２の探索方法により探索されたノードに基づく経路情報を生成する
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経路探索方法、経路探索装置、及びプログラムに関する。
【背景技術】
【０００２】
出発地ノードから目的地ノードまでの経路を探索する経路探索アルゴリズムとしては、ダイクストラ（Dijkstra）法及びＡ*アルゴリズムを含む様々なものが知られている。
ダイクストラ法では、ノード間をつなぐリンクにより表現された地図上で、あらかじめ各リンクに設定されたコストの情報を基に、コストの総和が最小となる経路（リンク列）が探索される。道路地図の場合、例えば、ノードとして出発地ノード、目的地ノード、交差点等が用いられ、リンクとして２つの交差点をつなぐ道路が用いられ、各リンクのコストとして、リンク長、走行時間等が用いられる。
【０００３】
ダイクストラ法では、まず、出発地ノードに隣接するノードを探索対象ノード群とし、その中から最小コストで到達できるノードを決定し、探索済みノードとする。次に、探索済みノードは探索対象ノード群から除外され、探索済みノードを経由して到達可能なノード群が、新たに探索対象ノード群に加えられる。このとき、探索済みノードに到達する前に経由したノードは、直前経由ノードとして記録される。そしてこの時点では、出発地ノードが直前経由ノードになる。探索済みノードが目的地ノードでない場合、引き続き探索対象ノード群内で、出発地ノードから最小コストで到達可能なノードを決定する。このような探索を目的地ノードが探索済みノードとして決定されるまで繰り返す。そして、目的地ノードが探索済みノードとして決定されると探索を終了し、目的地ノードから直前経由ノードを順に遡ることで、出発地ノードと目的地ノードをつなぐ最小コストの経路を求める。
【０００４】
図１は、ダイクストラ法を用いた経路探索処理においてノードの探索が進行する様子を示す説明の図である。図１中、白のドットは探索対象ノードを表し、黒のドットは探索済みノードを表す。図１（ａ）では、出発地ノードＳに隣接する４つのノードが探索対象ノードとして登録され、図１（ｂ）及び図１（ｃ）では、探索済みノードに隣接する複数のノードが探索対象ノードとして追加されている。そして、図１（ｄ）において次に登録される探索済みノードが目的地ノードＧに一致すると、経路探索処理が終了する。
【０００５】
Ａ*アルゴリズムでは、探索対象ノードまでのコストを算出する際に、そのノードから目的地ノードまでの直線距離等のコストを付加することで、探索を高速化することができる。
【０００６】
ダイクストラ法では、出発地ノードと目的地ノードが遠く離れている場合、目的地ノードに到達するまでに探索するノードの数が大量になり、しばしば処理時間が膨大になることがある。このような問題に対して、各道路を道路種別に応じて複数のレベルに分類し、出発地点と目的地点との直線距離に基づいて１つのレベルを選択し、経路探索を行う技術が知られている。
【０００７】
この技術では、例えば、高速道路及び国道から成る道路網が最上位レベルに分類され、高速道路、国道、及び都道府県道から成る道路網がその下位のレベルに分類され、高速道路、国道、及び県道を含む市町村道路以上の道路網がさらに下位のレベルに分類され、すべての道路が最下位のレベルに分類される。そして、出発地点と目的地点との直線距離が短い場合は、詳細な道路網である最下位レベルを用いて、すべての道路を走行対象として経路探索を実施する。
【０００８】
一方、直線距離が長い場合は、まず、最下位レベルの道路網を利用して、出発地点からより上位のレベルの道路網上の仮の出発地点までの経路を探索し、同様にして、目的地点からより上位のレベルの道路網上の仮の目的地点までの経路を探索する。その上で、仮の出発地点と仮の目的地点をつなぐ経路を該上位のレベルの道路網上で探索する。このように、出発地点と目的地点との距離に応じたレベルの道路網を探索することで、探索対象ノードの数を削減し、探索に要する処理時間を短縮することができる。また、遠距離の走行において、細街路ではなく、国道のような広い道路を優先した経路を探索して、一般的な利用者の要求に適合した経路を求めることができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平６−５２２３７号公報
【非特許文献】
【００１０】
【非特許文献１】E. W. Dijkstra, “ HYPERLINK "http://www-m3.ma.tum.de/twiki/pub/MN0506/WebHome/dijkstra.pdf" A Note on Two Problems In Connexion with Graphs”, Numerische Mathematik 1, pp. 269-271, 1959.
【非特許文献２】P. E. Hart, N. J. Nilsson, B. Raphael, “A Formal Basis for the Heuristic Determination of Minimum Cost Paths”, IEEE Transactions of Systems Science and Cybernetics, Vol. SSC-4, No. 2, pp. 100-107, 1968.
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述した従来の経路探索技術には、以下のような問題がある。
出発地点と目的地点の位置関係によっては、直線距離は近いものの、出発地点と目的地点との間に湾、湖、山等の障害物があるため直線的な経路が存在せず、障害物を迂回する経路を探索する必要がある場合がある。この場合、実際に走行することができる迂回経路の走行距離は、出発地点と目的地点との直線距離とはかけ離れた距離になることに、発明者らは気づいた。
【００１２】
しかしながら、上述の従来技術による道路を複数のレベルに分類して経路探索を行う方法では、出発地点と目的地点との直線距離に基づいて道路網が選択される。このため、実際には長距離の迂回経路を探索する必要があるにもかかわらず、短距離用の詳細な道路網を用いた探索が行われ、処理時間を長期化させる原因となる。
【００１３】
１つの側面において、本発明の課題は、出発地から目的地までの実際の経路上の距離が出発地と目的地との距離と著しく異なる場合に、経路探索に要する処理時間の長期化を抑止することである。
【課題を解決するための手段】
【００１４】
１つの側面において、コンピュータによって実行される経路探索方法は、複数のノードと、複数のノードのうちの２つのノードを結び、コストが設定されたリンクの複数とにより表現された情報を利用する。そして、上記複数のノードのうちの第１のノードから第２のノードに向かう経路探索を行う。
【００１５】
このとき、上記複数のノードのうちの探索済みとして記録されたノードに隣接するノードであって、まだ探索済みではないノードを探索対象ノードとし、複数の探索対象ノードの中から第１の探索方法により１のノードを探索する。そして、探索する処理により探索されたノードと第２のノードとの距離を記録するとともに、探索されたノードを探索済みとして記録する。
【００１６】
次に、探索する処理と記録する処理とを２回以上実行した結果として得られる、探索済みとして記録された２以上のノードのそれぞれと第２のノードとの距離に基づいて、第１の探索方法を、探索対象ノードの増加が抑制される第２の探索方法に変更する。そして、第２の探索方法により探索されたノードに基づく経路情報を生成する。
【発明の効果】
【００１７】
上述した側面における経路探索方法によれば、出発地から目的地までの実際の経路上の距離が出発地と目的地との距離と著しく異なる場合に、経路探索に要する処理時間の長期化を抑止することができる。
【図面の簡単な説明】
【００１８】
【図１】ダイクストラ法を用いた経路探索処理を示す図である。
【図２】経路探索システムの構成図である。
【図３】地図情報データベースのノード情報を示す図である。
【図４】地図情報データベースのリンク情報を示す図である。
【図５】交通情報データベースの情報を示す図である。
【図６】経路探索装置の機能的構成図である。
【図７】第１の経路探索処理のフローチャートである。
【図８】探索部の機能的構成図である。
【図９】格納部に格納されるデータを示す図である。
【図１０】道路網グループを示す図である。
【図１１】距離平均値の閾値を示す図である。
【図１２】第２の経路探索処理のフローチャートである。
【図１３】探索済みノード情報を示す図である。
【図１４】迂回経路を探索する経路探索処理を示す図（その１）である。
【図１５】迂回経路を探索する経路探索処理を示す図（その２）である。
【図１６】迂回経路を探索する経路探索処理を示す図（その３）である。
【図１７】探索回数と距離平均値の関係を示す図（その１）である。
【図１８】探索回数と距離平均値の関係を示す図（その２）である。
【図１９】第３の経路探索処理のフローチャートである。
【図２０】距離最小値の閾値を示す図である。
【図２１】第４の経路探索処理のフローチャートである。
【図２２】第５の経路探索処理のフローチャートである。
【図２３】情報処理装置の構成図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照しながら、実施形態を詳細に説明する。
図２は、複数の経路探索装置を含む経路探索システムの構成例を示している。図２の経路探索システムは、インタフェース１０３、ロードバランサ１０４、経路探索装置１０５−１〜１０５−４、地図情報データベース１０６、及び交通情報データベース１０７を含む。
【００２０】
端末１０１は、ユーザのサーバ、パーソナルコンピュータ、携帯端末、車載用ナビゲーション装置等の情報処理装置であり、有線又は無線の通信ネットワーク１０２を介して、インタフェース１０３にアクセスする。端末１０１は、経路探索の対象とする範囲を設定するための２地点に関する情報を含む経路探索要求をインタフェース１０３へ送信する。ここで、２地点として、例えば、出発地点及び目的地点が考えられる。また、２地点に関する情報としては例えば、それぞれの地点の緯度経度の情報を利用することができる。
【００２１】
インタフェース１０３は、経路探索要求を受け付ける情報処理装置であり、受信した経路探索要求をロードバランサ１０４に転送する。必要であれば、インタフェース１０３において端末１０１を操作するユーザの認証処理等を行ってもよい。
【００２２】
ロードバランサ１０４は、複数の経路探索要求を分散させる処理を行う情報処理装置であり、インタフェース１０３から転送された経路探索要求を、所定の負荷分散アルゴリズムに基づいて経路探索装置１０５−１〜１０５−４のいずれかへ送信する。
【００２３】
地図情報データベース１０６は、複数の道路の道路情報を含む地図情報を格納する記憶装置である。各道路の道路情報は、その道路に含まれる複数のノードの位置情報と、ノード間のリンクの情報とを含む。ノードに関する情報としては、図３に示すように、ノードを一意に識別する情報、ノードの位置情報、リンクを介してノードに隣接する他ノードの識別情報が、対応付けられて格納されている。リンクに関する情報としては、図４に示すように、リンクを一意に識別する情報、該リンクが相当する道路の種別、リンクの長さの情報が、対応付けられて格納されている。リンクを一意に識別する情報は、リンクの両端点を示すノードの情報として記憶することが考えられる。地図情報データベース１０６に格納される情報は、本実施例のシステムが動作する前に予め格納されているものとする。また、システムの動作中において、隣接ノードの情報が変化した場合に、更新されても構わない。
【００２４】
交通情報データベース１０７は、各リンクにおける旅行時間情報を格納する記憶装置である。旅行時間は、リンク長が同じであっても、リンクが属する道路の種別、リンクの位置、リンク上を移動する日時等の条件に応じて変化させた状態でコストとして設定してもよい。図５の例では、各リンクを識別するための情報である、リンクの両端点のノードの情報と対応付けて、リンクに設定されたコストに関する値が、日時の情報と対応付けて記憶されている。なお、日時の情報は、どのような時間区切りを単位としたものであっても構わない。図５の例では、年月日と時刻とが含まれた情報として格納されている例を示しているが、日付だけでもよいし、曜日や時間帯などであってもよい。交通情報データベース１０７に格納される情報は、本実施例のシステムが動作する前に予め格納されているものとする。また、システムの動作中において、旅行時間に関する値が変化した場合に、更新されても構わない。
【００２５】
地図情報データベース１０６、交通情報データベース１０７に含まれる各リンクのリンク長、旅行時間情報は、コスト情報として経路探索で利用される。また、地図情報データベース１０６、交通情報データベース１０７に格納される情報は、まとめて一つのテーブルに格納されていてもよいし、互いに関連付けられた複数のテーブルに分散して格納されていても構わない。
【００２６】
経路探索装置１０５−１〜１０５−４のそれぞれは、経路探索処理を行う情報処理装置であり、受信した経路探索要求、地図情報データベース１０６の地図情報、及び交通情報データベース１０７の交通情報に基づいて出発地ノードから目的地ノードへの経路を求める。そして、その経路を示す経路情報を生成し、ロードバランサ１０４へ送信する。経路情報は、インタフェース１０３及び通信ネットワーク１０２を介して端末１０１へ送信される。
【００２７】
端末１０１は、受信した経路情報が示す経路を表示するための情報を他の情報処理装置へ送信したり、その経路を画面上に表示したりする。
【００２８】
図６は、図２の経路探索装置１０５−１〜１０５−４の機能的構成例を示している。図２の経路探索装置１０５−１〜１０５−４のそれぞれは同様の機能的構成を有しており、それぞれが、図６の経路探索装置１０５に対応する。以降、経路探索装置１０５−１〜１０５−４のいずれか１台を指して、経路探索装置１０５と表現する場合がある。図６の経路探索装置１０５は、探索部２０１、格納部２０２、変更部２０３、及び生成部２０４を含む。
【００２９】
図７は、図６の経路探索装置１０５の各処理部が協同することにより実行される経路探索処理の第１の例を示すフローチャートである。
まず、探索部２０１は、端末１０１から受信した経路探索要求に基づいて特定した第１のノードから第２のノードに向かう経路探索において、複数の探索対象ノードの中から第１の探索方法により１個のノードを探索する（ステップ３０１）。例えば、出発地に相当するノードを第１のノード、目的地に相当するノードを第２のノードとすることができる。なお、以降の説明において、第１のノードを指して出発地ノード、第２のノードを指して目的地ノードと記載する場合がある。本実施形態における経路探索の処理においては、２地点間の経路を探索する処理であれば、該２地点は、端末１０１のユーザが実際に出発する地点や実際に到着する地点でなくても構わないことは言うまでもない。
【００３０】
またここで、第１の探索方法でノードを探索する際には、最小コストのノードを探索することが考えられる。
そして、探索されたノードと目的地ノードとの距離を格納部２０２に記録する（ステップ３０２）。距離としては、直線距離を用いることが考えられる。
【００３１】
探索部２０１は、ステップ３０１の複数の探索対象ノードの中から１個のノードを探索する処理、及び、ステップ３０２の処理を、探索処理が所定の状態になるまで繰り返す。もし、探索処理が所定の状態になる前に、ステップ３０１において探索されたノードが目的地ノードと等しくなった場合には、ステップ３０４へ処理を移行する。
【００３２】
変更部２０３は、ステップ３０２において探索処理が所定の状態になると、複数の探索されたノードと目的地ノードとの距離に基づいて、第１の探索方法を、探索対象ノードの増加が抑制される第２の探索方法に変更する（ステップ３０３）。例えば、複数の探索されたノードと目的地ノードとの距離の平均値と、予め定められた閾値とを比較し、距離の平均値が閾値より大きい場合に第２の探索方法に変更することが考えられる。
【００３３】
探索方法が変更されると、探索部２０１は、変更された後の探索方法を用いて、ステップ３０１における複数の探索対象ノードの中から１個のノードを探索する処理、及び、ステップ３０２の処理を繰り返す。
【００３４】
そして、生成部２０４は、探索されたノードが目的地ノードと等しくなった場合に、探索されたノードに基づく経路情報を生成する（ステップ３０４）。生成された経路情報は、出発地ノードから目的地ノードへの経路を示すノード及びリンクの情報を含む。
【００３５】
このような経路探索システムによれば、出発地から目的地までの実際の経路上の距離が出発地と目的地との距離と著しく異なる場合に、経路探索に要する処理時間の長期化を抑止することができる。
【００３６】
図２の経路探索システムは、１つの端末１０１を含んでいるが、実施形態の経路探索システムに含まれる端末の数は２つ以上の場合もある。また、図２の経路探索システムは４台の経路探索装置１０５−１〜１０５−４を含んでいるが、実施形態の経路探索システムに含まれる経路探索装置の数は３台以下の場合もあり、５台以上の場合もある。実際には、システムへの負荷に合わせて経路探索装置の台数が決定される。経路探索装置１０５が１台の場合には、ロードバランサ１０４をシステムに含めなくてもよい。また、インタフェース１０３をシステムに含めずに、端末１０１からのデータを経路探索装置１０５が直接受信してもよい。
【００３７】
経路探索装置１０５−１〜１０５−４をそれぞれ個別の情報処理装置として実装する代わりに、１台の情報処理装置上で動作する複数の仮想マシンとして実装しても構わない。あるいは、経路探索装置１０５−１〜１０５−４を、複数台の異なる情報処理装置上に分散配置された複数の仮想マシンとして実装しても構わない。また、複数の経路探索要求を各々リアルタイムで処理する代わりに、バッチ処理で処理しても構わない。
【００３８】
図８は、図６の探索部２０１の機能的構成例を示している。図８の探索部２０１は、入力受付部４０１、道路網選択部４０２、閾値設定部４０３、閾値更新部４０４、探索処理部４０５、及び出力部４０６を含む。
【００３９】
図９は、図６の格納部２０２に格納されるデータの例を示している。図９の格納部２０２は、探索対象ノード情報５０１、探索済みノード情報５０２、及び探索パラメータ５０３を格納する。
【００４０】
探索対象ノード情報５０１は、地図情報データベース１０６に格納されている道路情報から読み込まれた、探索部２０１による探索の対象となる１つ以上のノードの情報を含む。探索済みノード情報５０２は、探索されたノードとそのノードに到達するまでに要した総コストと、そのノードに到達する前に経由した直前経由ノードの情報とを含む。また、探索パラメータ５０３は、距離平均値の閾値、その閾値の減少量を規定するパラメータ、探索回数を示す探索カウンタ、及び探索回数の閾値を含む。
【００４１】
距離平均値の閾値は、経路探索処理の途中で探索対象の道路網を変更するか否かを判定する際に用いられ、経路探索処理において動的に変更される。その閾値の初期値は、出発地ノードと目的地ノードとの直線距離よりも大きな値であればよい。
【００４２】
経路探索装置１０５では、詳細度の異なる複数の道路網に対応する複数のグループが設定された道路情報を用いて、経路探索処理が行われる。どの道路種別が、どのグループに対応付けられているかについての情報、すなわち道路網グループについての情報は、探索パラメータの一種として、探索パラメータ５０３に格納されている。図１０は、道路網グループについて、グループと道路種別とを対応付けて格納するデータテーブルの例である。
【００４３】
例えば、グループ１は、高速道路、国道、都道府県道、及びその他の一般道を含むすべての道路から成る道路網に対応し、グループ２は、高速道路、国道、及び都道府県道から成る道路網に対応する。そして、グループ３は、高速道路及び国道から成る道路網に対応する。例えばグループ１を最下位としグループ３を最上位とすると、探索済みノードと目的地ノードとの距離の平均値が閾値より大きい場合、より上位の道路網に基づいて経路探索を行う探索方法に変更することで、探索対象ノードの増加が抑制される。
【００４４】
図１１は、探索パラメータ５０３のうち、距離平均値の閾値として設定される初期値の例を示している。図１１のような閾値設定用のテーブルも、格納部２０２の中に記憶されている。この例では、出発地ノードと目的地ノードとの距離Ｄが属する距離範囲に応じて、上述のグループ１〜３の３つの道路網が定義され、グループ１及び２について閾値Ｔ１及びＴ２がそれぞれ設定されている。
【００４５】
グループ２や３の道路網はグループ１の道路網よりも、ノード数、リンク数共に少ないので、「粗い」と表現できる。またさらに、グループ３の道路網はグループ２の道路網よりも、ノード数、リンク数共に少ないので、「粗い」と表現できる。グループ３については、それより粗い道路網のグループが存在しないため、閾値は設定されない。それぞれの距離範囲に対応する道路の道路種別は、以下の通りである。
（１）近距離
・距離範囲：ＤがＤ１以下。
・グループ１：すべての道路。
・距離平均値の閾値：Ｔ１
（２）中距離
・距離範囲：ＤがＤ１より大きくＤ２以下。
・グループ２：高速道路、国道、及び都道府県道。
・距離平均値の閾値：Ｔ２
（３）遠距離
・距離範囲：ＤがＤ２より大きい。
・グループ３：高速道路及び国道。
【００４６】
距離範囲を区切る値のうちＤ１としては、例えば、３０００ｍ〜１０ｋｍの範囲の値が用いられ、Ｄ２としては、例えば、３０ｋｍ〜１００ｋｍの範囲の値が用いられる。図１１の例では、距離範囲が３つに分割されているが、距離範囲を２つに分割してもよく、４つ以上に分割してもよい。閾値Ｔ１及びＴ２は、例えば、それぞれＤ１及びＤ２以上の値に設定される。
【００４７】
なお、閾値の初期値は、必ずしも道路網のグループ毎に設定する必要はなく、出発地ノードと目的地ノードとの距離に所定の係数を乗算して決定してもよい。
探索済みノードと目的地ノードとの距離平均値が閾値以下の場合、その閾値から、探索パラメータ５０３のうち閾値の減少量を規定するパラメータとして格納されている所定の減少量を差し引くことで、閾値が更新される。閾値の減少量としては、固定された一定値でもよいし、閾値の初期値又は現在の閾値に一定の割合を乗算した結果を用いてもよい。後者の場合、その乗算結果又は一定の割合が、閾値の減少量を規定するパラメータとして設定される。一定の割合とは、例えば、１０％、２０％等である。
【００４８】
図１２は、図６の経路探索装置１０５による経路探索処理の第２の例を示すフローチャートである。まず、探索部２０１の入力受付部４０１は、端末１０１から経路探索要求を受信する。そして、端末１０１から受信した経路探索要求に基づき、地図情報データベース１０６に記憶されている道路情報のノードに追加して、出発地の緯度経度に対応する出発地ノード、目的地の緯度経度に対応する目的地ノードを生成する。（ステップ７０１）。
【００４９】
次に、道路網選択部４０２は、出発地ノード及び目的地ノードの情報に基づいて、出発地ノードと目的地ノードとの距離を算出し（ステップ７０２）、得られた距離に基づいて探索対象とする道路網を決定する（ステップ７０３）。なお、図７の説明箇所で記載したとおり、距離としては、直線距離を用いることが考えられる。
【００５０】
閾値設定部４０３は、ステップ７０２において得られた距離に基づいて、格納部２０２から図１１に例示した閾値設定用のテーブルを参照する。そして、距離平均値の閾値の初期値を決定し、格納部２０２の探索パラメータ５０３に格納する（ステップ７０４）。ステップ７０３と７０４とは、どちらが先に実行されても構わない。
【００５１】
次に、探索処理部４０５は、探索パラメータ５０３に含まれる探索カウンタを０に設定する（ステップ７０５）。そして、図３及び図４に例示された地図情報データベース１０６の道路情報に格納されている複数のノードの中から、出発地ノードに隣接する１つ以上のノードを、探索対象ノード情報５０１に登録する（ステップ７０６）。次に、登録された探索対象ノードのうち、図５に例示された交通情報データベース１０７の情報を参照し、出発地ノードから最小コストで到達できるノードを探索し（ステップ７０７）、探索カウンタを１だけインクリメントし（ステップ７０８）、探索されたノードを探索済みノード情報５０２に登録する（ステップ７０９）。なお、ステップ７０７では、ダイクストラ法又はＡ*アルゴリズムを用いてノードが探索される。出発地ノードからのコストは、探索済みノードと対応付けて記録されている総コストに、探索済みノードから隣接ノードまでのリンクと対応付けられたコストを加算することで求めることができる。
【００５２】
次に、探索処理部４０５は、ステップ７０７で探索されたノード、すなわちステップ７０９において探索済みノード情報５０２に登録されたノードを探索対象ノード情報５０１から除外するとともに、該探索されたノードに隣接する１つ以上のノードを、探索対象ノード情報５０１に加える（ステップ７１０）。そして、探索されたノードの直前に経由したノードを直前経由ノードとして、該探索されたノードと対応付けて探索済みノード情報５０２に登録する。また、出発地ノードからステップ７０７で探索されたノードに到るまでに掛かった総コストを、該探索されたノードと対応付けて探索済みノード情報５０２に登録する。（ステップ７１１）。そして、探索されたノードが目的地ノードであるか否かをチェックする（ステップ７１２）。
【００５３】
探索されたノードが目的地ノードである場合（ステップ７１２，Ｙｅｓ）、出力部４０６は、探索済みノード情報５０２を探索結果として生成部２０４に出力する（ステップ７１３）。そして、生成部２０４は、探索済みノード情報５０２に含まれる直前経由ノードを目的地ノードから出発地ノードに向けて順に遡ることで、出発地ノードから目的地ノードへの経路を表す経路情報を生成し、その経路情報を出力する。なお、生成部２０４は、経路情報を出力する際に、経路情報に含まれる各ノードの位置を、緯度経度の情報に変換して出力する。
【００５４】
一方、ステップ７０７で探索されたノードが目的地ノードでない場合（ステップ７１２，Ｎｏ）、探索処理部４０５は、該探索されたノードから目的地ノードまでの距離を算出し、格納部２０２に格納する（ステップ７１４）。格納部２０２内の探索済みノード情報５０２に格納されるデータ例を図１３に示す。ステップ７０９において、新たなレコードが生成され、ステップ７０７で探索されたノード、即ち探索済みノードの識別子が、該レコードの探索済みノードの欄に登録される。そして、ステップ７１１において、直前に経由したノードの識別子が、該レコードの直前に経由したノードの欄に、総コストの情報が総コストの欄に、それぞれ登録される。そして、ステップ７１４において、算出された距離が、該レコードの距離の欄に登録される。
【００５５】
次に、変更部２０３は、探索カウンタと探索回数の閾値とを比較する（ステップ７１５）。探索カウンタが閾値に達していない場合（ステップ７１５，Ｎｏ）、探索処理部４０５は、ステップ７０７以降の処理を繰り返す。そして、探索カウンタが閾値に達すると（ステップ７１５，Ｙｅｓ）、変更部２０３は、直近の探索済みノードの各々から目的地ノードまでの距離の平均値を算出し、算出された平均値を、現在、探索対象としている道路網のグループに対応して探索パラメータ５０３に記憶されている、距離平均値の閾値と比較する（ステップ７１６）。
【００５６】
ここで直近の探索済みノードとは、例えば、最新の探索済みノードを含む、直近の所定回数分の探索により探索された複数のノードを表す。直近の所定回数としては、探索回数の閾値以下の回数が用いられる。例えば、探索回数の閾値が５００回である場合に、直近の所定回数として１００回、即ち、４０１回目の探索から５００回目の探索で探索されたノードについての、目的地ノードまでの距離の平均値を用いることができる。
【００５７】
算出された平均値が閾値以下の場合（ステップ７１６，Ｎｏ）、探索部２０１の閾値更新部４０４は、その閾値をパラメータにより規定された減少量だけ減少させる（ステップ７１９）。そして、探索処理部４０５は、探索カウンタを０に設定し（ステップ７２０）、ステップ７０７以降の処理を繰り返す。これにより、ステップ７１０で更新された探索対象ノード情報５０１を用いて経路探索が続行される。
【００５８】
一方、算出された平均値が閾値より大きい場合（ステップ７１６，Ｙｅｓ）、変更部２０３は、探索対象の道路網を１段階粗いグループに変更する（ステップ７１７）。そして、閾値更新部４０４は、距離平均値の閾値を探索対象の道路網に対応する初期値に変更し（ステップ７１８）、探索処理部４０５は、探索済みノード情報５０２に格納した情報を初期化して、ステップ７０５以降の処理を繰り返す。これにより、変更後の道路網を対象として、再び出発地ノードから経路探索が開始される。
【００５９】
例えば、ステップ７０３においてグループ１の道路網が選択された場合、ステップ７１６において閾値Ｔ１が用いられる。そして、ステップ７１７において探索対象の道路網がグループ２に変更されると、ステップ７１８において閾値がＴ２に変更される。
【００６０】
その後、ステップ７１６において算出された平均値が閾値Ｔ２を超えると、ステップ７１７において探索対象の道路網がグループ３に変更される。ただし、グループ３には閾値が設定されていないため、ステップ７１８において閾値は変更されない。グループ３の道路網を対象とする経路探索では、問題にならない処理時間で目的地ノードに到達できるように、予めグループ３に対応させるべき道路網が設定されているものとする。
【００６１】
図１４〜図１６は、出発地ノードから目的地ノードまでの実際の経路上の距離が出発地ノードと目的地ノードとの距離と著しく異なる場合の例として、湾を挟んで目的地ノードが出発地ノードの対岸に位置する場合の経路探索処理を示している。図１７及び図１８は、この経路探索処理における探索回数と距離平均値の関係を、縦軸を距離平均値の値、横軸を探索回数としたグラフ状で示している。この場合、図１４の出発地ノードＳと目的地ノードＧをつなぐ直線的な経路が存在しないため、湾を迂回する経路が探索される。
【００６２】
図１７及び図１８において、実線１５０１及び１５０２、１６０１〜１６０６は、距離平均値の閾値を表し、破線は、距離平均値の変化を表している。また、探索回数Ｎ１は探索回数の閾値に一致し、探索回数Ｎ１〜Ｎ６の間隔も探索回数の閾値に一致する。
【００６３】
例えば、最初の探索対象としてグループ１の道路網が選択された場合、図１５に示すように、出発地ノードＳからすべての道路を対象としてノードが探索されることになる。そして、ステップ７０７からステップ７１５の処理が繰り返され、図１７に示すように、ステップ７１５において探索カウンタが閾値Ｎ１に達すると、ステップ７１６において距離平均値が閾値１５０１（Ｔ１）と比較される。このとき、距離平均値が閾値１５０１より小さければ、ステップ７１９において閾値１５０１がＴ１より小さい閾値１５０２に変更される。
【００６４】
そして、探索回数がＮ２に達すると、探索カウンタの値が再び閾値Ｎ１を示し、距離平均値が変更後の閾値１５０２と比較される。今度は距離平均値が閾値１５０２より大きいとすると、ステップ７１７において探索対象の道路網がグループ２に変更される。
【００６５】
次に、図１６に示すように、グループ２の高速道路、国道、及び都道府県道を対象としてノードが探索される。そして、図１８に示すように、ステップ７１５において探索カウンタが閾値Ｎ１に達すると、ステップ７１６において距離平均値が閾値１６０１（すなわちＴ２）と比較される。このとき、距離平均値が閾値１６０１より小さければ、ステップ７１９において閾値１６０１がＴ２より小さい閾値１６０２に変更される。
【００６６】
そして、探索の一番最初から数えて探索回数がＮ２に達すると、即ち、閾値１６０２に変更した後に行った探索回数がＮ１に達すると、探索カウンタが再び閾値Ｎ１を示し、距離平均値が変更後の閾値１６０２と比較される。このとき、距離平均値が閾値１６０２より小さければ、ステップ７１９において閾値１６０２がより小さい閾値１６０３に変更される。
【００６７】
同様にして、探索回数がＮ３〜Ｎ５に達した時点で、距離平均値の閾値がより小さい閾値１６０４〜１６０６にそれぞれ変更され、探索済みノードが目的地ノードＧに一致すると、経路探索処理が終了する。
【００６８】
なおここで、探索対象とする道路グループを切り替えた後も含め、グループ１以外の道路に相当するノードを探索対象とする場合には、上記した従来技術の探索の仕方を利用することができる。すなわち、出発地ノードから目的地ノードにむけて、探索対象とするグループの道路に相当するノードに行き当たるまでは、探索対象とするグループよりも詳細の道路に相当するノードを対象として探索処理を実行する。探索処理を繰り返した結果、探索対象とするグループの道路のノードに行き当たると、今度は、目的地ノードから出発地ノードにむけて、探索対象とするグループよりも詳細の道路のノードを対象として探索処理を実行する。
【００６９】
目的地ノードからの探索処理を繰り返した結果、探索対象とするグループの道路のノードに行き当たった場合、それ以降は、出発地ノードからの探索で見つけた、探索対象とするグループの道路上のノードと、目的地ノードからの探索で見つけた、探索対象とするグループの道路上のノードとを結ぶ経路を、探索対象とするグループの道路に相当するノードに限定して探索する。そして、経路が探索されると、経路探索処理が終了する。
【００７０】
以上説明したように、経路探索装置１０５は、ノードの探索が複数回繰り返されたタイミングで、探索されたノードが存在する方向が、出発地ノードから見て目的地ノードへ近づく方向へ進んでいない状態かをチェックする。もし、出発地ノードから目的地ノードまでの実際の経路上の距離が出発地ノードと目的地ノードとの距離と著しく異ならない場合であれば、探索されたノードから目的地ノードまでの距離は、出発地ノードから目的地ノードまでの距離よりも短くなっているはずである。すなわち、出発地ノードから目的地ノードの方向へ向けて探索が行われているはずである。
【００７１】
そして、探索されたノードから目的地ノードまでの距離が、出発地ノードから目的地ノードまでの距離よりも短くなっていないということは、目的地ノードの方向へ向けた探索が行えていない状況を示していると考えることができる。これは例えば、出発地ノードと目的地ノードの間に湾、湖、山等の障害物が存在し、障害物が存在する領域にはリンクやノードが存在しない場合が相当する。経路探索装置１０５は、探索処理がこのような状態になっていることをステップ７１６で検出すると、探索対象とするノードの数がより少なくなる探索の仕方に変更する。
【００７２】
経路探索装置１０５は、距離平均値が閾値を超えた時点でより粗い道路網を用いた探索方法に変更する。探索対象を粗い道路網に変更するということは、探索対象とするノードやリンクの数が少なくなることに相当する。そのため、出発地ノードと目的地ノードの間にある湾、湖、山等の障害物を迂回する経路を探索する場合であっても、探索対象ノードの増加を抑制することができる。したがって、処理時間の長期化を抑止することができる。また、遠距離走行において、細街路ではなく、国道のような広い道路を優先して走行する経路を探索することができる。
【００７３】
さらに、経路探索装置１０５は、距離平均値が閾値以下の場合により小さい閾値に変更することで、探索回数の増加とともに距離平均値が上昇する傾向を迅速に検知して、早い段階で探索対象の道路網を変更することが可能になる。
【００７４】
図１２のステップ７１７では、探索対象の道路網を１段階粗いグループに変更しているが、算出された距離平均値に対応するグループに変更してもよい。例えば、距離平均値がＤ１より大きくＤ２以下の場合、グループ２が探索対象の道路網として選択され、距離平均値がＤ２より大きい場合、グループ３が探索対象の道路網として選択される。これにより、直近の距離平均値に基づいて最適な道路網を選択することができ、道路網を１段階ずつ切り替える場合より処理時間を短縮することができる。
【００７５】
図１９は、経路探索装置１０５により実行される経路探索処理の第３の例を示すフローチャートである。図１９のステップ１７０１、１７０３〜１７１４、及び１７１６〜１７２２の処理は、図１２のステップ７０１〜７２０の処理と同様である。この処理では、図９の探索パラメータ５０３は、処理時間の閾値を含む。
【００７６】
端末１０１から経路探索要求を受信すると、探索部２０１の探索処理部４０５は、処理時間の計測を開始する（ステップ１７０２）。そして、ステップ１７１３において探索されたノードが目的地ノードでない場合（ステップ１７１３，Ｎｏ）、変更部２０３は、その時点までの処理時間を処理時間の閾値と比較する（ステップ１７１５）。この比較は必ずしも探索済みノードが決まるたびに実施せず、一定数の探索済みノードが決定するたびに実施してもよい。
【００７７】
処理時間が閾値以下の場合（ステップ１７１５，Ｎｏ）、変更部２０３は、ステップ１７１６以降の処理を行う。処理時間が閾値より大きい場合（ステップ１７１５，Ｙｅｓ）、直ちに探索対象の道路網を変更する（ステップ１７１９）。
【００７８】
このように、経路探索装置１０５は図１９のフローチャートに示す処理を実行することで、処理開始から一定時間が経過した時点で、強制的に探索対象の道路網を変更する。したがって、経路探索装置１０５は、距離平均値が閾値を超えていなくても、より高速な探索方法に切り替えることができる。例えば、細街路を対象とする経路探索が長期化している場合に、強制的に、より粗い道路網を対象とする探索方法に切り替えることが可能になる。
【００７９】
ところで、直近の探索済みノードが、出発地ノードから目的地ノードの方向へ接近しているにもかかわらず、探索対象の道路網を変更して出発地ノードから再度探索を行うのは効率が悪い。そこで、直近の探索済みノードの各々から目的地ノードまでの距離の最小値を求め、その最小値が所定値以下の場合には、距離平均値が閾値より大きくても、探索対象の道路網を変更しない方法が考えられる。
【００８０】
図２０は、距離最小値の閾値の例を示している。距離最小値の閾値は、距離平均値の閾値と同様に、格納部２０２の中に探索パラメータ５０３の一種として記憶されることができる。この例では、出発地ノードと目的地ノードとの距離Ｄが属する距離範囲に応じて、グループ１〜３の３つの道路網が定義され、グループ１〜３について閾値Ｍ１〜Ｍ３がそれぞれ設定されている。例えば、閾値Ｍ１は、距離平均値の閾値Ｔ１より小さな値に設定され、閾値Ｍ２は、距離平均値の閾値Ｔ２より小さな値に設定される。
【００８１】
図２１は、このような経路探索処理の第４の例を示すフローチャートである。図２１のステップ１９０１〜１９１６及び１９１８〜１９２１の処理は、図１２のステップ７０１〜７２０の処理と同様である。この処理では、図９の探索パラメータ５０３は、距離最小値の閾値を含む。
【００８２】
ステップ１９１６において距離平均値が閾値より大きい場合（ステップ１９１６，Ｙｅｓ）、変更部２０３は、直近の探索済みノードの各々から目的地ノードまでの距離の最小値を求める。そして、その最小値を距離最小値の閾値と比較する（ステップ１９１７）。最小値が閾値以下の場合（ステップ１９１７，Ｎｏ）、変更部２０３は探索対象の道路網を変更せず、探索部２０１はステップ１９２０以降の処理を行う。一方、最小値が閾値より大きい場合（ステップ１９１７，Ｙｅｓ）、変更部２０３は、探索対象の道路網を変更する（ステップ１９１８）。
【００８３】
このように、距離平均値が閾値より大きくても距離最小値が閾値以下の場合は、探索対象の道路網を変更しないことで、出発地ノードから再度探索する処理を回避して、処理時間の長期化を抑止することができる。
【００８４】
図２２は、経路探索処理の第５の例を示すフローチャートである。経路探索装置１０５は、上述のような方法により探索対象とするノードを切り替える以外の方法として、各道路リンクに対して付与するコストの値を変更することで、結果的に探索対象とするノードがより少なくなるようにさせることもできる。図２２のステップ２００１〜２００２、２００４〜２０１６、及び２０１８〜２０２０の処理は、図１２のステップ７０１〜７０２、７０４〜７１６、及び７１８〜７２０の処理と同様である。この処理では、図９の探索パラメータ５０３は、各道路のリンクのコストに乗算される重みを含む。また、常にすべての道路が探索対象となるため、図８の道路網選択部４０２は不要である。
【００８５】
探索部２０１の探索処理部４０５は、経路探索要求に含まれる出発地ノード及び目的地ノードの情報に基づいて、出発地ノードと目的地ノードとの距離を算出する（ステップ２００２）。そして、得られた距離に基づいて、各道路のリンクのコストに乗算される重みを決定する（ステップ２００３）。
【００８６】
例えば、距離が近距離に属する場合は、すべての道路に同じ重みが設定され、中距離に属する場合は、高速道路、国道、及び都道府県道以外の一般道に対して、高速道路、国道、及び都道府県道より大きな重みが設定される。また、遠距離に属する場合は、都道府県道及び一般道に対して、高速道路及び国道より大きな重みが設定される。より大きな重みが設定された道路リンクは、相対的にコストが増加するため、最小コストのノードを探索する際に移動経路として選択される可能性が低下する。
【００８７】
ステップ２０１６において距離平均値が閾値より大きい場合（ステップ２０１６，Ｙｅｓ）、変更部２０３は、各道路の重みを変更する（ステップ２０１７）。例えば、出発地ノードと目的地ノードとの距離が近距離に属する場合は、高速道路、国道、及び都道府県道以外の一般道の重みが、高速道路、国道、及び都道府県道より大きな値に変更される。また、距離が中距離に属する場合は、都道府県道及び一般道の重みがより大きな値に変更される。
【００８８】
このように、狭い道路の重みを増加させた探索方法に変更することで、より広い道路を走行する経路が優先的に選択されるようになり、探索対象ノードの増加が抑制される。したがって、処理時間の長期化を抑止することができる。
【００８９】
図１２、図１９、図２１、及び図２２に示した各フローチャートは一例に過ぎず、経路探索システムの構成や条件に応じて一部の処理を省略又は変更してもよい。例えば、図１９のステップ１７１５における処理時間と閾値の比較を、ステップ１７１７の後で行ってもよい。図２１及び図２２の経路探索処理においても、図１９の経路探索処理と同様に、処理時間が閾値を超えた場合に強制的に探索方法を変更することが可能である。
【００９０】
また、図１２のステップ７１７において、探索対象の道路網を変更する代わりに、経路探索アルゴリズムを変更しても構わない。例えば、ダイクストラ法からＡ*アルゴリズムへ変更することで、探索対象ノードの増加を抑制することができる。経路探索アルゴリズムとして、ダイクストラ法又はＡ*アルゴリズム以外のものを用いることも可能である。例えば、分岐限定法、山登り法、最良優先探索等のアルゴリズムを用いてもよい。そして、探索対象の道路網を変更する必要があると判断された場合に、それまで実行していた探索方法よりも、探索対象となるノード数が少なくなる探索方法に変更すればよい。
【００９１】
また、道路種別に基づいて道路を分類する代わりに、道路の長さ、幅、上限走行速度等の属性に基づいて道路を分類しても構わない。出発地ノードと目的地ノードとの距離に応じて設定される道路網のグループの数は、２つでもよく、４つ以上でもよい。
【００９２】
図２の端末１０１、インタフェース１０３、ロードバランサ１０４、経路探索装置１０５−１〜１０５−４、地図情報データベース１０６、及び交通情報データベース１０７は、例えば、図２３に示すような情報処理装置（コンピュータ）を用いて実現可能である。
【００９３】
図２３の情報処理装置は、Central Processing Unit （ＣＰＵ）２１０１、メモリ２１０２、入力装置２１０３、出力装置２１０４、外部記憶装置２１０５、媒体駆動装置２１０６、及びネットワーク接続装置２１０７を備える。これらはバス２１０８により互いに接続されている。
【００９４】
メモリ２１０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。例えば、ＣＰＵ２１０１は、メモリ２１０２を利用してプログラムを実行することにより、端末１０１、インタフェース１０３、ロードバランサ１０４、又は経路探索装置１０５−１〜１０５−４の処理を行う。経路探索装置１０５−１〜１０５−４の処理を行う場合は、ＣＰＵ２１０１は、プログラムを実行することにより、仮想的に各処理部（探索部２０１、変更部２０３、生成部２０４、及び探索部２０１内の各部４０１〜４０６）として動作する。
【００９５】
情報処理装置が経路探索装置１０５−１〜１０５−４として使用される場合は、メモリ２１０２は、図６の格納部２０２としても使用でき、地図情報及び交通情報を格納することもできる。
【００９６】
入力装置２１０３は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置２１０４は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。端末１０１の処理結果には、経路情報が示す経路を表示する画面も含まれる。
【００９７】
外部記憶装置２１０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。この外部記憶装置２１０５には、ハードディスクドライブも含まれる。情報処理装置は、外部記憶装置２１０５にプログラム及びデータを格納しておき、それらをメモリ２１０２にロードして使用することができる。
【００９８】
情報処理装置が地図情報データベース１０６又は交通情報データベース１０７として使用される場合は、外部記憶装置２１０５は、地図情報又は交通情報を格納する。
媒体駆動装置２１０６は、可搬型記録媒体２１０９を駆動し、その記録内容にアクセスする。可搬型記録媒体２１０９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。この可搬型記録媒体２１０９には、Compact Disk Read Only Memory （ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、Universal Serial Bus（ＵＳＢ）メモリ等も含まれる。ユーザ又はオペレータは、この可搬型記録媒体２１０９にプログラム及びデータを格納しておき、それらをメモリ２１０２にロードして使用することができる。
【００９９】
このように、各種処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ２１０２、外部記憶装置２１０５、及び可搬型記録媒体２１０９のような、物理的な（非一時的な）記録媒体が含まれる。
【０１００】
ネットワーク接続装置２１０７は、Local Area Network（ＬＡＮ）、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置２１０７を介して受け取り、それらをメモリ２１０２にロードして使用することもできる。
【０１０１】
なお、情報処理装置が図２３のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、情報処理装置がインタフェース１０３、ロードバランサ１０４、経路探索装置１０５−１〜１０５−４、地図情報データベース１０６、又は交通情報データベース１０７として使用される場合は、入力装置２１０３及び出力装置２１０４を省略してもよい。
【０１０２】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【符号の説明】
【０１０３】
１０１  端末
１０２  通信ネットワーク
１０３  インタフェース
１０４  ロードバランサ
１０５−１〜１０５−４  経路探索装置
１０６  地図情報データベース
１０７  交通情報データベース
２０１  探索部
２０２  格納部
２０３  変更部
２０４  生成部
４０１  入力受付部
４０２  道路網選択部
４０３  閾値設定部
４０４  閾値更新部
４０５  探索処理部
４０６  出力部
５０１  探索対象ノード情報
５０２  探索済みノード情報
５０３  探索パラメータ
１５０１、１５０２、１６０１〜１６０６  閾値
２１０１  ＣＰＵ
２１０２  メモリ
２１０３  入力装置
２１０４  出力装置
２１０５  外部記憶装置
２１０６  媒体駆動装置
２１０７  ネットワーク接続装置
２１０８  バス
２１０９  可搬型記録媒体
【図１】
0005906837.tif 000002
【図２】
0005906837.tif 000003
【図３】
0005906837.tif 000004
【図４】
0005906837.tif 000005
【図５】
0005906837.tif 000006
【図６】
0005906837.tif 000007
【図７】
0005906837.tif 000008
【図８】
0005906837.tif 000009
【図９】
0005906837.tif 000010
【図１０】
0005906837.tif 000011
【図１１】
0005906837.tif 000012
【図１２】
0005906837.tif 000013
【図１３】
0005906837.tif 000014
【図１４】
0005906837.tif 000015
【図１５】
0005906837.tif 000016
【図１６】
0005906837.tif 000017
【図１７】
0005906837.tif 000018
【図１８】
0005906837.tif 000019
【図１９】
0005906837.tif 000020
【図２０】
0005906837.tif 000021
【図２１】
0005906837.tif 000022
【図２２】
0005906837.tif 000023
【図２３】
0005906837.tif 000024