(57)【特許請求の範囲】
【請求項１】
経路の端点、交差点、分岐点等をノードとし、ノードを連結するリンクと、前記リンクのコストから構成した経路ネットワークデータベースと、該経路ネットワークデータベースを参照して出発地から目的地までの経路をラベル確定法を用いて探索する経路探索部と、を備えた経路探索装置において、
前記経路ネットワークデータベースに記憶された各リンクには、当該リンクが属する群を示す属性情報を有し、
前記経路探索部は、出発地のノードから出リンクをたどり、リンクのコストを累積して到達ノードのポテンシャルを算出する際、それまでたどってきたリンクと、該到達ノードから拡散するリンクの属性情報が異なる場合、該拡散するリンクの到達ノードのポテンシャルが経路探索上想定されるポテンシャルよりも必ず大きくなるように当該リンクのリンクコスト累積値メモリの特定上位ビットを論理「１」として算出し、
経路探索部は、その結果得られた累積コスト最小の経路を、リンクの属性変化が最も少ない案内経路として出力することを特徴とする経路探索装置。
【請求項２】
前記経路探索部は、拡散するリンクの属性情報が、それまでにたどってきたリンクの属性情報と同じである場合には、それまでにたどってきたリンクのリンクコスト累積値を、前記拡散するリンクの属性情報が、それまでにたどってきたリンクの属性情報と異なる場合には、当該拡散するリンクが到達するノードのポテンシャルが経路探索上想定されるポテンシャルよりも必ず大きくなるように当該リンクのリンクコスト累積値メモリの特定上位ビットを論理「１」として作業用メモリに記憶し、
前記作業用メモリに記憶されたリンクコスト累積値をソートし、
前記ソートの結果、最小のリンクコスト累積値を持つリンクが、リンクの属性が異なることによりリンクコスト累積値メモリの特定上位ビットが論理「１」にされたリンクであった場合に、経路探索におけるリンクの属性変化の回数をカウントすることを特徴とする請求項１に記載の経路探索装置。
【請求項３】
前記経路探索部は、前記経路探索におけるリンクの属性変化の回数をカウントするとともに、リンクの属性が異なることによりリンクコスト累積値メモリの特定上位ビットが論理「１」にされたリンクのリンクコストを実質のリンクコストの値に戻して経路探索を継続することを特徴とする請求項２に記載の経路探索装置。
【請求項４】
前記経路探索部は、前記リンクの属性が変化する回数を所定の回数に制限して経路探索を行うことを特徴とする請求項１ないし３の何れか１項に記載の経路探索装置。
【請求項５】
経路の端点、交差点、分岐点等をノードとし、ノードを連結するリンクと、前記リンクのコストから構成した経路ネットワークデータベースと、該経路ネットワークデータベースを参照して出発地から目的地までの経路をラベル確定法を用いて探索する経路探索部とを備え、経路ネットワークデータベースに記憶された各リンクには、当該リンクが属する群を示す属性情報を有する経路探索装置における経路探索方法であって、
前記経路探索部が、出発地のノードから出リンクをたどり、リンクのコストを累積して到達ノードのポテンシャルを算出する際、それまでたどってきたリンクと、該到達ノードから拡散するリンクの属性情報が異なる場合、該拡散するリンクの到達ノードのポテンシャルが経路探索上想定されるポテンシャルよりも必ず大きくなるように当該リンクのリンクコスト累積値メモリの特定上位ビットを論理「１」として算出するステップと、
経路探索部がその結果得られた累積コスト最小の経路を、リンクの属性変化が最も少ない案内経路として出力するステップとを有することを特徴とする経路探索方法。
【請求項６】
前記経路探索部が、拡散するリンクの属性情報が、それまでにたどってきたリンクの属性情報と同じである場合には、それまでにたどってきたリンクのリンクコスト累積値を、前記拡散するリンクの属性情報が、それまでにたどってきたリンクの属性情報と異なる場合には、当該拡散するリンクが到達するノードのポテンシャルが経路探索上想定されるポテンシャルよりも必ず大きくなるように当該リンクのリンクコスト累積値メモリの特定上位ビットを論理「１」として作業用メモリに記憶するステップと、
前記作業用メモリに記憶されたリンクコスト累積値をソートするステップと、
前記ソートの結果、最小のリンクコスト累積値を持つリンクが、リンクの属性が異なることによりリンクコスト累積値メモリの特定上位ビットが論理「１」にされたリンクであった場合に、経路探索におけるリンクの属性変化の回数をカウントするステップとを有することを特徴とする請求項５に記載の経路探索方法。
【請求項７】
前記経路探索部が、前記経路探索におけるリンクの属性変化の回数をカウントするとともに、リンクの属性が異なることによりリンクコスト累積値メモリの特定上位ビットが論理「１」にされたリンクのリンクコストを実質のリンクコストの値に戻して経路探索を継続するステップを有することを特徴とする請求項６に記載の経路探索方法。
【請求項８】
前記経路探索部が、前記リンクの属性が変化する回数を所定の回数に制限して経路探索を行うことを特徴とする請求項５ないし７の何れか１項に記載の経路探索方法。
【請求項９】
経路の端点、交差点、分岐点等をノードとし、ノードを連結するリンクと、前記リンクのコストから構成した経路ネットワークデータベースと、該経路ネットワークデータベースを参照して出発地から目的地までの経路をラベル確定法を用いて探索する経路探索部とを備え、前記経路ネットワークデータベースに記憶された各リンクには、当該リンクが属する群を示す属性情報を有する経路探索装置を構成するコンピュータに、
前記経路探索部が、出発地のノードから出リンクをたどり、リンクのコストを累積して到達ノードのポテンシャルを算出する際、それまでたどってきたリンクと、該到達ノードから拡散するリンクの属性情報が異なる場合、該拡散するリンクの到達ノードのポテンシャルが経路探索上想定されるポテンシャルよりも必ず大きくなるように当該リンクのリンクコスト累積値メモリの特定上位ビットを論理「１」として算出する処理と、
経路探索部はその結果得られた累積コスト最小の経路を、リンクの属性変化が最も少ない案内経路として出力する処理とを実行させることを特徴とするプログラム。
【請求項１０】
前記経路探索装置を構成するコンピュータに、
前記経路探索部が、拡散するリンクの属性情報が、それまでにたどってきたリンクの属性情報と同じである場合には、それまでにたどってきたリンクのリンクコスト累積値を、前記拡散するリンクの属性情報が、それまでにたどってきたリンクの属性情報と異なる場合には、当該拡散するリンクが到達するノードのポテンシャルが経路探索上想定されるポテンシャルよりも必ず大きくなるように当該リンクのリンクコスト累積値メモリの特定上位ビットを論理「１」として作業用メモリに記憶する処理と、
前記作業用メモリに記憶されたリンクコスト累積値をソートする処理と、
前記ソートの結果、最小のリンクコスト累積値を持つリンクが、リンクの属性が異なることによりリンクコスト累積値メモリの特定上位ビットが論理「１」にされたリンクであった場合に、経路探索におけるリンクの属性変化の回数をカウントする処理とを実行させることを特徴とする請求項９に記載のプログラム。
【請求項１１】
前記経路探索装置を構成するコンピュータに、
前記経路探索部が、前記経路探索におけるリンクの属性変化の回数をカウントするとともに、リンクの属性が異なることによりリンクコスト累積値メモリの特定上位ビットが論理「１」にされたリンクのリンクコストを実質のリンクコストの値に戻して経路探索を継続する処理を実行させることを特徴とする請求項１０に記載のプログラム。
【請求項１２】
前記経路探索装置を構成するコンピュータに、
前記経路探索部が、前記リンクの属性が変化する回数を所定の回数に制限して経路探索を行うことを特徴とする請求項９ないし１１の何れか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、歩行者や自動車の運転者に出発地から目的地までの最適な経路を探索して案内するナビゲーション装置、通信型ナビゲーションシステムにおいて使用される経路探索装置、経路探索方法ならびにプログラムに関するものであり、特に、交通機関を利用して移動するユーザに交通機関の経路を案内するにあたって、交通機関の乗り換え回数（経路を構成するリンクの属性変化）が少ない経路を探索することができるようにした経路探索装置、経路探索方法ならびにプログラムに関するものである。
【背景技術】
【０００２】
従来、見知らぬ土地において目的地となる場所を訪れる場合、地図帳等を頼りに当該地図に描かれた交通機関、道路やランドマーク及び住所を確認しながら到達していた。また、カーナビゲーションシステム（以後単にカーナビと言う）を搭載した自動車においては、該カーナビを起動して目的地を入力することによりナビゲーションシステムからモニタ画面に表示される案内や音声出力される案内（ナビゲーション情報）を得ながら目的地に到達していた。【０００３】
上記カーナビは、ＧＰＳ（Global Positioning System：全地球測位システム）を利用したものであり、地球上を周回している複数のＧＰＳ衛星から送信されるＧＰＳ信号をＧＰＳアンテナで受信し、該ＧＰＳ信号に含まれる衛星位置や時計情報等を解析して位置の特定化を行うものである。該複数のＧＰＳ衛星の個数は少なくとも４個以上必要である。ＧＰＳの単独測位精度は一般的に１０ｍ強であるが、ＤＧＰＳ（Differential GPS：ディファレンシャルＧＰＳ）を採用することにより５ｍ以下に向上する。特に、現在は一部の携帯電話にしか搭載されていない測位ユニット、例えば、ＧＰＳ（Global Positioning System）衛星からの信号を受信して測位するＧＰＳ受信機などの搭載が、第三世代と称される携帯電話では全ての機種に搭載されるような趨勢にある。【０００４】
このような測位機能を有する携帯端末の利用技術としては、種々の分野の技術が提案されており、例えば、自動車用のナビゲーション装置（カーナビ）を発展させ、携帯電話を端末として地図・経路情報を情報配信サーバ（経路探索サーバ）から配信する歩行者用の通信型ナビゲーションシステムが提案されている。また、携帯電話を端末として利用した決済システムや様々なインターネット取引システムなども提案されている。そして最近では、事件や事故の際の通報に携帯電話が使用されることも多くなってきており、通報場所を特定する技術の必要性が増大しつつある。また、老人の所在場所を携帯電話の測位システムを利用して特定しようという試みもなされており、その用途は今後も拡大を続けるものと思われる。【０００５】
近年、携帯電話、ＰＨＳ等の携帯通信端末機器の性能は飛躍的に向上し、また、多機能化が進んでいる。特に通話機能の他にデータ通信機能が強化され、ユーザに対してインターネットを介した種々のデータ通信サービスが提供されている。ナビゲーションサービスもその１つであり、自動車の運転者のみならず携帯電話ユーザに対して現在位置から目的地までの経路案内を提供する通信ナビゲーションシステムが実用化されている。【０００６】
一般的なナビゲーション装置、通信ナビゲーションシステムに使用される経路探索装置、経路探索方法は、例えば、下記の特許文献１（特開２００１−１６５６８１号公報）に開示されている。このナビゲーションシステムは、携帯ナビゲーション端末から出発地と目的地の情報を情報配信サーバに送り、情報配信サーバで道路網や交通網のデータから探索要件に合致した経路を探索して案内するように構成されている。探索条件としては、出発地から目的地までの移動手段、例えば、徒歩、自動車、鉄道と徒歩の併用などがあり、これを探索条件の１つとして経路探索する。【０００７】
情報配信サーバは、地図データの道路（経路）をその結節点、屈曲点の位置をノードとし、各ノードを結ぶ経路をリンクとし、全てのリンクのコスト情報（距離や所要時間）をデータベースとして備えている。そして、情報配信サーバは、データベースを参照して、出発地のノードから目的地のノードに至るリンクを順次探索し、リンクのコスト情報が最小となるノード、リンクをたどって案内経路とすることによって最短の経路を携帯ナビゲーション端末に案内することができる。このような経路探索の手法としてはラベル確定法あるいはダイクストラ法（Ｄｉｊｋｓｔｒａ）と言われる手法が用いられる。上記特許文献１（特開２００１−１６５６８１号公報）には、このダイクストラ法を用いた経路探索方法も開示されている。【０００８】
ところで、歩行者に経路案内をする場合、歩行者は、徒歩、または、徒歩および交通機関を利用して移動するのが一般的である。交通機関を利用する歩行者に経路案内する経路探索装置は、例えば、下記の特許文献２（特開２００３−１８２５７８号公報）に開示されている。この経路探索装置は、ＣＤ−ＲＯＭの時刻表データに含まれる路線網データに、各駅の各出入口別に位置情報を含めておく。操作部で出発地、目的地、出発予定日時の探索条件が指定されて探索が指示されると、最適経路探索部はＣＤ−ＲＯＭの道路データと、交通機関の時刻表データを用いて、出発地近くの１または複数の出発駅候補と目的地近くの１または複数の目的駅候補を定めるとともに、各出発駅候補と各目的駅候補の組み合わせの中で、徒歩と交通機関の組み合わせにより、指定探索条件に応じて出発地から目的地まで最短時間で移動できる最適な経路を探索するものである。【０００９】
交通機関を利用して移動する場合、路線を乗り換えずに目的地に到達できる経路があっても、いくつかの路線を乗り換えて目的地に到達できる経路が別に存在し、乗り換えのある経路が最適（最短）である場合が生じる。しかしながら、乗り換えは面倒なので乗り換え回数を減らしたい、あるいは、乗り換える交通機関が別会社の路線である場合には、運賃の合計が高くなるのでなるべく乗り換え回数を減らしたいという要請が生じる。このような場合の経路探索方法としては、なるべく沢山の経路を検索して、そのなかから、乗り換え回数の少ない順に案内経路をソートして歩行者に提示する方法がとられている。【００１０】
例えば、下記の特許文献３（特開２００４−６１２９１号公報）に開示された経路探索方法が知られている。この経路探索方法は、地点をノードに持ち、地点間の路線及び徒歩乗り換えをアークで表現するグループ毎に分けられた複数のネットワークを作成し、検索条件を読み込み、検索に必要なデータを読み込む。次に、最短パス木の作成を行い、最短パス木をもとに複数のネットワークを用いてバランスの良い複数の最短パスを探索する。次に、複数の最短経路を求め、複数の最短経路に対して時間を割り当て、料金を計算する。そして、優先基準に基づき、上位複数の経路を選択して表示するようにしたものである。【００１１】
また、下記の特許文献４（特開２００３−５４４０７号公報）に開示された鉄道網最適経路案内システムも公知である。この最適経路案内システムは、利用線区抽出部および乗換駅抽出部が、路線ベクトルおよび接続駅数行列を用いて乗り換え回数が少ない経路の利用線区および乗換駅を抽出する。乗り換え時間算出部は、利用者身体的条件入力部により入力される利用者の身体的条件に基づいて、抽出された乗換駅での乗り換え時間を算出する。総移動時間算出部は、乗り換え回数が少ない経路についての総移動時間を算出し、最適経路選択部は最適経路を選択し、最適経路案内部はその結果を案内するように構成したものである。【００１２】
【特許文献１】特開２００１−１６５６８１号公報
【特許文献２】特開２００３−１８２５７８号公報
【特許文献３】特開２００４−６１２９１号公報
【特許文献４】特開２００３−５４４０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記特許文献３に開示された経路探索方法によれば、先ず、前述のダイクストラ法によって、出発地から目的地への第一番目の最短経路を探索し、次いで、第二番目の最短経路、第三番目の最短経路、と順次、第Ｋ番目の最短経路を探索し、１〜Ｋ番目の経路について、それぞれ徒歩の部分と路線変更（乗り換え）の部分の全てに所定の時間を加算（重みを変更、すなわちコストを加算）して、再び１つまたは複数の最短経路を探索する。この探索においては、路線変更の部分にコストが加算されているので、得られた第一番目の最短経路が乗り換え回数の最も少ない経路になる。すなわち、この経路探索の方法では、一番目からＫ番目までの最短経路を探索してからでないと乗り換え回数の少ない経路を決定できないという問題点があった。【００１４】
また、上記特許文献４に開示された鉄道網最適経路案内システムによれば、利用線区抽出部が乗車駅および降車駅の路線ベクトルおよび接続駅数行列を用いて乗車駅と降車駅間の乗り換え回数が少ない経路の利用線区を抽出する。乗り換え回数が増えるにつれて、同一線区を２回利用する経路が現れるが、それは乗り換え回数が少ない経路より総移動時間が長くなるため、最適経路選択部の働きにより、自動的に最適候補経路から外すように構成されている。従って、この経路案内システムにおいても、複数の経路を探索してからでないと乗り換え回数の少ない経路を決定できないという問題点があった。【００１５】
本願の発明者は、前記の問題点を解消すべく種々検討を行った結果、路線経路データを構成する各リンクのリンクデータにコストと路線系統を示す属性情報を付加し、ラベル確定法による経路探索において、ノードから拡散するリンクの属性情報がそれまでのリンクの属性情報と異なる場合にはコストのポテンシャルを高くしてソートし、その結果求められた累積コストが最小の経路を属性変化の最も少ない案内経路として出力することによって、１回の経路探索で乗り換え回数（異なる路線系統を使用する回数）の最も少ない案内経路を決定できることに着目して本発明を完成するに至ったものである。【００１６】
すなわち、本発明の目的は、交通機関の乗り換え回数（異なる路線経路を使用する回数：経路を構成するリンクの属性変化）が少ない案内経路を１回の経路探索によって決定することができる経路探索装置、経路探索方法ならびにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明の上記目的は、以下の構成により達成することができる。すなわち、本発明の第１の態様にかかる経路探索装置は、
経路の端点、交差点、分岐点等をノードとし、ノードを連結するリンクと、前記リンクのコストから構成した経路ネットワークデータベースと、該経路ネットワークデータベースを参照して出発地から目的地までの経路をラベル確定法を用いて探索する経路探索部と、を備えた経路探索装置において、
前記経路ネットワークデータベースに記憶された各リンクには、当該リンクが属する群を示す属性情報を有し、
前記経路探索部は、出発地のノードから出リンクをたどり、リンクのコストを累積して到達ノードのポテンシャルを算出する際、それまでたどってきたリンクと、該到達ノードから拡散するリンクの属性情報が異なる場合、該拡散するリンクの到達ノードのポテンシャルが経路探索上想定されるポテンシャルよりも必ず大きくなるように当該リンクのリンクコスト累積値の特定上位ビットを論理「１」として算出し、
経路探索部は、その結果得られた累積コスト最小の経路を、リンクの属性変化が最も少ない案内経路として出力することを特徴とする。【００１８】
また、本発明の第２の態様にかかる経路探索装置は、前記第１の態様にかかる経路探索装置において、前記経路探索部は、拡散するリンクの属性情報が、それまでにたどってきたリンクの属性情報と同じである場合には、それまでにたどってきたリンクのリンクコスト累積値を、前記拡散するリンクの属性情報が、それまでにたどってきたリンクの属性情報と異なる場合には、当該拡散するリンクが到達するノードのポテンシャルが経路探索上想定されるポテンシャルよりも必ず大きくなるように当該リンクのリンクコスト累積値の特定上位ビットを論理「１」として作業用メモリに記憶し、
前記作業用メモリに記憶されたリンクコスト累積値をソートし、
前記ソートの結果、最小のリンクコスト累積値を持つリンクが、リンクの属性が異なることによりリンクコスト累積値の特定上位ビットが論理「１」にされたリンクであった場合に、経路探索におけるリンクの属性変化の回数をカウントすることを特徴とする。【００１９】
また、本発明の第３の態様にかかる経路探索装置は、前記第２の態様にかかる経路探索装置において、前記経路探索部は、前記経路探索におけるリンクの属性変化の回数をカウントするとともに、リンクの属性が異なることによりリンクコスト累積値の特定上位ビットが論理「１」にされたリンクのリンクコストを実質のリンクコストの値に戻して経路探索を継続することを特徴とする。【００２０】
また、本発明の第４の態様にかかる経路探索装置は、前記第１ないし第３の態様の何れかの経路探索装置において、前記経路探索部は、前記リンクの属性が変化する回数を所定の回数に制限して経路探索を行うことを特徴とする。【００２１】
また、本発明の第１の態様にかかる経路探索方法は、経路の端点、交差点、分岐点等をノードとし、ノードを連結するリンクと、前記リンクのコストから構成した経路ネットワークデータベースと、該経路ネットワークデータベースを参照して出発地から目的地までの経路をラベル確定法を用いて探索する経路探索部とを備え、経路ネットワークデータベースに記憶された各リンクには、当該リンクが属する群を示す属性情報を有する経路探索装置における経路探索方法であって、
前記経路探索部が、出発地のノードから出リンクをたどり、リンクのコストを累積して到達ノードのポテンシャルを算出する際、それまでたどってきたリンクと、該到達ノードから拡散するリンクの属性情報が異なる場合、該拡散するリンクの到達ノードのポテンシャルが経路探索上想定されるポテンシャルよりも必ず大きくなるように当該リンクのリンクコスト累積値の特定上位ビットを論理「１」として算出するステップと、
経路探索部がその結果得られた累積コスト最小の経路を、リンクの属性変化が最も少ない案内経路として出力するステップとを有することを特徴とする。【００２２】
また、本発明の第２の態様にかかる経路探索方法は、前記第１の態様にかかる経路探索方法において、前記経路探索部が、拡散するリンクの属性情報が、それまでにたどってきたリンクの属性情報と同じである場合には、それまでにたどってきたリンクのリンクコスト累積値を、前記拡散するリンクの属性情報が、それまでにたどってきたリンクの属性情報と異なる場合には、当該拡散するリンクが到達するノードのポテンシャルが経路探索上想定されるポテンシャルよりも必ず大きくなるように当該リンクのリンクコスト累積値の特定上位ビットを論理「１」として作業用メモリに記憶するステップと、
前記作業用メモリに記憶されたリンクコスト累積値をソートするステップと、
前記ソートの結果、最小のリンクコスト累積値を持つリンクが、リンクの属性が異なることによりリンクコスト累積値の特定上位ビットが論理「１」にされたリンクであった場合に、経路探索におけるリンクの属性変化の回数をカウントするステップとを有することを特徴とする。【００２３】
また、本発明の第３の態様にかかる経路探索方法は、前記第２の態様にかかる経路探索方法において、前記経路探索部が、前記経路探索におけるリンクの属性変化の回数をカウントするとともに、リンクの属性が異なることによりリンクコスト累積値の特定上位ビットが論理「１」にされたリンクのリンクコストを実質のリンクコストの値に戻して経路探索を継続するステップを有することを特徴とする。【００２４】
また、本発明の第４の態様にかかる経路探索方法は、前記第１ないし第３の態様の何れかの経路探索方法において、前記経路探索部が、前記リンクの属性が変化する回数を所定の回数に制限して経路探索を行うことを特徴とする。【００２５】
また、本発明の第１の態様にかかるプログラムは、経路の端点、交差点、分岐点等をノードとし、ノードを連結するリンクと、前記リンクのコストから構成した経路ネットワークデータベースと、該経路ネットワークデータベースを参照して出発地から目的地までの経路をラベル確定法を用いて探索する経路探索部とを備え、前記経路ネットワークデータベースに記憶された各リンクには、当該リンクが属する群を示す属性情報を有する経路探索装置を構成するコンピュータに、
前記経路探索部が、出発地のノードから出リンクをたどり、リンクのコストを累積して到達ノードのポテンシャルを算出する際、それまでたどってきたリンクと、該到達ノードから拡散するリンクの属性情報が異なる場合、該拡散するリンクの到達ノードのポテンシャルが経路探索上想定されるポテンシャルよりも必ず大きくなるように当該リンクのリンクコスト累積値の特定上位ビットを論理「１」として算出する処理と、
経路探索部はその結果得られた累積コスト最小の経路を、リンクの属性変化が最も少ない案内経路として出力する処理とを実行させることを特徴とする。【００２６】
また、本発明の第２の態様にかかるプログラムは、前記第１の態様にかかるプログラムにおいて、前記経路探索装置を構成するコンピュータに、
前記経路探索部が、拡散するリンクの属性情報が、それまでにたどってきたリンクの属性情報と同じである場合には、それまでにたどってきたリンクのリンクコスト累積値を、前記拡散するリンクの属性情報が、それまでにたどってきたリンクの属性情報と異なる場合には、当該拡散するリンクが到達するノードのポテンシャルが経路探索上想定されるポテンシャルよりも必ず大きくなるように当該リンクのリンクコスト累積値の特定上位ビットを論理「１」として作業用メモリに記憶する処理と、
前記作業用メモリに記憶されたリンクコスト累積値をソートする処理と、
前記ソートの結果、最小のリンクコスト累積値を持つリンクが、リンクの属性が異なることによりリンクコスト累積値の特定上位ビットが論理「１」にされたリンクであった場合に、経路探索におけるリンクの属性変化の回数をカウントする処理とを実行させることを特徴とする。【００２７】
また、本発明の第３の態様にかかるプログラムは、前記第２の態様にかかるプログラムにおいて、前記経路探索装置を構成するコンピュータに、
前記経路探索部が、前記経路探索におけるリンクの属性変化の回数をカウントするとともに、リンクの属性が異なることによりリンクコスト累積値の特定上位ビットが論理「１」にされたリンクのリンクコストを実質のリンクコストの値に戻して経路探索を継続する処理を実行させることを特徴とする。【００２８】
また、本発明の第４の態様にかかるプログラムは、前記第１ないし第３の態様の何れかのプログラムにおいて、前記経路探索装置を構成するコンピュータに、
前記経路探索部が、前記リンクの属性が変化する回数を所定の回数に制限して経路探索を行うことを特徴とする。
【発明の効果】
【００２９】
本発明の第１の態様にかかる経路探索装置によれば、リンクにはそのリンクが属する群を示す属性情報がつけられており、経路探索部がリンクをたどって出発地から目的地までの経路を探索しリンクのコストが最小になる経路を決定する過程で、リンクの属性情報に変化があった場合に、乗り換えが発生すると判定し、コストの累積値を経路探索上想定されるコスト累積値（ポテンシャル）よりも必ず大きな値になるように処理するため、１回の経路探索で乗り換えの最も少ない経路を案内経路として決定することができるようになり、経路探索に要する時間を短縮することができるようになる。このため、利用者は、乗り換えの手間がかからず、運賃の増加を最小にすることのできる路線系統を案内経路として知ることができるようになる。【００３０】
また、本発明の第２の態様にかかる経路探索装置によれば、探索したリンクのリンクコスト累積値をソートして最小のリンクコスト累積値を持つリンクが、当該リンクがリンクの属性が変化したリンクである場合にリンク属性の変化の回数、すなわち、乗り換え回数をカウントする。従って、経路探索装置は、１回の経路探索により乗り換えを伴う案内経路を乗り換え回数とともに決定することができる。このため、利用者は、乗り換えの手間が最小となり、また、運賃の増加を最小にすることのできる路線系統を案内経路として知ることができるようになる。【００３１】
また、本発明の第３の態様にかかる経路探索装置によれば、前記第２の態様の経路探索装置において、リンクの属性が異なることによりリンクコスト累積値を、経路探索上想定されるコスト累積値（ポテンシャル）よりも必ず大きな値になるように処理したリンクコスト累積値を実質のリンクコストの累積値に戻して経路探索を継続する。従って、経路探索装置は、乗り換えなし、あるいは、所定の乗り換え回数で目的地に到達できない場合でも経路探索を継続して、１回の経路探索により最小の乗り換え回数の案内経路を探索することができる。このため、利用者は、乗り換えの手間が最小となり、また、運賃の増加を最小にすることのできる路線系統を案内経路として知ることができるようになる。【００３２】
また、本発明の第４の態様にかかる経路探索装置によれば、前記第１ないし第３の態様の何れかの経路探索装置において、前記リンクの属性が変化する回数を所定の回数に制限して経路探索を行う。従って利用者は、乗り換え回数を設定してその範囲内で最小の乗り換え回数となる案内経路を探索装置に探索させることができるようになる。【００３３】
本発明の第１の態様にかかる経路探索方法によれば、リンクにはそのリンクが属する群を示す属性情報がつけられており、経路探索部がリンクをたどって出発地から目的地までの経路を探索しリンクのコストが最小になる経路を決定する過程で、リンクの属性情報に変化があった場合に、乗り換えが発生すると判定し、コストの累積値を経路探索上想定されるコスト累積値（ポテンシャル）よりも必ず大きな値になるように処理するため、１回の経路探索で乗り換えの最も少ない経路を案内経路として決定することができるようになり、経路探索に要する時間を短縮することができるようになる。このため、利用者は、乗り換えの手間がかからず、運賃の増加を最小にすることのできる路線系統を案内経路として知ることができるようになる。【００３４】
また、本発明の第２の態様にかかる経路探索方法によれば、探索したリンクのリンクコスト累積値をソートして最小のリンクコスト累積値を持つリンクが、当該リンクがリンクの属性が変化したリンクである場合にリンク属性の変化の回数、すなわち、乗り換え回数をカウントする。従って、経路探索装置は、１回の経路探索により乗り換えを伴う案内経路を乗り換え回数とともに決定することができる。このため、利用者は、乗り換えの手間が最小となり、また、運賃の増加を最小にすることのできる路線系統を案内経路として知ることができるようになる。【００３５】
また、本発明の第３の態様にかかる経路探索方法によれば、前記第２の態様の経路探索方法において、リンクの属性が異なることによりリンクコスト累積値を、経路探索上想定されるコスト累積値（ポテンシャル）よりも必ず大きな値なるように処理したリンクコスト累積値を実質のリンクコストの累積値に戻して経路探索を継続する。従って、経路探索装置は、乗り換えなし、あるいは、所定の乗り換え回数で目的地に到達できない場合でも経路探索を継続して、１回の経路探索により最小の乗り換え回数の案内経路を探索することができる。このため、利用者は、乗り換えの手間が最小となり、また、運賃の増加を最小にすることのできる路線系統を案内経路として知ることができるようになる。【００３６】
また、本発明の第４の態様にかかる経路探索方法によれば、前記第１ないし第３の態様の何れかの経路探索方法において、前記リンクの属性が変化する回数を所定の回数に制限して経路探索を行う。従って利用者は、乗り換え回数を設定してその範囲内で最小の乗り換え回数となる案内経路を探索装置に探索させることができるようになる。【００３７】
本発明の第１の態様にかかるプログラムによれば、前記第１の態様にかかる経路探索装置を提供することができるようになる。すなわち、リンクにはそのリンクが属する群を示す属性情報がつけられており、経路探索部がリンクをたどって出発地から目的地までの経路を探索しリンクのコストが最小になる経路を決定する過程で、リンクの属性情報に変化があった場合に、乗り換えが発生すると判定し、コストの累積値を経路探索上想定されるコスト累積値（ポテンシャル）よりも必ず大きな値なるように処理する。従って、経路探索装置が１回の経路探索で乗り換えの最も少ない経路を案内経路として決定することができるようになり、経路探索に要する時間を短縮することができるようになる。このため、利用者は、乗り換えの手間がかからず、運賃の増加を最小にすることのできる路線系統を案内経路として知ることができるようになる。【００３８】
また、本発明の第２の態様にかかるプログラムによれば、前記第２の態様にかかる経路探索装置を提供することができるようになる。すなわち、探索したリンクのリンクコスト累積値をソートして最小のリンクコスト累積値を持つリンクが、当該リンクがリンクの属性が変化したリンクである場合にリンク属性の変化の回数、すなわち、乗り換え回数をカウントする。従って、経路探索装置が１回の経路探索により乗り換えを伴う案内経路を乗り換え回数とともに決定することができる。このため、利用者は、乗り換えの手間が最小となり、また、運賃の増加を最小にすることのできる路線系統を案内経路として知ることができるようになる。【００３９】
また、本発明の第３の態様にかかるプログラムによれば、前記第３の態様にかかる経路探索装置を提供することができるようになる。すなわち、リンクの属性が異なることによりリンクコスト累積値を、経路探索上想定されるコスト累積値（ポテンシャル）よりも必ず大きな値になるように処理したリンクコスト累積値を実質のリンクコストの累積値に戻して経路探索を継続する。従って、経路探索装置が、乗り換えなし、あるいは、所定の乗り換え回数で目的地に到達できない場合でも経路探索を継続して、１回の経路探索により最小の乗り換え回数の案内経路を探索することができる。このため、利用者は、乗り換えの手間が最小となり、また、運賃の増加を最小にすることのできる路線系統を案内経路として知ることができるようになる。【００４０】
また、本発明の第４の態様にかかるプログラムによれば、前記第１ないし第３の態様の何れかの経路探索装置を提供することができるようになる。すなわち、前記リンクの属性が変化する回数を所定の回数に制限して経路探索を行う。従って利用者は、乗り換え回数を設定してその範囲内で最小の乗り換え回数となる案内経路を探索装置に探索させることができるようになる。
【発明を実施するための最良の形態】
【００４１】
以下、図面を参照して本発明にかかる経路探索装置、経路探索方法ならびにプログラムについて詳細に説明する。図１は、本発明において経路探索の対象となる交通機関の経路ネットワークの基本を示す概念図である。図２は、経路探索のための経路ネットワークデータベースの構成を示す図であり、図１の経路ネットワークに関するデータを例示した図である。図３は、本発明にかかる経路探索装置の構成を示すブロック図である。図４、図５は、出発地をノード１、目的地をノード６として乗り換え無し（１つの路線系統）で到達できる場合の経路を、図２の経路ネットワークで示す図であり、図４（ａ）ないし図４（ｃ）、図５（ｄ）ないし図５（ｆ）は探索の手順に該当する経路ネットワークを示す図である。【００４２】
図６は、作業用メモリ２７に記憶されるデータの構造を示す概念図であり、図６（ａ）はツリー状に登録されるデータの概念を示し、図６（ｂ）は、ツリー状のデータが実際に作業用メモリ２７に記憶される配列を示す図である。図７は、図２の経路ネットワークで出発地をノード１、目的地をノード８とした場合の経路探索野手順を示す図であり、図７（ａ）ないし図７（ｄ）は探索の手順に該当する経路ネットワークを示す図である。図８、図９は、乗り換えが２回必要な場合の経路探索の手順を説明するための経路ネットワークを示す図であり、図８（ａ）ないし図８（ｃ）、図９（ｄ）ないし図９（ｇ）は、経路探索の手順に該当する経路ネットワークを示す図である。図１０は、図８、図９経路ネットワークのデータベースの構成を示す図であり、図２と同様の構成である。図１１は、本発明にかかる経路探索の手順を示すフローチャートである。【００４３】
図１は、本発明において経路探索の対象とする交通機関の路線経路の基本構成を説明するための概念図であり、路線バスの経路ネットワークを例にとったものである。図１において、停留所がノード１〜８（まるで囲んだ数字）で示され、各ノード１〜８の間を連結する矢印線がリンク［１］〜リンク［８］で示されている。このリンク［１］〜［８］が路線バスの経路であり、矢印の太さが路線の系統を表している。すなわち、ノード１〜ノード２〜ノード３〜ノード４〜ノード５〜ノード６が第１の路線系統であり、ノード７〜ノード２〜ノード５〜ノード８が第２の路線系統である。本来、バスなどの交通機関の路線は上り、下りの双方向に運行しているので、それぞれの方向に向きを持ったリンクが記載されるべきであるが、図面および説明が複雑になるため、図１においては、片方向の有向リンク（矢印線）のみを記載している。もちろんこの経路ネットワークは、路線バスの経路ネットワークに限らず、鉄道の経路ネットワークであってもよい。また、目的地への到着予想時刻に関する案内などを行う場合には、別途、時刻表データベースを備える必要がある。【００４４】
各リンク［１］〜リンク［８］の矢印線を挟んで記述されている数字はリンクのコストを示しており、リンクのコストとは、例えば、リンクの距離や所要時間を示すものであり、ラベル確定法（ダイクストラ法）における経路探索では、距離や所要時間が最短のリンクをたどり、コストの累積値が最小となる経路を最適な案内経路（距離や時間が最短の案内経路）として経路探索を行うものである。図１において、例えば、リンク［１］のコストは所要時間が４分であることを示し、リンク［２］のコストは１分であることを示している。【００４５】
図１の経路ネットワークの情報は、経路探索のため図２に示す構造のデータベースに蓄積されている。すなわち、図２は、経路ネットワークデータベースの構成を示す図であり、このデータベースは、リンク、始点（ノード）、終点（ノード）、コスト、系統（路線系統）のフィールド（欄）からなり、リンク欄には、各リンク［１］〜リンク［８］・・が記憶されており、各リンクに対応して始点、終点、コストの欄にそれぞれのノード、所要時間が記憶されている。系統の欄はリンク［１］〜リンク［８］の属性情報が記憶されている。【００４６】
この属性情報は、各リンクが属する路線系統を示す情報であり、リンク［１］〜リンク［５］が第１の路線系統（０１）に属し、リンク［６］〜リンク［８］が第２の路線系統（０２）に属していることを示している。そして各ノードの出リンクと入りリンクの属性情報を判定することによってノード２とノード５が第１の路線系統と第２の路線系統との乗り換え停留所であることがわかる。実際には路線系統によって停留所がわずかに離れている場合もある（交差する系統の乗り換えバス停は交差点内には作れないので付近の路線上になる）が、ここでは、原理の説明であるので乗り換えに使う停留所は同じノードで表すことにしてある。【００４７】
このような経路ネットワークにおいて、例えば、ノード１〜ノード６に移動する最適な経路を探索する場合、先ず、ノード１を出発してリンク［１］をたどりノード２に到達する。このリンク［１］のコスト（所要時間）は「４」分である。ノード２からの出リンクは、リンク［２］とリンク［７］であり、そのコストは、「１」分と「４」分である。このようにして順次、ノード６に到達できるリンクをたどり、コストの累計を求めると、第１の経路は、ノード１、ノード２、ノード３、ノード４、ノード５を経てノード６に至る経路であり、そのコスト累積は、「１４」分となる。第２の経路は、ノード１、ノード２、ノード５を経てノード６に至る経路であり、そのコスト累積は「１３」分となる。従って、所要時間が最短となる経路は第２の経路であり、これを案内経路として出力するのが通常の経路探索である。【００４８】
ところで、前記探索における第１の経路が通過するリンク［１］〜リンク［５］は、コスト累計は第２の経路より大きいが、路線の系統が同じであり他の路線系統に乗り換えることなくノード６に到達できる。しかしながら、第２の経路が通過するリンク［１］とリンク［７］とリンク［５］のうち、リンク［７］は路線の系統が異なる。すなわち、第２の経路は、コスト累計は第１の経路より小さいが、ノード２においてリンク［１］の第１の系統からリンク［７］の第２の系統に乗り換えが生じる。本発明においては、図２に示すように、各リンクに属性情報として、各リンクが属する路線系統を示す情報が記憶されている。従って、リンク［１］からリンク［７］に経路をとる場合にはリンク［１］とリンク［７］とでは属性情報が変化する。この属性情報の変化を検出し、これに基づいて１回の経路探索で乗り換え回数の少ない経路を直接探索するようにしたものである。この処理については後に詳細に説明する。【００４９】
図３は、上記の経路探索を行う本発明にかかる経路探索装置の構成を示すブロック図である。図３において、経路探索装置はネットワークを介して携帯端末に接続され、携帯端末からの経路探索要求に従って経路探索を行い、その結果を地図データ、案内経路データ、音声案内などによるガイダンスのデータを携帯端末に配信する通信型のナビゲーションシステムとして構成した例を示すが、本発明にかかる経路探索装置は、これに限られるものではなく、カーナビゲーション装置や携帯型ナビゲーション装置、あるいはパソコンからインターネットを経由して接続される経路探索サーバなどにも適用可能であることは言うまでもない。【００５０】
本発明にかかるナビゲーションシステム１０は、図３に示すように、ネットワーク１２を介して経路探索装置２０と携帯端末３０とが接続されて構成される。携帯端末３０が携帯電話である場合には、携帯端末３０は、無線により基地局と通信し、基地局を介してインターネットなどのネットワーク１２を経由して経路探索装置２０と接続関係が確立され、経路探索要求などのサービス要求を経路探索装置２０に送り、また、経路探索装置２０から地図情報、経路探索の結果などの配信を受ける。【００５１】
携帯端末３０は、主制御部３１、経路探索要求部３２、案内データ記憶部３３、地図・経路記憶部３４、ＧＰＳ処理部３５、操作・表示部３６から構成されている。ユーザは、携帯端末３０において、操作・表示部３６から所望の入力、操作指示を行い、表示部に経路探索装置２０から配信された地図や案内経路を表示する。主制御部３１は、マイクロプロセッサを中心に構成され、一般的なコンピュータ装置と同様にＲＡＭ、ＲＯＭなどの記憶手段を備えており、これらの記憶手段に蓄積されたプログラムによって各部を制御する。【００５２】
経路探索要求部３２は、出発地、目的地、移動手段などの経路探索要件を経路探索装置２０に送り、経路探索の要求を行う。出発地、目的地は緯度、経度によって指示するのが一般的であるが、住所や電話番号を入力し、経路探索装置２０のデータベースで緯度、経度の情報に変換する方法や、携帯端末３０に表示される地図上でポイントを指定し緯度、経度の情報に変換する方法などがとられる。移動手段は、例えば、徒歩、自動車、徒歩と交通機関の併用などである。【００５３】
案内データ記憶部３３には、経路探索装置２０からダウンロードまたはプレインストールした経路の案内（ガイダンス）、例えば、交差点や分岐点（ガイダンスポイント）に携帯端末３０が近づいた際に、「この先、右折です」等の表示、音声案内のパターンに応じた表示データや音声データなどが記憶されており、携帯端末３０が経路探索装置２０から配信を受けた案内経路やガイダンスポイントの案内データに従って、該案内データに設定された案内（ガイド）を表示したり、音声ガイドしたりすることができる。地図・経路記憶部３４は、経路探索要求の結果、経路探索装置２０から携帯端末３０に配信される地図データ、案内経路データを記憶し、操作・表示部３６に地図、案内経路を表示するためのものである。【００５４】
ＧＰＳ処理部３５は、通常のナビゲーション端末（携帯端末）と同様に、ＧＰＳ衛星信号を受信、処理して現在位置を測位するためのものである。【００５５】
一方、経路探索装置２０は、主制御部２１、送受信部２２、地図データベース（ＤＢ）２３、経路探索部２４、データ配信２５、経路ネットワークＤＢ（データベース）２８と、操作・表示部２９とを備えている。主制御部３１は、マイクロプロセッサを中心に構成され、一般的なコンピュータ装置と同様にＲＡＭ、ＲＯＭなどの記憶手段を備えており、これらの記憶手段に蓄積されたプログラムによって各部を制御する。経路探索部２４は、演算手段２６と作業用メモリ２７とから構成されている。【００５６】
送受信部２２は、携帯端末３０からのデータやサービス要求を受信し、また、携帯端末３０に要求されたデータやサービスに必要なデータを送信（配信）するためのものである。地図データベース（ＤＢ）２３は、携帯端末３０に配信して表示するための地図情報と経路探索のための地図データ（ノードデータ、リンクデータ、コストデータ）を蓄積したデータベースであり、経路探索部２４は、携帯端末３０から送られた経路探索の要件に従って、地図ＤＢ２３を参照して、主発地から目的地までの最短の案内経路を探索する。探索の手法は、前述の特許文献１に開示されたダイクストラ法を使用することができる。また、経路探索要求に際して移動手段として交通機関あるいは交通機関と徒歩の併用が選択された場合には後述する経路ネットワークＤＢ２８を参照して経路探索を行う。その際に、前述したように乗り換え回数の最も少ない経路を探索する。このために後述の経路ネットワークＤＢ２８と経路探索部２４の演算手段２６、作業用メモリ２７が使用される。【００５７】
データ配信部２５は、経路探索部２４で探索した最短の案内経路のデータ、地図データ、案内データ等のデータを携帯端末３０に配信するためのものであり、案内経路は経路探索部２４によってベクターデータとして作成され、携帯端末３０に地図データに付加されて配信され、携帯端末３０は、配信された地図データと案内経路データに従って、表示部に地図および案内経路を表示する。また、経路探索部２４は、案内経路に交差点、分岐点や駅などが含まれる場合にそのノードをガイダンスポイントとして定め、右左折の案内を音声データのパターンで指定し、利用者に音声案内を提供するための案内データを作成する。音声案内などの案内データのパターンは図示しないデータベースに格納し、携帯端末３０に予めダウンロードもしくはプレインストールしておくのが一般的である。携帯端末３０は、前記地図データ、案内経路データとともにこの案内ポイントデータも配信を受け、案内ポイントに到達した時点で設定された音声案内などのガイドを受けることができる。【００５８】
次に、乗り換え回数の最も少ない経路探索する本発明にかかる経路探索方法についてダイクストラ法を用いて具体的に説明する。先ず、出発地から目的地まで乗り換え無しで（１つの路線系統を使用して）到達できる場合について説明する。図４、図５は、出発地をノード１、目的地をノード６として乗り換え無し（１つの路線系統）で到達できる場合の経路を、図２の経路ネットワークで示す図であり、図４（ａ）ないし（ｃ）、図５（ｄ）ないし（ｆ）は探索の手順に該当する経路ネットワークを示す図である。【００５９】
図４（ａ）に示すように、出発地がノード１で、目的地がノード６であるものとする。ノード１は出発地であるので、まる印に斜線を引いて示している。以下の経路ネットワーク図においても同様に経路探索が進行しているノードをまる印に斜線を引いて表している。そしてこの出発ノード１のポテンシャルを「Ｐ＝０」と置いて経路探索を開始する。【００６０】
ノード１から出るリンク（出リンク）はリンク［１］のみである。これを
Extract
［１］０＋４＝４
と表している。この式が表す意味は、リンク［１］はノード１のポテンシャル「Ｐ＝０」に、リンク［１］のリンクコスト「４」（以下単にコストという）を加えたポテンシャルをリンク１が到達するノード２にもたらすという意味である。すなわち、あるノードのポテンシャルとは、そのノードまでたどってきたリンクのコストの累積値を示すことになる。演算手段２６は、経路ネットワークＤＢ２８を参照してこのポテンシャルの演算を行うものであり、演算結果のポテンシャルは、その結果をもたらすリンクのリンク番号とともに作業用メモリ２７に記憶されていく。すなわち、作業用メモリ２７にはリンク番号とそのリンクに到達するまでにたどってきた各リンクのリンクコストの累積値が記憶されていく。【００６１】
この作業用メモリ２７のうちソート部分は、いわゆる、「ヒープ（Ｈｅａｐ）」と称されるツリー形式でデータの記憶を行い、記憶したデータ（値）の大小関係に従ったソート処理を行うことができるメモリである。ヒープについては後に詳細を説明するが、本明細書においては、探索したリンクのリンクコスト累積値とリンク番号を作業用メモリ２７に記憶する処理を「ヒープ登録する」といい、登録されたデータをソートして最小値を求める処理を「ヒープソートする」ということとする。図４（ａ）の状態では、ヒープ登録した要素が１つしかないので、リンク［１］は最小値「４」であって、図４（ｂ）に示すようにノード２までの経路がリンク［１］に決定する。すなわち、ノード２のポテンシャルは「Ｐ＝４」に決まり、これが現在の最小ラベルである。この処理の結果、ヒープ（作業用メモリ２７）には何も残らない。【００６２】
次に、図４（ｃ）のように、ノード２からは、２本の矢印（出リンク：リンク［２］とリンク［７］）が存在している。この出リンクは、経路探索部２４がこれからたどろうとするリンクであり、これを拡散するリンクと呼ぶこととする。この拡散するリンクの状態が、
Extract
［７］４＋４＋ＭＳＢ＝８＋ＭＳＢ
［２］＝４＋１＝５
で表される。リンク［６］は、ノード２に対する入りリンクであるので選択されない。
ここで、本発明においては、リンク［７］はリンク［１］と属性（路線系統）が異なる。つまり、バスの系統が変わる場合であり、乗り換えが発生するため、本来の経路コスト４＋４に対して作業用メモリ２７におけるリンクコストの値の記憶領域の最上位ビット（Most Significant Bit）を論理「１」に書き換える処理を行う。この処理を「ＭＳＢを立てる」ということとし、「＋ＭＳＢ」で表している。【００６３】
ここで、作業用メモリ２７のヒープ登録、ヒープソートのためのメモリ構成とその作用について詳述する。図６は、作業用メモリ２７に記憶されるデータの構造を示す概念図であり、図６（ａ）はツリー状に登録されるデータの概念を示し、図６（ｂ）は、ツリー状のデータが実際に作業用メモリ２７に記憶される配列を示す図である。図６（ａ）に示すように、ヒープ登録されるデータの構造はツリー状であるが、実際には、図６（ｂ）のように作業用メモリ２７上の配列であって、リンク番号とコストのペアである。例えば、図６において、Ａはツリーの根となるデータであって、このデータＡに関連するデータＢ、Ｃが連なり、更に、データＢにデータＤとデータＥが、データＣにデータＦとデータＧが連なる構造であるが、実際のデータＡ〜Ｇは、図６（ｂ）のように作業用メモリ２７上に配列されて記憶される。【００６４】
ここでは、記憶されるデータは、リンク番号とコストのペアであり、コストを比較してヒープソートを行い、最小のデータをツリーの根（ツリーの頂点）から取り出す。経路探索のコストは時間や距離なので非負の数である。従ってメモリ上の最上位ビットをデータの正または負を表す符号ビットに使用することはありえない。また、メモリのビット数を充分に用意すれば、最上位ビットまで使うコストのデータも存在しない。たとえば、路線バスのリンクコスト、すなわち停留所間の所要時間を１５秒単位で表したとき、コストを記憶する領域を１５ビットとすれば、最上位ビットまで使用すると４９１５０５秒＝１３６時間以上まで記憶できることになる。交通機関においてこのようなリンクコストはあり得ないので、１６ビット目を使用することはあり得ない。従って、本発明においては、系統が変化する（乗り換えが発生する）リンクは、ヒープ登録する際に最上位ビットである１６ビット目（Most Significant Bit）に値「１」を記憶する処理（前述のＭＳＢを立てる処理）を行う。あるいは、このように最上位ビットでなくても、実際の経路探索で用いることがない十分大きなポテンシャルを表している上位の特定ビットを定めて使用しても良い。【００６５】
この結果、ヒープソートにおいて、路線の系統が変化する（乗り換えが発生する）リンクは、路線の系統が変化しないリンクよりも必ず大きな値となり、路線の系統が変化しないリンクをヒープソートで優先的に抽出して決定できるようになる。また、属性が変化したリンクどうしのヒープソートも、下位ビットの大小関係は保たれているので問題なくヒープソートが行える。また、前述したように、属性が変化していないリンクは、明らかに属性が変化したリンクよりも小さな値になるので、ヒープに登録した際に乗り換えを行わないリンクが常にヒープソートで上位にソートされてくることになる。このように、演算手段２６で行うヒープソートの演算は１６ビットの比較演算でも十分であるが、システムに応じて３２ビット演算であってもよく、この程度の演算は現在のプロセッサの演算処理能力から負荷は問題にならない。リンク番号の記憶も経路ネットワークのリンク数を表現できるビット数が必要であることは言うまでもないが、ソート処理に伴う代入演算処理だけであり、演算処理としては軽い負荷の処理である。【００６６】
再度、図４（ｃ）に戻って、ヒープソートの結果、最小値はリンク［２］の「５」であるから、まず、リンク［２］が確定し、取り出されることになる。これによって、ノード３のポテンシャル「Ｐ＝５」が決定する。この状態ではヒープにはリンク［７］のデータが取り出されずに残っている。次に、図５（ｄ）に示すように最小ラベル位置から再探索を行う。これにより、リンク［３］が抽出され、
Extract
［３］５＋２＝７
と表される。
これをヒープに登録すると、リンク［７］の８＋ＭＳＢよりも小さいので、根から取り出され、リンク［３］が確定して、ノード４のポテンシャル「Ｐ＝７」が確定される。【００６７】
同様に図５（ｅ）に示すようにノード４からのリンクを探索して
Extract
［４］７＋２＝９
を得て、リンク［４］が確定してノード５のポテンシャルＰ＝９が確定される。
ここで、特徴的なのは、リンク［７］がノード５のポテンシャルを決めるのではなくて、リンク［４］が先にノード５に到達している点にある。つまり乗り換えの無い経路を優先的に探索を進めている結果が現れていることである。【００６８】
同様に図５（ｆ）に示すようにノード５からのリンクを探索して
Extract
［８］９＋２＋ＭＳＢ＝１１＋ＭＳＢ
［５］＝９＋５＝１４
が抽出されて、ヒープに登録される。リンク［８］は、乗り換えが発生しているので、この場合も＋ＭＳＢの処理を行っている。結果的にリンク［５］が最小なので、リンク［５］が確定して、ノード６のポテンシャルP=１４が決まる。ここで、ノード６は目的地であり、これで乗り換え無しの経路が求められたので、探索は終了となる。経路は、確定（Fixed）の過程を逆にたどることによって表すことができる。【００６９】
すなわち、
ノード６に至るのはリンク［５］。リンク［５］はノード５から出ている。
ノード５に至るのはリンク［４］。リンク［４］はノード４から出ている。
ノード４に至るのはリンク［３］。リンク［３］はノード３から出ている。
ノード３に至るのはリンク［２］。リンク［２］はノード２から出ている。
ノード２に至るのはリンク［１］。リンク［１］はノード１から出ている。
ノード１は出発地。
従ってノード１→ノード２→ノード３→ノード４→ノード５→ノード６が探索した結果の経路になる。これで、他の経路を１つも探索することなく、目的の乗り換え最小となる経路を求めることができた。なお、このときまだヒープには抽出されたリンク、リンク［７］およびリンク［８］のデータが残っているので、さらにヒープが空になるまで取り出しを行うと、他の経路も求めることができる。【００７０】
次に、乗り換えなしでは目的地に到達しない場合の経路探索の例について説明する。図７は、出発地をノード１、目的地をノード８とした場合の経路を、図２の経路ネットワークで示す図であり、図７（ａ）ないし図７（ｄ）は探索の手順に該当する経路ネットワークを示す図である。この場合の経路探索においては、ヒープからリンクを取り出す際に、最上位ビットがセットされているリンクは取り出さず、そこで探索を一旦停止して乗り換え回数のカウントを行うことにしている。【００７１】
この場合の経路探索の手順は、途中までは、図４、図５で説明した乗り換えなしの場合と同様であるので説明を省略し、手順に変化が生じる図５（ｆ）で説明したノード５の探索以降の手順を説明する。図５（ｆ）において、ノード５から探索をして、リンク［５］が確定したが、ノード６が目的地ではないので、処理は終わらずノード６からの探索を継続しようとする。このとき、ノード６からの出リンクがないので、ヒープからリンクを取り出そうとする（図７（ａ）参照）が、ヒープに残っているリンクは最上位ビットがセットされている。ヒープの根にあるリンクを調べて、その最上位ビットがセットされていれば、以下残っているすべてのリンクも最上位ビットがセットされているはずである。従って、もう乗り換えなしの経路は無いことを表している。【００７２】
そこで、１回の乗り換えを認めることにして、図７（ｂ）に示すように、ヒープに残っているすべてのリンクの最上位ビットをクリアする。このクリア処理によって下位ビットの数値の大小関係に変化はないので、ヒープの構造を変える必要は無い。【００７３】
この後、ヒープソート処理によってヒープの根から取り出されたのは、図７（ｃ）に示すように、リンク［７］である。リンク［７］は、今まで乗り換え経路だったので、その先に経路が成長することはなかった。リンク［７］がもたらすノード５のポテンシャルは「Ｐ＝８」である。この場合、ラベル修正法を適用して、ノード５のポテンシャルはリンク［４］がもたらした「Ｐ＝９」から、今回求めた「Ｐ＝８」に書き換えられる。ラベル修正が行われたノードは、新たに探索を行う起点になる。【００７４】
そして、図７（ｄ）に示すように、
Extract
［８］８＋２＝１０
［５］８＋５＋ＭＳＢ＝１３＋ＭＳＢ
が抽出される。この場合、リンク［５］は新たな乗り換えが発生しているので＋ＭＳＢの処理が加わる。リンク［８］はリンク［７］から見て乗り換えではない。ヒープに登録した結果は、リンク［８］１０が取り出されて、ノード８のポテンシャル「Ｐ＝１０」が確定する。ノード８は目的地であるので、これで経路探索は終了である。なお、このときヒープに残っているのは、ノード５で乗り換えを行った場合の経路と、あと１回の乗り換えを認めた場合にノード６に到達する経路である。【００７５】
経路は、確定（Fixed）の過程を逆にたどることによって表すことができる。すなわち、
ノード８に至るのはリンク［８］。リンク［８］はノード５から出ている。
ノード５に至るのはリンク［７］。リンク［７］はノード２から出ている。
ノード２に至るのはリンク［１］。リンク［１］はノード１から出ている。
ノード１は出発地。
従ってノード１→ノード２→ノード５→ノード８が探索した結果の経路になる。すなわち、１回の乗り換えを許容する最小乗り換え回数の経路が、他の経路の探索を行うことなく探索できたことになる。【００７６】
次に、乗り換えが２回必要な場合の経路探索の手順も説明しておく。図８、図９は、この手順を説明するための経路ネットワークを示す図であり、図８（ａ）ないし図８（ｃ）、図９（ｄ）ないし図９（ｇ）は、経路探索の手順に該当する経路ネットワークを示す図である。なお、図８、図９の経路ネットワークでは、図１の経路ネットワークに更にノード９ないしノード１１が加わって、
ノード１→ノード２→ノード３→ノード４→ノード５→ノード６
ノード７→ノード２→ノード５→ノード８→ノード９
ノード８→ノード１１
ノード１０→ノード９→ノード１１
の４系統からなる路線バスの経路ネットワークとなっている。図１０は、この経路ネットワークデータベースの構成を示す図であり、図２と同様の構成である。【００７７】
図８（ａ）は、乗り換えを１回許容した図７の経路ネットワークでの経路探索における図７（ａ）の状態、すなわち、乗り換え無しの探索が止まった状態である。ここで、図７（ｂ）の処理と同様に、図９（ｂ）において、１回目の乗り換えを許すためにヒープに登録されているリンクのデータの最上位ビットをクリアして、リンク［７］を取り出す。リンク［７］がもたらすノード５のポテンシャルは「Ｐ＝８」である。この場合、ラベル修正法を適用して、ノード５のポテンシャルはリンク［４］がもたらした「Ｐ＝９」から、今回求めた「Ｐ＝８」に書き換えられる。【００７８】
次に、図８（ｃ）において、ラベル修正が行われたノードは、新たに探索を行う起点になる。
Extract
［８］８＋２＝１０
［５］８＋５＋ＭＳＢ＝１３＋ＭＳＢ
が抽出される。この場合、リンク［５］は新たな乗り換えが発生しているので＋ＭＳＢの処理が加わる。リンク［８］はリンク［７］から見て乗り換えではない。ヒープに登録した結果は、リンク［８］１０が取り出されて、ノード８のポテンシャル「Ｐ＝１０」が決まる。【００７９】
次いで、図９（ｄ）において、ノード８からの探索を行うと、
Extract
［９］１０＋２＝１２
［１２］１０＋５＋ＭＳＢ＝１５＋ＭＳＢ
が抽出されてヒープに登録される。このとき、リンク［８］１１が根から取り出されるが、リンク［８］１１は、確定したリンクにさらに小さいノード８←［８］Ｐ＝１０があるので、リンク［８］１１は破棄される。従って、その次のリンク［９］１２が浮上してきて、確定リンクになる。【００８０】
そして、図９（ｅ）において、ノード９から探索を行うと、乗り換えが必要なリンク［１１］が新たにヒープに登録される。
Extract
［１１］１２＋４＋ＭＳＢ＝１６＋ＭＳＢ
ここで、ヒープを見ると、根の［５］１３＋ＭＳＢは、最上位ビットがセットされているので、１回の乗り換えで到達できたのはここまでであることがわかる。【００８１】
さらに１回の乗り換えを許すとして、２回乗り換えた場合の探索を進める。ヒープに登録されたデータすべての最上位ビットをリセットして、リンク［５］１３を取り出すと、図９（ｆ）に示すように、これは先に確定したリンクよりもノード６に低いポテンシャルを与えるので、ノード６←［５］Ｐ＝１４を削除して新たにポテンシャルを「Ｐ＝１３」に書き直しておく。この意味するところは、乗り換えをさらに１回許した（２回の乗り換えを許容した）のでノード６に対しては、さらに短い経路が見つかったということである。しかし、ノード６は目的地ではないので探索は終わらない。【００８２】
ノード６から探索を進めることができなかったので、図９（ｇ）において、ヒープからリンクを１つ取り出す。それがリンク［１２］１５であるので、ノード１１のポテンシャルが「Ｐ＝１５」に決まる。ノード１１は目的地であるので、経路の探索はここで終了である。乗り換えは２回必要であった。探索された経路は、目的地から逆にたどって、
ノード１１←リンク［１２］←ノード８←リンク［８］←ノード５←リンク［７］←ノード２←リンク［１］←ノード１
であることがわかる。【００８３】
次に、以上説明した経路探索の手順を、図１１のフローチャートに基づいて再度説明する。処理に先立って、出発地と目的地が利用者から携帯端末３０に入力され、経路探索要求が経路探索装置２０に送信されているものとする。先ず、ステップＳ２１で経路探索部２４は経路ネットワークＤＢ２８を参照して出発地のノードから出リンクを探索して到達したノードから新たにたどろうとする出リンク（これを拡散するリンクと称することとする）が存在するかを判定する。ここで経路探索に利用される手法は、先に述べたとおりダイクストラ法を用いている。次いで、経路探索部２４は、ステップＳ２２でリンクの拡散があるかを判定し、拡散したリンクがある場合は、ステップ２３に進んで、リンクの属性情報（リンクの属する路線系統を示す情報）が変化するかを判定する。【００８４】
ステップＳ２２で拡散したリンクが無かった場合、すなわち、本フローチャートの手順で処理を行った前回の処理ループにおいてリンクが確定しなかった場合など、新たなリンクの拡散が無い場合もあるので、そのときはステップＳ２８に処理を飛び、ヒープからリンクを１つ取り出し、新たなリンクの拡散を進める。【００８５】
ステップＳ２３の判定処理でリンクの属性情報に変化が無かった場合は、ステップＳ２５に進み、リンクをヒープに登録してヒープソートを行う。リンクの属性情報に変化があった場合には、ステップＳ２４でリンクコストの最上位ビットに「１」を立て（ＭＳＢを立てる）て、ステップＳ２５の処理、すなわち、リンクをヒープに登録してヒープソートを行う。この処理は、演算手段２６が経路ネットワークＤＢ２８を参照しながら作業用メモリ２７を使用して行う。【００８６】
次いで、演算手段２６は、ステップＳ２６で、ヒープの根のメモリの最上位ビットがセットされていたら（ＭＳＢが「１」であったら）、ヒープ内はすべて乗り換えが必要なリンクである。従って、ステップＳ２７に進み乗り換え回数をプラス１してカウントする。そして、ヒープ内の全てのリンクコストの最上位ビット（ＭＳＢ）をリセットする。ステップＳ２６においてヒープの根のメモリの最上位ビットがセットされていなかったら（ＭＳＢが「１」でなかったら）ステップＳ２８に進み、リンクを１つヒープの根から取り出す。【００８７】
次に、ステップＳ２９で、ヒープが空で何も取り出せなかった場合は、それで探索失敗である。従って、ステップＳ３０でエラー処理をして経路探索を終了する。すなわち、目的ノードに対して有向リンクがない場合は、いずれリンクが枯渇するのでこの状態で経路探索を終わる。ステップＳ２９でリンクの取り出しに成功したら、ステップＳ３１で目的地に到達したか判定をする。取り出したリンクが、目的地に到達していれば、それで経路探索終了である。ステップＳ３２でリンクを目的地から逆にたどることで経路を出力して経路探索処理を終了する。【００８８】
ステップＳ２８において取り出したリンクがステップＳ３１で目的地でないと判断されたときは、取り出したリンクの確定処理をステップＳ３３で行う。もし、同じノードに到達するリンクが既に確定していた場合は、今回求めたポテンシャルが小さい場合は、ラベル修正の処理を行い、ポテンシャルが大きい場合は、このリンクを破棄する。そしてステップＳ２１に戻って、経路探索を続ける。【００８９】
なお、以上の実施例においては、効率が良いと思われるヒープソートを行う作業用メモリ２７を採用したが、他のソーティング方法を使用した場合であっても、本発明における本質は変わらない。【００９０】
以上、詳細に説明したとおり、本発明にかかる経路探索装置によれば、なるべく同じリンクの属性をたどって経路探索を行うことができる技術であるため、属性の取り方によって様々な応用が可能である。すなわち、本発明の実施例においては路線バスの系統であったが、その他にも、電車の運行会社による属性、例えば、メトロと都営地下鉄、及びＪＲは切符が共通ではないので、なるべく乗り換えずに経路探索を試み、運賃が最小になる経路を探索する場合、あるいは道路の属性、例えば、できるだけ高速道路と国道だけで行きたいというような様々な経路探索の要請に対応できる装置にも適用することができる。
【図面の簡単な説明】
【００９１】
【図１】本発明において経路探索の対象となる交通機関の経路ネットワークの基本を示す概念図である。
【図２】経路探索のための経路ネットワークデータベースの構成を示す図であり、図１の経路ネットワークに関するデータを例示した図である。
【図３】本発明にかかる経路探索装置の構成を示すブロック図である。
【図４】出発地をノード１、目的地をノード６として乗り換え無し（１つの路線系統）で到達できる場合の経路を、図２の経路ネットワークで示す図であり、図４（ａ）ないし図４（ｃ）は探索の手順に該当する経路ネットワークを示す図である。
【図５】出発地をノード１、目的地をノード６として乗り換え無し（１つの路線系統）で到達できる場合の経路を、図２の経路ネットワークで示す図であり、図５（ｄ）ないし図５（ｆ）は探索の手順に該当する経路ネットワークを示す図である。
【図６】作業用メモリに記憶されるデータの構造を示す概念図であり、図６（ａ）はツリー状に登録されるデータの概念を示し、図６（ｂ）は、ツリー状のデータが実際に作業用メモリ２７に記憶される配列を示す図である。
【図７】図２の経路ネットワークで出発地をノード１、目的地をノード８とした場合の経路探索の手順を示す図であり、図７（ａ）ないし図７（ｄ）は探索の手順に該当する経路ネットワークを示す図である。
【図８】乗り換えが２回必要な場合の経路探索の手順を説明するための経路ネットワークを示す図であり、図８（ａ）ないし図８（ｃ）は、経路探索の手順に該当する経路ネットワークを示す図である。
【図９】乗り換えが２回必要な場合の経路探索の手順を説明するための経路ネットワークを示す図であり、図９（ｄ）ないし図９（ｇ）は、経路探索の手順に該当する経路ネットワークを示す図である。
【図１０】図８、図９の経路ネットワークのデータベースの構成を示す図である。
【図１１】本発明にかかる経路探索の手順を示すフローチャートである。
【符号の説明】
【００９２】
１０・・・・ナビゲーションシステム
１２・・・・ネットワーク
２０・・・・経路探索装置
２１・・・・主制御部
２２・・・・送受信部
２３・・・・地図ＤＢ（地図データベース）
２４・・・・経路探索部
２５・・・・データ配信部
２６・・・・演算手段
２７・・・・作業用メモリ
２８・・・・経路ネットワークＤＢ（経路ネットワークデータベース）
２９・・・・操作・表示部
３０・・・・携帯端末
３１・・・・主制御部
３２・・・・経路探索要求部
３３・・・・案内データ記憶部
３４・・・・地図・経路記憶部
３５・・・・ＧＰＳ処理部
３６・・・・操作・表示部
【図１】
0003969735.tif 000002
【図２】
0003969735.tif 000003
【図３】
0003969735.tif 000004
【図４】
0003969735.tif 000005
【図５】
0003969735.tif 000006
【図６】
0003969735.tif 000007
【図７】
0003969735.tif 000008
【図８】
0003969735.tif 000009
【図９】
0003969735.tif 000010
【図１０】
0003969735.tif 000011
【図１１】
0003969735.tif 000012