(57)【特許請求の範囲】
【請求項１】
複数の車両の走行履歴データを含むプローブデータを用いて、指定された出発地と目的地に基づく経路探索を行う経路探索システムであって、
前記プローブデータに基づいて車両の分岐度合いが高い交差点ノードを主要分岐ノードとして検出する主要分岐ノード検出部と、
前記プローブデータの各経路情報を前記主要分岐ノードで分割したプローブ切片を求めるプローブデータ分割部と、
前記出発地と前記目的地に基づく初期経路を生成する初期経路生成部と、
経路情報を前記主要分岐ノードで複数の部分経路に分割する経路分割部と、
前記部分経路の少なくとも１つを前記プローブ切片で置換した派生経路を生成する派生経路生成部と、
生成された前記派生経路について少なくとも各派生経路を構成するプローブ切片の走行台数に基づき、少なくとも１つの派生経路を選択する経路選択部とを備え、
前記派生経路生成部は前記初期経路を前記経路情報として前記経路分割部により分割された部分経路を前記プローブ切片で置換した派生経路を生成することを特徴とする経路探索システム。
【請求項２】
請求項１の経路探索システムにおいて、
前記経路分割部は更に、前記経路選択部が選択した派生経路を経路情報として、当該経路情報を前記主要分岐ノードで部分経路に分割し、
前記派生経路生成部は当該部分経路を前記プローブ切片で置換した派生経路を生成することを特徴とする経路探索システム。
【請求項３】
請求項２の経路探索システムにおいて、
前記派生経路生成部は、前記経路選択部が選択した派生経路に基づき派生経路を生成する繰り返し処理を所定回数実行したことを判定条件とするか、
または前記派生経路生成部は、生成した派生経路を記録する派生経路データベースを備え、
前記派生経路生成部は、前記経路選択部が選択した派生経路に基づき派生経路を生成する繰り返し処理を、生成した派生経路のうち、前記派生経路データベースに記録されていない新たな派生経路の数が所定数を下回ることを判定条件として終了し、当該終了時点における前記経路選択部が選択した派生経路を推奨経路として出力することを特徴とする経路探索システム。
【請求項４】
請求項１の経路探索システムにおいて、
道路リンクの長さを記録した地図データベースを備え、
前記経路選択部は、前記地図データベースに基づき求めた前記派生経路の経路長と前記プローブデータに基づき求めた当該派生経路の所要時間と当該派生経路を構成するプローブ切片における車両の走行台数に基づき、少なくとも走行台数が多くなると当該派生経路の得点を高くする評価を行い、かかる得点の高い１乃至複数の派生経路を選択することを特徴とする経路探索システム。
【請求項５】
複数の車両の走行履歴データを含むプローブデータを用いて、指定された出発地と目的地に基づく経路探索を行う経路探索方法であって、
前記プローブデータに基づき車両の分岐度合いが高い交差点ノードを検出して主要分岐ノードとする主要分岐ノード検出処理と、前記プローブデータの各経路情報を前記主要分岐ノードで分割したプローブ切片を求めるプローブデータ分割処理とにより、予め主要分岐ノードとプローブ切片を求めておき、
指定された前記出発地と前記目的地に基づき初期経路を生成し、
経路情報を前記主要分岐ノードで複数の部分経路に分割する経路分割処理により当該初期経路を部分経路に分割し、
部分経路の少なくとも１つを前記プローブ切片で置換した派生経路を生成する派生経路生成処理により前記初期経路を分割した部分経路置換した派生経路を生成し、
生成された前記派生経路について少なくとも各派生経路を構成するプローブ切片の走行台数に基づき、少なくとも１つの派生経路を選択する経路選択処理により選択経路を求めることを特徴とする経路探索方法。
【請求項６】
請求項５の経路探索方法において、
前記経路分割処理は更に、前記経路選択処理により選択した派生経路を新たな経路情報として、当該経路情報を前記主要分岐ノードで部分経路に分割し、
前記派生経路生成処理により当該部分経路を前記プローブ切片で置換した派生経路を生成することを特徴とする経路探索方法。
【請求項７】
請求項６の経路探索方法において、
前記派生経路生成処理は、前記経路選択処理で選択した派生経路に基づき派生経路を生成する繰り返し処理を所定回数実行したことを判定条件とするか、
または前記派生経路生成処理は、生成した派生経路を記録し、
前記派生経路生成処理において、前記経路選択処理で選択した派生経路に基づき派生経路を生成する繰り返し処理を、生成した派生経路のうち、前記記録された派生経路に含まれない新たな派生経路の数が所定数を下回ることを判定条件として終了し、当該終了時点における前記経路選択処理により選択された派生経路を推奨経路として出力することを特徴とする経路探索方法。
【請求項８】
請求項５の経路探索方法において、
前記経路選択部は、道路リンクの長さを記録した地図データベースに基づき求めた前記派生経路の経路長と前記プローブデータに基づき求めた当該派生経路の所要時間と当該派生経路を構成するプローブ切片における車両の走行台数に基づき、少なくとも走行台数が多くなると当該派生経路の得点を高くする評価を行い、かかる得点の高い１乃至複数の派生経路を選択することを特徴とする経路探索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載されたセンサによって取得されるプローブデータに基づき、経路探索を行うセンタ装置および車載端末装置に関する。
【背景技術】
【０００２】
従来、道路を走行する際の推奨経路を探索するために、しばしばプローブカーによって収集されたデータが用いられている。プローブカーとは、各種センサや通信装置などを含んだ車載装置を搭載し、その各種センサによって車両位置，走行速度，走行距離，経路情報などのデータ（以下、プローブデータという）を収集し、その収集したプローブデータを所定の交通情報センタに送信する車両である。プローブカーとしては、例えばタクシー会社などの協力の下に、営業しているタクシーなどが利用されたり、自家用車向け交通情報サービスの一環として、契約したユーザの自家用車が利用されることが多い。
【０００３】
一方、経路探索はカーナビゲーション装置の必須機能だが、ユーザの要望や不満が顕われ易い機能でもある。その不満は主に、カーナビゲーション装置が提示する経路がユーザの嗜好や経験にそぐわず、運転し難いというものである。この問題に対して、プローブカーが走行したリンク（２つの交差点間の道路区間）や経路（複数リンクが連なったリンク列）については、交通情報センタで蓄積したプローブデータからプローブカーの走行頻度が分かるため、この走行頻度が高い経路やリンクを含むように経路探索をすることによって、多数のユーザの経験に即した経路を提示することで対応することができる。
【０００４】
特開２００４−３３３３７７号公報に記載の技術では、出発地と目的地を結ぶ最短経路の各ノード（交差点または分岐点）からある閾値の距離内にあって、商用車両の走行回数による重み付けが一定値を超えるリンクを必ず含むように再探索を行うことで、商用車の運転者の経路選択ノウハウを経路探索に活かすことができる。
【０００５】
特開２００６−３００９０３号公報に記載の技術では、土地勘のある運転者が高頻度に使用する経路を高頻度ルート情報として、目的地までの経路設定や、渋滞の迂回路の検索を行うことで、最適な道路を自動設定することができる。
【０００６】
【特許文献１】特開２００４−３３３３７７号公報
【特許文献２】特開２００６−３００９０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１による発明では、プローブカーとして用いる商用車両の走行履歴をリンク単位に分割し、かつ出発地と目的地を結ぶ最短経路の各ノードから閾値内にあるリンクのみを経路の再探索に用いることになる。このため、本来プローブデータに内包されていた複数リンクを跨ぐ情報が損なわれる。例えば、あるリンクを走行した場合は、その後続けて特定の複数リンクを走行すると運転し易い、といった情報は、連続したプローブデータには内包されているが、個々のリンク単位で数値化することはできないため、プローブデータをリンク単位に分割することで消失し、リンク単位での走行頻度の情報しか残らない。結果として得られる経路は、個々のリンクについては、走行頻度が高いという意味で局所的に最適化されているものの、出発地から目的地までを通して見た場合には、経路としての連続性を考慮したものとはならず、全体最適化を実現することは困難となる。
【０００８】
また、特許文献２による発明では、複数のリンクが連なった経路の単位で走行頻度の情報が扱われるものの、出発地と目的地を直接に結ぶ経路情報は必ずしも過去に存在せず、一方、断片的な経路情報を接続して、出発地から目的地に至る全経路を探索する方法が示されていないため、プローブカーの走行頻度の情報を用いて、出発地から目的地までユーザを誘導するという目的は達成されない。
【０００９】
そこで、本発明の目的は、主に連続した複数のリンク列を単位としてプローブカーの走行履歴を経路探索を用い、かつ、リンク列の分割ノードも、プローブカーの走行履歴に基づいて決めることで、あるリンクを走行した場合に、その後続けて特定の複数リンクを走行すると運転しやすいといった、多くの運転者が共通して有するノウハウを、出発地から目的地までの経路全体にわたって反映することのできる経路探索方法，経路探索システム，センタ装置および車載端末装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、車両に搭載され、その車両が備えるセンサから情報を取得しプローブデータとして送信する車載端末装置と、車載端末装置から送信されたプローブデータを受信して蓄積する記憶手段を備え、その蓄積されたプローブデータに基づき、経路探索を行うセンタ装置とを通信により接続した経路探索システムにおいて、車載端末装置は、センサから取得した情報のうち、複数リンクにわたるＧＰＳデータ、あるいは車両が走行したリンク列を示すリンク番号データを、プローブデータとしてセンタ装置に送信する。そしてセンタ装置は、複数の車両から受信して蓄積したプローブデータに基づいて、車両の分岐が多いノードを主要分岐ノードとして抽出し、主要分岐ノードでプローブデータを分割したデータを、プローブ切片としてプローブ切片ＤＢに記録する。
【００１１】
そしてセンタ装置は経路探索において、指示された出発地と目的地を結ぶ初期経路を生成し、この初期経路を基本経路として主要分岐ノードで複数の部分経路に分割し、分割した部分経路と同じ主要分岐ノードを端点とするプローブ切片をプローブ切片ＤＢより検索して、検索されたプローブ切片ＤＢの経路情報で基本経路の部分経路を置換した派生経路を生成し、これら派生経路を評価して派生経路を選択し、選択された派生経路を新たに基本経路とし処理を繰り返し、最も評価の高い経路を推奨経路として出力する。
【発明の効果】
【００１２】
本発明によれば、経路長，所要時間等の客観的評価基準を満たした上で、あるリンクを走行した場合に、その後続けて特定の１乃至複数リンクを走行すると運転しやすいという運転者のノウハウを、出発地から目的地にわたって反映した経路を生成し提供することができるようになる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の実施例について詳しく説明する。
【実施例１】
【００１４】
図１は、本発明の実施例に係る経路探索システムの機能ブロックの構成の例を示した図である。図１に示すように、経路探索システムは、センタ装置１２２と車両に接続された車載端末装置１２１とによって構成される。ここでセンタ装置１２２と車載端末装置１２１とは、携帯電話，インターネット，車両無線など図示されない通信装置によって、互いに通信可能に接続されている。
【００１５】
センタ装置１２２は、バッチ処理部１２３，リアルタイム処理部１２４，共通ＤＢ部１２５から構成されている。バッチ処理部１２３は、プローブデータベース（以下、プローブＤＢ）１０４，主要分岐ノード検出部１０５，主要分岐ノードデータベース（以下、主要分岐ノードＤＢ）１０６，プローブデータ分割部１０７，プローブ切片データベース（以下、プローブ切片ＤＢ）１０８を備えている。リアルタイム処理部１２４は、初期経路生成部１１０，経路分割部１１１，派生経路生成部１１２，経路選択部１１３などの機能ブロックを含んで構成されている。共通ＤＢ部は、地図データベース（以下、地図ＤＢ）１０９，交通情報データベース（以下、交通情報ＤＢ）１１５などの機能ブロックを含んで構成されており、ユーザからの経路探索要求に基づいて処理が実行される。交通情報ＤＢ１１５に記録された交通情報は、路上センサデータあるいは蓄積したプローブデータから生成されたリンク単位の所要時間，速度，渋滞度などである。
【００１６】
車載端末装置１２１は、センサ１０１，プローブデータ記憶部１０２を備えている。センサ１０１としては、車両に一般的に搭載されている種々のセンサを利用することができる。例えば、ＧＰＳ，車速センサ，方位角センサなどである。車載端末装置１２１において、プローブデータ記憶部１０２は、各種のセンサ１０１から出力されるセンサデータをもとに生成したプローブデータを一時的に記憶する。また記憶されたプローブデータは所定のタイミングでセンタ装置１２２に送信されるものとする。このプローブデータとしては、ＧＰＳセンサによる測位結果と測位時刻、あるいは車速センサによる所定時間間隔ごとの平均車速と方位角センサによる所定時間間隔毎の進行方向のデータがある。
【００１７】
センタ装置１２２において、車載端末装置１２１から受信したプローブデータは、プローブデータ変換部１１６によって、例えばプローブデータの測位結果と測位時刻、あるいは車両の走行速度と走行方向から、そのプローブデータを収集したプローブカーが走行した道路のリンク列を同定し、この道路のリンク列を各リンク間の接続ノードを含むデータに変換した後、プローブＤＢ１０４に記録される。以後、このデータをプローブリンク列データと呼ぶことにする。なお、各道路リンク及びノードに対しては、他と区別可能なリンク及びノードの識別番号が一意に割り当てられているものとする。
【００１８】
主要分岐ノード検出部１０５は、地図ＤＢ１０９に記録された地図データとプローブＤＢ１０４に記録されたプローブリンク列データとを用いて、後述の主要分岐ノード検出方法により、地図データに登録されている道路リンクの端点であるノードの内から主要分岐ノードを検出し、主要分岐ノードＤＢ１０６に記録する。プローブデータ分割部１０７は、プローブＤＢ１０４に記録されたプローブリンク列データと主要分岐ノードＤＢ１０６に記録された主要分岐ノードデータとに基づいて、後述のプローブデータ分割方法によってプローブリンク列データを主要分岐ノードで分割したプローブ切片を作り、個々のプローブ切片ごとにプローブ切片ＤＢ１０８に記録する。以上のバッチ処理部１２３の処理は、例えば１日１回といった定期的タイミング、あるいは、プローブデータがある一定量蓄積された時点などの不定期タイミングで実行する。
【００１９】
車載端末装置，インターネット端末装置や携帯電話，端末装置，配車管理システム端末装置等の利用者から経路探索のリクエストがあり（以下、これら端末装置から経路探索をリクエストをした利用者を、単にユーザと表記する）、出発地，目的地情報が指示されると、初期経路生成部１１０は、地図ＤＢ１０９に記録された地図データを用いてダイクストラ法などの従来の経路探索手法により出発地と目的地を結ぶ初期経路を生成する。
【００２０】
経路分割部１１１は、この初期経路を基本経路として、後述のプローブ切片を用いた経路探索方法に従い、主要分岐ノードＤＢ１０６に記録された主要分岐ノードのデータにより基本経路を複数の部分経路に分割する。なお、この部分経路は前記プローブ切片同様に、主要分岐ノードで分割されたリンク列だが、プローブリンク列データから生成されたプローブ切片とは異なり、基本経路を主要分岐ノードで分割したリンク列である。
【００２１】
派生経路生成部１１２は、基本経路を構成する各部分経路あるいは複数の連続した部分経路を置換対象部分経路とし、各置換対象部分経路について、その始終点とそれぞれ同じ主要分岐ノードを始終点とするプローブ切片をプローブ切片ＤＢ１０８から検索し、そのプローブ切片の経路情報で対応する置換対象部分経路を置換することにより、派生経路を生成する。派生経路生成部１１２による派生経路の生成は、任意の１乃至連続した複数の部分経路に関して行われるため、派生経路は通常複数生成される。
【００２２】
経路選択部１１３は、複数生成された派生経路を後述の数式１の評価関数によって順位付けし、順位の高いものから１乃至複数の経路を選択する。選択された経路は新たな基本経路として、再び経路分割部１１１の入力となる。このように経路長や所要時間が短く利用者が多いほど順位が高くなるように順位付けした派生経路について更に派生経路を求めて順位付けすることにより、プローブ切片を経路の一部に含み、かつ、その中でも、後述の数式１による評価条件をより満足する派生経路が選択される。経路分割部１１１から経路選択部１１３の処理は、経路探索方法として後述するように、繰り返して実施する。
【００２３】
図２は前述の主要分岐ノード検出処理を解説した図である。主要分岐ノードとは、車両の分岐が多いノードを指す。たとえば、あるリンクから流入した１００台中９５台の車両が直進する向きのリンクに流出する割合ならば、このノードの直近に目的地がある場合を除いて、経路誘導においてこのノードで右左折を指示する必要性は低い。一方、１００台中４０台が直進し、３０台が右折し、３０台が左折する割合ならば、経路誘導においてもそのノードは目的地に応じて分岐が多く発生するノードであるといえる。そこで、目的地に応じて分岐が多く発生するノードを主要分岐ノードとして検出し、後述の経路探索方法で用いる。
【００２４】
２０１は交差点の模式図であって、ノードに接続された各リンクをＬ１，Ｌ２，Ｌ３，Ｌ４とする。分岐テーブル２０２，正規化テーブル２０３，合計テーブル２０４は、いずれも主要分岐ノード検出部１０５の内部データである。分岐テーブル２０２は、プローブＤＢ１０４に記録されたプローブリンク列データについて、各リンク間での車両の流入出量を表した表である。例えば、Ｌ１の行は、ある期間におけるリンクＬ１からリンクＬ２，Ｌ３，Ｌ４への流出量を示している。Ｌ２，Ｌ３，Ｌ４の各行も同様に、同一の期間におけるリンクＬ２，Ｌ３，Ｌ４から他のリンクへの流出量を示している。ここでは簡単のため、上りと下りの両車線をまとめて１つのリンクとして扱っているが、片側車線ずつ、あるいは片側で複数車線のある幹線道路では、全ての車線にそれぞれ番号を割り振っても、同様のテーブルを作成できる。
【００２５】
正規化テーブル２０３は、分岐テーブル２０２の各行を、それぞれ各行の最大値で除して正規化した表である。更に、合計テーブル２０４は、正規化テーブル２０３の各行を、それぞれ合計した表である。合計テーブル２０４の意味は次のようなものである。例えば、分岐テーブル２０２におけるＬ２の行においては、リンクＬ１，Ｌ３への流出量に比べて、リンクＬ４への流出量が圧倒的に多い。これを最大値であるリンクＬ４への流出量で正規化すると、正規化テーブル２０３のように、リンクＬ４への流出量が１になり、リンクＬ１，Ｌ３への流出量は微少である。よって、合計テーブル２０４における合計値は、１に近い値となる。一方、分岐テーブル２０２においてリンクＬ３の行を見ると、リンクＬ２，リンクＬ４への流出量がほぼ同等であり、正規化テーブル２０３では両者ともに１に近い値をとる。よって、合計テーブル２０４における合計値は、１から離れた大きな値をとる。
【００２６】
このように、分岐テーブル２０２から合計テーブル２０４までの一連の演算処理によると、複数のリンクに満遍なく交通量が分岐して流出するリンクほど、合計テーブル２０４において大きな合計値を持つことになる。そこで、合計テーブル２０４の各合計値を平均した値、あるいは各合計値の最大値を、当該交差点における分岐の度合いを表す値である分岐度とする。この分岐度を閾値と比較することで、分岐の多い交差点である主要分岐ノードを検出することが可能になる。分岐度は、特定の道路リンクに車両が集中する場合はほぼ１以上で、たとえば４叉路で各道路リンクに偏りなく車両が分散する場合は３以下の値をとることになるが、閾値は実験的に決定する。
【００２７】
主要分岐ノード検出部１０５は、以上の主要分岐ノード検出方法によって検出された主要分岐ノードを、主要分岐ノードＤＢ１０６に記録する。図４は、主要分岐ノード検出部１０５における処理フローを解説した図である。処理Ｓ４０１は初期化であり、主要分岐ノードＤＢ１０６，分岐テーブルＤＢのデータをクリアする。分岐テーブルＤＢとは、各ノードの分岐テーブル２０２を一時的に記録するデータベースであり、主要分岐ノード検出部１０５で内部的に用いる。処理Ｓ４０２，処理Ｓ４０３は、プローブＤＢ１０４のレコード単位で実行されるループと、各レコードのプローブリンク列データに含まれるノード単位に実行されるループによる二重ループ内で実行される。
【００２８】
プローブリンク列データに含まれるノード単位に実行されるループでは、各プローブリンク列データについて、その出発地側のノードから順に、各ノードの分岐テーブル２０２を分岐テーブルＤＢから検索し（Ｓ４０２）、検索された各ノードにおけるプローブリンク列データに対応した流入出リンクの組み合わせに該当する要素を加算する（Ｓ４０３）。当該ノードの分岐テーブルが存在しなかった場合には、新たに分岐テーブル２０２を生成し、分岐テーブルＤＢに追加する。このループ処理をプローブＤＢ１０４のレコード単位で実行することにより、プローブＤＢ１０４に記録されている全レコードのプローブリンク列データにおける各ノードについての分岐テーブル２０２が生成される。
【００２９】
続いて、分岐テーブルＤＢのレコード単位のループ処理として、各ノード単位に処理Ｓ４０４〜処理Ｓ４０６を実行する。処理Ｓ４０４，処理Ｓ４０５は、それぞれのノードについて、分岐テーブル２０２から正規化テーブル２０３を生成する処理と、正規化テーブル２０３から合計テーブル２０４を生成する処理である。合計テーブル２０４で得られる分岐度と前述の閾値とを比較し、分岐度がこの閾値を上回るのであれば、そのノードの識別番号を主要分岐ノードＤＢ１０６に登録する（Ｓ４０６）。この様にして、過去のプローブデータに基づく主要分岐ノードを求めることが出来る。
【００３０】
図３はプローブデータ分割部１０７によるプローブデータ分割方法を解説した図である。プローブリンク列データ３０１は、プローブＤＢ１０４に記録されたプローブリンク列データの例であり、車両の出発地から目的地までの経路のリンク列と、各リンク間の接続ノードから構成される。プローブ切片３０２は、プローブリンク列データ３０１を、経路に含まれるリンクのうち主要分岐ノードＤＢ１０６に記録された主要分岐ノードで分割したプローブリンク列データの断片であり、車両の出発地に近い側を始点、目的地に近い側を終点とする。そしてプローブ切片は、主要分岐ノードを始点と終点に持つ単一の道路リンク又は２つ以上の連続した道路リンクの連鎖であり、プローブリンク列データの部分集合となっている。従って、図示しているプローブ切片はいずれも、プローブリンク列データ上で隣接する２つの主要分岐ノードで区切られたリンク列となっている。
【００３１】
プローブ切片テーブル３０３は、プローブ切片ＤＢ１０８の管理テーブルであり、主要分岐ノードを始点，終点とする各プローブ切片を記録する。プローブ切片テーブル３０３においては、縦軸が始点である主要分岐ノード、横軸が終点である主要分岐ノードを表わしている。例えば、主要分岐ノードＡを始点として、主要分岐ノードＢを終点とするプローブ切片としては、レコード１，レコード２などが該当することを表わしている。これらプローブ切片に対応するレコードは、プローブ切片ＤＢ１０８のデータとして格納されている。そして、レコード１は、リンク“２０”，“２１”，“２２”，“７５”，“７８”、と、その接続ノードであるノード“１０５”，“１０６”，“１０７”，“２１８”、から構成される。一方、レコード２は、レコード１とは異なるリンク列から成るプローブ切片であり、リンク“２０”，“１５０”，“１５２”，“４０”，“４８”，“７５”，“７８”、と、その接続ノードであるノード“１０５”，“３５３”，“３５４”，“３５５”，“１０７”，“２１８”、から構成される。
【００３２】
図８は、このプローブデータ分割部１０７における処理を示す処理フローである。プローブＤＢ１０４に記録されたプローブリンク列データの全レコードに対するループ処理において、処理対象プローブリンク列データの経路上にある出発地側の主要分岐ノードから目的地側の最後の主要分岐ノードの１つ手前まで、順番に主要分岐ノード単位に処理を行う。これは、図３で言うと、Ｎ１，Ｎ２の順にループ処理を行うということである。処理Ｓ８０１ではプローブリンク列データを現在処理対象としている主要分岐ノードとその次の主要分岐ノードで分割し、現在処理対象としている主要分岐ノードを始点とし、目的地側の次の主要分岐ノードを終点としてプローブ切片を生成する。以下このプローブ切片を新規プローブ切片と呼ぶ。処理Ｓ８０２では、生成した新規プローブ切片について、その始点と終点をキーとして、同一の始点と終点の組を持つ既存のプローブ切片をプローブ切片ＤＢ１０８のプローブ切片テーブル３０３から検索する。以下、プローブ切片ＤＢ１０８のプローブ切片テーブル３０３に既に登録されているプローブ切片を、既存プローブ切片と呼ぶ。同一の始点と終点の組を持つような既存プローブ切片がプローブ切片テーブル３０３に無い場合は、処理Ｓ８０３においてこの新規プローブ切片をプローブ切片ＤＢ１０８のプローブ切片テーブル３０３に登録し、そのリンク列データを新たなレコードとしてプローブ切片ＤＢ１０８に追加する。
【００３３】
一方、同一の始点と終点の組を持つ既存プローブ切片がプローブ切片テーブル３０３に１乃至複数有る場合は、まず処理Ｓ８０４で既存レコード更新フラグを初期化した後、同一の始点と終点の組を持つ各既存プローブ切片についてのループ処理によって、処理Ｓ８０５から処理Ｓ８０７までを実行する。処理Ｓ８０５は、処理Ｓ８０１で生成された新規プローブ切片を構成するリンク列と、処理Ｓ８０２で検索された既存プローブ切片の内現在処理対象となっている既存プローブ切片を構成するリンク列の比較である。両者が同じリンク列から構成されている場合は、処理Ｓ８０６にて、プローブ切片ＤＢ１０８に記録された現在処理対象となっている既存プローブ切片のレコードを更新する。具体的にはプローブ切片テーブル３０３において、同一の始点と終点の組に登録されているプローブ切片のレコードの内、新規プローブ切片とリンク列が一致するレコードの走行台数を１つ加算する。走行台数とは、レコードを構成しているリンク列を走行した車両の総台数であり、たとえば、プローブ切片テーブル３０３を作成してからの時間で除することで、そのリンク列が使用されている頻度を算出することができる。処理Ｓ８０７では、既存プローブ切片が更新されたことを示す既存レコード更新フラグを立てる。また現在処理対象となっている既存プローブ切片と新規プローブ切片が異なるリンク列から構成されている場合は、処理Ｓ８０６，処理Ｓ８０７をスキップしてループ処理を続ける。
【００３４】
既存プローブ切片単位のループ処理終了後、既存レコード更新フラグが立っているか否かを判定し、既存レコード更新フラグが立っている場合には、現在処理対象としている主要分岐ノードについてのループ処理を終了する。一方、既存レコード更新フラグが立っていない場合には、新規プローブ切片と同一のリンク列から構成された既存プローブ切片が、プローブ切片ＤＢ１０８に存在しないことを示すので、処理Ｓ８０３にて新規プローブ切片をプローブ切片ＤＢ１０８に追加する。具体的には、新規プローブ切片を新たなレコードとしてプローブ切片ＤＢ１０８に登録し、この新規プローブ切片の始点と終点に該当するプローブ切片テーブル３０３の個所に新たに登録したレコードを登録する。プローブデータ分割部１０７は以上の処理によってプローブリンク列データの分割とプローブ切片ＤＢ１０８への登録を行う。
【００３５】
図１０は、本発明における経路探索方法を説明する図である。初期経路生成部１１０は、最初にユーザからの出発地，目的地情報で指示された出発地と目的地とを結ぶように、ダイクストラ法等の従来手法で初期経路１００１を生成する。経路分割部１１１は、初期経路１００１を基本経路として、この基本経路を主要分岐ノードＤＢ１０６に記録されている主要分岐ノードで分割した断片である部分経路鎖１００２を生成し、各部分経路（Ｓ１，Ｓ２，Ｓ３，Ｓ４）の出発地に近い側を始点、目的地に近い側を終点とする。なお、以下では説明を簡単にするため、出発地と目的地が主要分岐ノードであるものとして説明する。しかし、出発地と目的地が主要分岐ノードで無い場合には、出発地から初期経路に沿った最初の主要分岐ノードを仮の出発地に、初期経路に沿った最後の主要分岐ノードを仮の目的地とし、この仮の出発地と仮の目的地について同様の処理を適用すればよい。
【００３６】
派生経路生成部１１２では、基本経路を構成する部分経路鎖１００２のうち、任意の１つの部分経路、あるいは、連続した複数の部分経路と同一の始終点を持つプローブ切片をプローブ切片ＤＢ１０８から検索し、該当するプローブ切片が見つかれば、基本経路の該当する部分経路を検索されたプローブ切片の経路情報で置換して派生経路を生成する。この様にして生成された全ての派生経路が派生経路集合１００３である。例えば、この派生経路集合１００３における派生経路（Ａ）は、単一の部分経路Ｓ１をプローブ切片で置換した派生経路であり、派生経路（Ｂ）は、単一の部分経路Ｓ２をプローブ切片で置換した派生経路である。同様に、派生経路（Ｃ）（Ｄ）は、単一の部分経路Ｓ３，Ｓ４をそれぞれプローブ切片で置換した派生経路である。また、連続した２つの部分経路による置換の例としては、連続する部分経路Ｓ１，Ｓ２をプローブ切片で置換した派生経路（Ｅ）、部分経路Ｓ２，Ｓ３を置換した派生経路（Ｆ）、部分経路Ｓ３，Ｓ４を置換した派生経路（Ｇ）が生成されている。さらに、連続した３つの部分経路の置換によって、部分経路Ｓ１，Ｓ２，Ｓ３を置換した派生経路（Ｈ）、部分経路Ｓ２，Ｓ３，Ｓ４を置換した派生経路（Ｉ）が生成されている。連続した４つの部分経路の置換により、部分経路Ｓ１，Ｓ２，Ｓ３，Ｓ４、すなわち基本経路全体をプローブ切片で置換した派生経路（Ｊ）が生成されている。
【００３７】
なお、初期経路１００１において、出発地，目的地が主要分岐ノードでは無い場合は、部分経路Ｓ１，Ｓ４を対象とした置換は行われない。従って、このような場合には、出発地から初期経路に沿って最初の主要分岐ノードまでの経路と、初期経路に沿った最後の主要分岐ノードから目的地までの経路は、プローブ切片で置き換えられることが無く、同じ初期経路から生成される全ての派生経路でこの部分経路については共通することになる。
【００３８】
派生経路のデータは、図１３に示すように、派生経路を構成するリンク列のリンク番号と、基本経路の置換に用いられたプローブ切片のレコード番号によって表現する。例えば、図１３に示す派生経路のように
リンク番号：１０，１２，２４，２５，５０，５１，５２，７２，７３，７５
レコード番号：０，０，０，０，１２０，１２０，１２０，０，０，０
である場合、リンク番号“５０”，“５１”，“５２”は、基本経路がレコード番号“１２０”のプローブ切片によって置換されたリンク列であることを示す。また対応するプローブ切片レコード番号が“０”のリンクは、そのリンクがプローブ切片により置換されていないことを示す。
【００３９】
プローブ切片ＤＢ１０８において、基本経路の置換対象区間と同一の始終点の組み合わせとなるプローブ切片について、複数のレコードが登録されている場合には、登録されているそれぞれのプローブ切片に対応して複数の派生経路が生成される。例えば、派生経路（Ｆ）に対する派生経路（Ｆ２）のように、同一の部分経路の置換によって複数の派生経路が生成される。なお、派生経路集合１００３は、派生経路（Ｚ）として基本経路そのものも含む。
【００４０】
経路選択部１１３は、派生経路集合１００３に対して、評価関数による数値的な得点付けを行い、順位の高い複数の派生経路を新たな基本経路として選択する。基本経路の選択は、順位の高い順に所定数選択するようにしても、また、派生経路を生成した基本経路ごとに所定数選択するようにしても良い。なお新規の派生経路がこの所定数よりも少ない場合には、全ての新規な派生経路が基本経路として選ばれることになる。評価関数は、地図ＤＢ１０９に記録された各派生経路のリンク列の長さ、交通情報ＤＢ１１５に記録された各派生経路のリンク列の所要時間、プローブ切片テーブル３０３に記録された走行台数の関数であり、評価対象である派生経路の経路長が短いほど、所要時間が短いほど、走行台数が多いほど高い得点付けを行う。評価項目それぞれに重み付けの係数を付与することで、各評価項目のいずれを重視して得点付けを行うか、係数の大きさで調整する。
【００４１】
評価関数を式で表わすと、次式のようになる。
【００４２】
Ｆ＝Ｗ１×ｆ１(経路長)＋Ｗ２×ｆ２(所要時間)＋Ｗ３×ｆ３(走行台数)…(数式１)
Ｗ１，Ｗ２，Ｗ３は各項の係数であり、ｆ１，ｆ２，ｆ３はそれぞれ、経路長が短いほど、所要時間が短いほど、走行台数が多いほど高い得点を出力する関数である。具体的な関数形として、ｆ１（経路長）＝（１／経路長），ｆ２（所要時間）＝（１／所要時間），ｆ３（走行台数）＝（派生経路を構成する各プローブ切片の走行台数の平均値）、などを用いることができる。Ｗ１がＷ２に対して相対的に大きければ、経路長の短さを重視し、逆にＷ２がＷ１に対して相対的に大きければ、所要時間の短さを重視して総合得点Ｆが算出される。ここで、リンク長と所要時間はダイクストラ法など従来の経路探索手法でも用いられている評価項目だが、プローブ切片の走行台数は、本発明に固有の評価項目である。Ｗ１，Ｗ２に対して、Ｗ３を大きく設定すれば、走行台数が多い経路の得点が高くなる。すなわち、Ｗ１，Ｗ２，Ｗ３を調整することで、従来のようにリンク長と所要時間を重視して経路探索をするか、多数のユーザが派生経路を走行しているという実績を重視して経路探索をするか、設定することができる。
【００４３】
そして派生経路の走行代数の多少は、その派生経路の人気，走り易さ，分り易さ、といったドライバーの感覚を反映していると考えられるため、数式１では派生経路の走行代数を加味して評価値を求めていることから、従来のように経路の距離の長さや所要時間の短さにドライバーのノウハウを考慮した評価を行うことが出来る。
【００４４】
数式１により、例えば派生経路集合１００３の内、派生経路（Ａ）（Ｇ）（Ｈ）の評価得点が高かったものとすると、経路選択部１１３はこれら３つの派生経路を新たな基本経路として選択する。これらを再び経路分割部１１１の入力として、それぞれ主要分岐ノードで分割することにより新たな部分経路鎖が得られる。そしてこれら部分経路鎖から派生経路集合１００３を生成する処理と同様にして、派生経路生成部１１２によって新たな派生経路が生成され、経路選択部１１３による評価と選択が行われる。以後、経路分割部１１１から経路選択部１１３までのプローブ切片による基本経路の１回の置換処理を１世代として、後述の終了条件を満足するまで、複数世代の処理を繰り返し実施する。この例の場合では、次世代の基本経路は現世代の派生経路から評価点の高い３つが選択されている。
【００４５】
経路分割部１１１から経路選択部１１３の繰り返し処理は、例えば遺伝的アルゴリズム（ＧＡ）が遺伝子を部分的に置き換えながら、世代を繰り返して選択処理を行うことで、より優良な遺伝子を持つ固体を生成することと同じ効果を持つ。図５はその解説であり、初期経路生成部１１０によって生成された初期経路５０１を第０世代経路とする。第０世代経路に対して、経路分割部１１１による経路分割と、派生経路生成部１１２による派生経路生成は、ＧＡで言うところの突然変異に相当する。経路選択部１１３による派生経路の得点付けと選択は、ＧＡで言うところの淘汰に相当し、図５では派生経路５０２、５０３が第１世代経路として選択される。第１世代経路を対象とした、経路分割部１１１，派生経路生成部１１２，経路選択部１１３の処理により、派生経路５０４，５０５，５０６，５０７が第２世代経路として選択される。この例の場合では、次世代の基本経路は現世代の１つの基本経路ごとに２つ選択されている。
【００４６】
本発明による経路探索方法が、ＧＡによる経路探索方法と異なるのは、ＧＡが部分経路の置き換えを、複数経路間での部分経路の入れ替え（交差）や、ランダムな経由地点の追加（突然変異）によって行うのに対し、本発明による経路探索方法は、プローブ切片ＤＢ１０８に記録されたプローブ切片と部分経路の置換によって派生経路を生成するため、プローブデータという事例ベースでの経路探索が行われる点である。それによって、ランダムな解空間からの探索を行うＧＡとは異なり、過去の走行ノウハウを内包するプローブ切片の組み合わせを解空間として、効率的な解探索が可能となる。
【００４７】
経路分割部１１１から経路選択部１１３の繰り返し処理の終了条件は、予め指定された繰り返し処理の上限数、即ち上限世代数の処理を行った場合、あるいは、派生経路生成部１１２によって生成される新たな派生経路が下限派生数を下回った場合とすることができる。上限世代数，下限派生数は実験的に決定する閾値であるが、例えば、１世代の処理に１秒掛かり、全体の処理を１０秒で終わらせたい場合は、上限世代数を１０世代とする決め方ができる。あるいは、最終的にユーザに５本の推奨経路を提示する場合には、それを目安に、下限派生数を５本とすることができる。
【００４８】
図６のように、派生経路生成部１１２内には部分経路置換部６０１，派生経路データベース（以下、派生経路ＤＢ）６０２，派生経路比較部６０３，派生経路カウンタ６０４を設ける。派生経路ＤＢ６０２には、１つの初期経路について以前の世代までに生成された全ての派生経路が記録される。派生経路比較部６０３において、部分経路置換部６０１で生成された派生経路候補の中から、以前の世代で派生経路ＤＢ６０２に記録された派生経路と同じ派生経路候補を除外することで、新規派生経路の集合のみを派生経路生成部１１２の出力として、経路選択部１１３の評価の対象とすることが可能となり、無駄な経路生成を省くことができる。また部分経路置換部６０１で生成された派生経路候補が新規派生経路であった場合には、その派生経路は派生経路ＤＢ６０２に記録され、新規派生経路の数をカウントして新規派生経路カウンタ６０４に記録される。１つの世代でこの記録された新規派生経路の数が閾値を下回った時点で解探索が収束したものとみなし、繰り返し処理を終了して、その世代における経路選択部１１３による選択を経た１乃至複数の派生経路を、最終的な推奨経路とする。
【００４９】
図７は以上の経路探索方法の処理フローである。Ｓ７０１は初期化処理であり、予め図６の派生経路ＤＢ６０２をクリアしておく。Ｓ７０２は初期経路生成部１１０による初期経路１００１の生成である。Ｓ７０３は世代毎の初期化処理であり、新規派生経路カウンタ６０４をクリアしておく。Ｓ７０４は経路分割部１１１による処理であり、図１０で言うと基本経路１００１の分割により部分経路鎖１００２を生成する。Ｓ７０５は派生経路生成部１１２による処理であり、図１０で言うと部分経路鎖１００２をプローブ切片で置換することで、派生経路集合１００３を生成する。Ｓ７０４とＳ７０５は基本経路単位のループ処理であって、初期経路を基本経路とする場合、すなわち図５の第０世代の処理では１回のみの処理となり、後の処理Ｓ７１１において経路選択部１１３により選択された複数の派生経路を基本経路とする場合、すなわち図５の第１世代以降の処理では、基本経路の数だけ実行される。
【００５０】
Ｓ７１１〜Ｓ７１３は経路選択部１１３の処理である。Ｓ７１１は前述の数式１による派生経路の得点付けと選択を行う。Ｓ７１２は世代数のカウントを１加算する。Ｓ７１３は終了条件判定である。ここで世代数のカウントが前述の上限世代数を越えていれば、あるいは、新規派生経路カウンタ６０４の値が前記下限派生数を下回れば、経路探索処理を終了し、Ｓ７１４にて経路選択部１１３により現在の派生経路の中から推奨経路を選択して出力する。
【００５１】
次に図９は、Ｓ７０５の処理を詳細に説明した処理フローである。Ｓ９０１は部分経路置換部６０１による処理であり、基本経路の一部又は全部をプローブ切片で置換した派生経路候補の集合を生成する。Ｓ９０２〜Ｓ９０５は生成された各派生経路候補に対する派生経路比較部６０３の処理であり、Ｓ９０２にて１つの派生経路候補を派生経路ＤＢ６０２に記録済みの派生経路と比較し、派生経路ＤＢに記録されていない新規の派生経路であれば、Ｓ９０３にてこれを派生経路ＤＢ６０２に記録し、Ｓ９０４にて新規派生経路カウンタ６０４を１加算する。一方、派生経路候補が派生経路ＤＢに既存の派生経路であれば、Ｓ９０５にてこの派生経路候補を派生経路候補の集合から削除する。Ｓ９０２〜Ｓ９０５の処理は、Ｓ９０１で生成された各派生経路候補ごとに実施するため、これらの処理が終わったときには、派生経路候補の集合には新規派生経路だけが残され、これを派生経路集合とする。
【００５２】
以上の経路探索方法の説明において、初期経路生成部１１０によって生成される初期経路の数は１としているが、ダイクストラ法とは異なる複数の経路探索方法を用いて、あるいはダイクストラ法のみ用いる場合でも、一般道優先や高速道路優先など、探索コストを変えることで、複数の経路を生成して初期経路として用いることにより、第０世代の処理の時点から複数の基本経路を処理することもできる。
【００５３】
リアルタイム処理部１２４は、以上の経路探索方法によって、ユーザから指示された出発地，目的地情報を元に推奨経路を生成する。
【実施例２】
【００５４】
実施例１によれば、プローブカーの走行履歴を反映した推奨経路の生成が可能となる。ただし、プローブデータ分割部１０７によって生成されたプローブ切片だけでは、派生経路生成部１１２によって、図１１の派生経路１２０１のように基本経路の主要分岐ノード間を１本のプローブ切片で置換した派生経路は生成できるが、派生経路１２０２のように、基本経路の主要分岐ノード間を連続する複数のプローブ切片で置換した派生経路を生成することはできない。
【００５５】
そこで、実施例１の変形として本実施例においては、図１のバッチ処理部１２３に、プローブ切片連結部１３０と連結データベース（以下、連結ＤＢ）１３１を設ける。そして、プローブデータ分割部１０７におけるプローブ切片作成の処理の後に、プローブ切片連結部１３０によって、２つのプローブ切片を連結した新たなプローブ切片を生成し、プローブ切片ＤＢ１０８に記録する。
【００５６】
図１２はプローブ切片連結部１３０の処理を示した処理フローである。Ｓ１３０１は初期化処理であり、連結ＤＢ１３１をクリアする。続いて、主要分岐ノードＤＢ１０６に記録されている主要分岐ノード毎にループ処理を行う。ループ処理の内部では、Ｓ１３０２によって、処理対象の主要分岐ノードを始点とするプローブ切片を、プローブ切片ＤＢ１０８より検索し、これを先頭プローブ切片とする。ここで検索される先頭プローブ切片は、プローブ切片テーブル３０３で単一の行に含まれるレコードであり、複数存在しうるため、続いて、先頭プローブ切片ごとのループ処理を行う。Ｓ１３０３では、処理対象の先頭プローブ切片について、その終点の主要分岐ノードを始点とするプローブ切片をプローブ切片ＤＢ１０８より検索し、これを後端プローブ切片とする。
【００５７】
後端プローブ切片も、先頭プローブ切片と同様に複数存在しうるため、さらに、後端プローブ切片ごとのループ処理を行う。Ｓ１３０４では、処理対象となっている先頭プローブ切片のリンク列と、後端プローブ切片のリンク列を、前者の終点と後者の始点で連結して、先頭プローブ切片の始点を始点とし、後端プローブ切片の終点を終点とする新たなプローブ切片を生成し、これを連結ＤＢ１３１に記録する。連結ＤＢ１３１のデータ構造は、プローブ切片ＤＢ１０８と同様に、プローブ切片テーブル３０３によって表される。後端プローブ切片ごと、先頭プローブ切片ごと、主要分岐ノードごと、の３重のループ処理が終わった時点で、Ｓ１３０５にて、連結ＤＢ１３１に記録された新たなプローブ切片のレコードを、プローブ切片ＤＢ１０８に追記し、プローブ切片連結部１３０の処理は終了となる。
【００５８】
プローブ切片連結部１３０によって連結されたプローブ切片を含むプローブ切片ＤＢ１０８を、実施例１と同様にして、派生経路生成部１１２の処理Ｓ７０５で用いることで、１２０２のような基本経路には含まれない主要分岐ノードを含む派生経路の生成が可能となる。
【００５９】
かかる派生経路が、経路選択部１１３の処理Ｓ７１１によって、次の世代の基本経路として選択された場合には、次の世代における経路分割部１１１の処理Ｓ７０４によって、部分経路鎖１２０３のような、初期経路１０１１には含まれていなかった主要分岐ノードで分割された部分経路鎖が得られる。この部分経路鎖を元にして生成される新たな派生経路集合は、実施例１で生成される派生経路集合に比べて、多様なプローブ切片を含みうるため、プローブカーの走行履歴を反映しつつ、より広い解空間の中から、推奨経路の解探索が可能となる。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施例に係る経路探索システムの機能ブロック図である。
【図２】本発明の実施例に係る主要分岐ノード検出方法を説明する図である。
【図３】本発明の実施例に係るプローブ切片を説明する図である。
【図４】本発明の実施例に係る主要分岐ノードの検出処理を示したフロー図である。
【図５】本発明の実施例に係る経路探索方法の繰り返し処理を示した図である。
【図６】本発明の実施例に係る派生経路生成部の構成を示した例である。
【図７】本発明の実施例に係る経路探索処理を示したフロー図である。
【図８】本発明の実施例に係るプローブ切片の生成処理を示したフロー図である。
【図９】本発明の実施例に係る派生経路生成処理を示したフロー図である。
【図１０】本発明の実施例に係る派生経路を説明する図である。
【図１１】本発明の実施例の変形に係る部分経路鎖を説明する図である。
【図１２】本発明の実施例に係るプローブ切片の連結処理を示したフロー図である。
【図１３】本発明の実施例に係る派生経路を説明する図である。
【符号の説明】
【００６１】
１０１  センサ
１０２  プローブデータ記憶部
１０４  プローブデータベース
１０５  主要分岐ノード検出部
１０６  主要分岐ノードデータベース
１０７  プローブデータ分割部
１０８  プローブ切片データベース
１０９  地図データベース
１１０  初期経路生成部
１１１  経路分割部
１１２  派生経路生成部
１１３  経路選択部
１１５  交通情報データベース
１１６  プローブデータ変換部
１２１  車載端末装置
１２２  センタ装置
１２３  バッチ処理部
１２４  リアルタイム処理部
１２５  共通データベース部
１３０  プローブ切片連結部
１３１  連結データベース
６０１  部分経路置換部
６０２  派生経路データベース
６０３  派生経路比較部
【図１】
0004442647.tif 000002
【図２】
0004442647.tif 000003
【図３】
0004442647.tif 000004
【図４】
0004442647.tif 000005
【図５】
0004442647.tif 000006
【図６】
0004442647.tif 000007
【図７】
0004442647.tif 000008
【図８】
0004442647.tif 000009
【図９】
0004442647.tif 000010
【図１０】
0004442647.tif 000011
【図１１】
0004442647.tif 000012
【図１２】
0004442647.tif 000013
【図１３】
0004442647.tif 000014