(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
次に、本発明の実施形態を以下の順序で説明する。
A.第1実施形態:
A−1.情報処理システムの構成:
A−2.経路探索処理:
B.第2実施形態:
C.第3実施形態:
D.第4実施形態:
E.変形例:
【0017】
A.第1実施形態:
A−1.情報処理システムの構成:
図1は、本発明の第1実施形態における経路探索システム10の概略構成を示す説明図である。本実施形態の経路探索システム10は、サーバ100と携帯端末装置としての携帯電話機200とを備えている。
図1には、携帯電話機200を1台のみ示しているが、経路探索システム10には、複数の携帯電話機200および携帯ゲーム機、PND(Personal Navigation Device)、PDA(Personal Digital Assistant)といった様々な携帯端末装置が含まれ得る。
【0018】
携帯電話機200は、GPS受信機201と、表示パネル202と、音声出力部203と、無線通信回路205と、操作部206と、主制御部210と、通話制御部220と、を備えている。
【0019】
GPS受信機201は、GPS(Global Positioning System/全地球測位システム)を構成する人工衛星を用いて測定した携帯電話機200の現在位置(緯度、経度)を特定する出発地点情報を電波によって受信する。
【0020】
表示パネル202は、液晶ディスプレイとこれを駆動する駆動回路とを備えている。表示パネル202としては、液晶ディスプレイに限らず、有機ELディスプレイなど、種々の表示デバイスを採用できる。音声出力部203は、音声を出力するためのスピーカや、これを駆動する駆動回路などから構成される。無線通信回路205は、基地局BSとの間でデータ通信もしくは音声通信を無線によって行なう。操作部206は、テンキー206aやカーソルキー206bやタッチパネルなどから構成される入力デバイスである。操作部206は、利用者による出発地点と同じ地点である到着地点に到着したい到着時刻や利用者が立ち寄りたい施設の設定入力等を受け付ける。なお、以降では、出発地点および到着地点を始終点とも呼ぶ。通話制御部220は、音声通話のための着信や呼出、音声信号と電気信号の変換などを行なう回路である。
【0021】
主制御部210は、携帯電話機200の各部を制御する。主制御部210は、CPU211と、RAM212と、ROM213と、を備えている。CPU211は、ROM213に記憶されたプログラムをRAM212にロードして実行することで、後述する種々の処理を実行するための機能を実現する。例えば、主制御部210は、表示パネル202を制御することで、地図画像や推奨経路、現在位置などを表示する。また、主制御部210は、無線通信回路205を制御することで、基地局BSを介して(より詳細には、送受信アンテナ、基地局BS、交換局を介して)、インターネットINT上の情報記憶部110および経路探索部120と通信する。また、主制御部210は、一定時間ごとにGPS受信機201を介してGPSを用いて測定された携帯電話機200の現在位置情報を受信して、始終点を特定する始終点情報を生成する。
【0022】
サーバ100は、インターネットINTを介して携帯電話機200との通信を行なう通信部102と、情報記憶部110と、経路探索部120と、を備えている。情報記憶部110は、CPU、RAM、ROM、により構成された制御部を有し、情報を記憶する記憶装置118を備えている。記憶装置118は、例えば、ハードディスク装置により構成されている。記憶装置118には、地図情報データベース(DB)114と、ノード別経路情報データベース(DB)115と、POI情報データベース(DB)116と、が構築されている。地図情報DB114は、例えば、リンク情報およびノード情報、画像データとしての地図画像データを記憶している。
【0023】
ノード別経路情報DB115は、後述する始終点を出発して始終点に至るまでの経路を探索する際に、経路探索の対象となる予め設定された経路探索範囲内に存在する任意に選択されたノードである特定のノードに付与されたラベルに含まれる情報を記憶する。特定のノードに付与されたラベルに含まれる情報は、出発地点から特定のノードに至る経路までリンクコストの累計値(以下、「コスト累計値」とも呼ぶ)と、当該経路における特定のノードに到着する前の直前ノードに付与されたラベルである直前ラベルと、を含む情報である。なお、ノード別経路情報DB115に記憶されたリンクコストの数値は、時間を表している。本実施形態では、リンクコストは絶対的な時間である「分」を表す数値として記憶されているが、他の実施形態では、「分」以外の単位である「時間」や「秒」であってもよいし、相対的な時間を表す数値として記憶されていてもよい。
【0024】
POI情報DB116は、地図情報DB114に記憶されたリンク情報やノード情報に関連付けられた施設の各種情報について記憶している。また、POI情報DB116は、探索された経路に関連付けられた施設に記憶された各種情報を、経路ごとに特定して記憶する。なお、POI情報DB116に記憶されている施設の各種情報の詳細については後述する。サーバ100は、請求項における経路探索装置に相当し、情報記憶部110は、請求項における経路情報記憶部に相当する。また、POI情報DB116は、請求項における施設情報記憶部に相当する。
【0025】
経路探索部120は、CPU、RAM、ROM、により構成された制御部を有し、ラベル付与部122と、類似経路設定部124と、を備えている。経路探索部120は、携帯電話機200に始終点が設定され、携帯電話機200から始終点情報が送信されると、通信部102を介して始終点情報を受信する。経路探索部120は、地図情報DB114に記憶してある経路情報と受信した始終点情報に基づいて、各リンクのリンクコストを算出して、始終点を出発して始終点に至る経路を探索する。経路探索部120のラベル付与部122は、始終点から順番に特定のノードを選択して、選択した特定のノードにラベルを付与する。
【0026】
経路探索部120の類似経路設定部124は、地図情報DB114に記憶してある経路情報と、受信した始終点情報と、確定ラベルと、負けラベルと、に基づいて、始終点を出発して始終点に至る経路として、後述する類似経路を設定する。経路探索部120は、類似経路を含む経路情報を通信部102を介して携帯電話機200に送信する。なお、類似経路は、請求項における許容経路に相当し、経路探索部120は、請求項における許容経路設定部に相当する。
【0027】
A−2.経路探索処理:
図2および
図3は、経路探索処理の流れを示す説明図である。経路探索処理では、携帯電話機200の利用者が到着したい時刻までに始終点に到着できる経路が探索される。
図4は、始終点SGとノードとリンクとの一例を示す説明図である。
図4には、リンクおよびノードの各名称と、各リンクにおけるリンクコストと、が示されている。例えば、ノードN41とノードN31とはリンクL2で結ばれており、リンクL2のリンクコストは10である。なお、本実施形態では、リンクコストが時間(分)と同じになるように設定されているため、ノードN41からノードN31まで携帯電話機200の利用者が移動すると、リンクコストである10分が移動に必要な時間として経過する。ラベル付与部122は、コスト累計値と、直前ラベルと、の情報を含むラベルを各ノードに付与する。なお、本実施形態では、直前ラベルの情報は、特定ノードにおけるコスト累計値と、特定ノードに到着する前に通過したリンクと、によって特定される。
【0028】
経路探索処理では、初めに、経路探索部120は、利用者が携帯する携帯電話機200から始終点を取得し、始終点に仮ラベルを設定する(
図2のステップS11)。経路探索処理を始めた初期では、直前ノードがないため、ラベル付与部122は、0のコスト累計値を含む仮ラベルを始終点SGに付与する。なお、以降では、0のコスト累計値を含むラベルを、コスト累計値が0のラベルともいう。次に、経路探索部120は、利用者が携帯電話機200へと入力した始終点へ到着したい時刻に基づいて、許容コストを設定する(ステップS12)。本実施形態では、許容コストが100に設定されるが、他の実施形態では、異なる値であってもよい。なお、許容コストは、請求項における経路コストに相当し、経路探索部120は、請求項における経路コスト設定部に相当する。
【0029】
次に、ラベル付与部122は、仮ラベルが付与されているノードがあるか否かを判定する(ステップS13)。始終点SGに仮ラベルが付与されているため(ステップS13:YES)、次に、ラベル付与部122は、コスト累計値が最小である始終点SGに付与された仮ラベルを確定ラベルに設定する(ステップS14)。なお、確定ラベルは、請求項における最小コストラベルに相当する。なお、ステップS13の処理において、仮ラベルが付与されているノードがないと判定された場合には(ステップS13:NO)、経路探索部120は、経路探索処理を終了する。
【0030】
ステップS14の処理において、確定ラベルが設定されると、ラベル付与部122は、始終点SGに付与された確定ラベルの累計値を2倍にした値が許容コストよりも小さいか否かを判定する(ステップS15)。始終点SGに付与された確定ラベルのコスト累計値の2倍の値は、0であり、許容コストのサーバ100よりも小さいため(ステップS15:YES)、類似経路設定部124は、確定ラベルに基づく類似経路を設定する(ステップS16)。しかし、始終点SGに付与された確定ラベルは、いずれのリンクも通過していないため、始終点SGに付与された確定ラベルに基づく類似経路は設定されない。なお、類似経路設定処理の詳細については後述する。次に、ラベル付与部122は、確定ラベルが付与された始終点SGから直前ノード以外の隣接するノードである隣接ノードに新しいラベルを付与する(ステップS17)。ラベル付与部122は、隣接ノードの1つであるノードN41に新しいラベルを付与する。
【0031】
図5から
図7までの各図は、各ノードに対するラベル付与の概略を示す説明図である。
図5(a)には、始終点SGに付与された確定ラベルを基にノードN41およびノードN31に仮ラベルが付与された状態が示されている。なお、
図5から
図7までの各図では、確定ラベルは、コスト累計値が四角形で囲まれて表示される。
図5(a)に示すように、ノードN41に付与されたラベルは、リンクコストが10であるリンクL2を通過しているため、コスト累計値が10である。
【0032】
次に、ラベル付与部122は、始終点SGの隣接ノードの1つであるノードN41に確定ラベルが既に付与されているか否かを判定する(
図3のステップS18)。ノードN41には確定ラベルが付与されていないため(ステップS18:NO)、ラベル付与部122は、ノードN41に既に仮ラベルが付与されているか否かを判定する(ステップS19)。なお、ステップS18の処理において、隣接ノードに確定ラベルが付与されている場合には(ステップS18:YES)、ラベル付与部122は、新しいラベルを負けラベルとして設定する(ステップS22)。次に、類似経路設定部124は、設定された負けラベルに基づいて、後述する負けラベルに基づく類似経路を設定する(ステップS23)。なお、負けラベルは、請求項における非最小コストラベルに相当する。
【0033】
ステップS19の処理において、ノードN41には、仮ラベルが付与されていないため(ステップS19:NO)、ラベル付与部122は、ノードN41に付与した新しいラベルを仮ラベルとして設定する(ステップS20)。
図5(a)に示すように、ノードN41に付与された新しいラベルは仮ラベルとして設定され、ノードN41に入った方向を頂点とする五角形に、仮ラベルのコスト累計値が囲まれて表示される。具体的には、ノードN41に付与された仮ラベルは、始終点SGからノードN41へと向いた頂点を有する五角形でコスト累計値の10が囲まれて表示される。
【0034】
次に、ラベル付与部122は、ラベルを付与していない未処理の隣接ノードがあるか否かを判定する(ステップS21)。始終点SGの隣接ノードであるノードN31にはラベルが付与されておらず未処理であるため(ステップS21:YES)、ラベル付与部122は、ラベル付与部122は、隣接ノードの1つであるノードN31に新しいラベルを付与する(ステップS17)。ノードN31に付与された新しいラベルは、ノードN41に付与された仮ラベルと同様に、ノードN31に付与された仮ラベルとして設定される。
【0035】
次に、ノードに付与された仮ラベルがあるため(ステップS13:YES)、ラベル付与部122は、コスト累計値が最小のノードN41に付与された仮ラベルを確定ラベルに設定する(ステップS14)。ノードN41に付与された確定ラベルのコスト累計値の2倍の値は、20であり、許容コストの100よりも小さいため(ステップS15:YES)、類似経路設定部124は、ノードN41に付与された確定ラベルに基づく類似経路を設定する(ステップS16)。
【0036】
図8は、確定ラベルに基づく類似経路設定処理の流れを示す説明図である。確定ラベルに基づく類似経路設定処理では、初めに、ノードに付与された確定ラベルに基づいて、直前ノードから確定ラベルが付与されたノードに至る類似経路を設定する(ステップS31)。類似経路設定部124は、ノードN41で折り返す経路、すなわち、始終点SGを出発して、リンクL1と、ノードN41と、リンクL1とを通過して、始終点SGに至る経路を、確定ラベルに基づく類似経路として設定する。
図5(b)に示すように、設定された類似経路は、各リンクよりも太く、矢印を有する実線によって示されている。次に、確定ラベルが付与されたノードN41に負けラベルがあるか否かを判定する(ステップS32)。ノードN41には、負けラベルがないため(ステップS32:NO)、類似経路設定部124は、確定ラベルに基づく類似経路設定処理を終了する。
【0037】
次に、ラベル付与部122は、ノードN41に付与された確定ラベルを基に、隣接ノードであるノードN31に新しいラベルを付与する(
図3のステップS17)。
図5(b)に示すように、ノードN31には、確定ラベルはなく(
図3のステップS18:NO)、仮ラベルがあるため(ステップS19:YES)、ラベル付与部122は、既にノードN31に付与された仮ラベルのコスト累計値が、新たにノードN31に付与されたラベルのコスト累計値よりも大きいか否かを判定する(ステップS24)。ノードN31に新たに付与されたラベルのコスト累計値は、ノードN41に付与された確定ラベルのコスト累計値である10に、リンクL2のリンクコストを加算した20である。そのため、ノードN31に既に付与された仮ラベルのコスト累計値は、21であり、ノードN31に新たに付与されたラベルのコスト累計値である20よりも大きいため(ステップS24:YES)、ラベル付与部122は、ノードN31に既に付与されていた仮ラベルを負けラベルとして設定する(ステップS25)。ラベル付与部122は、ノードN31に新たに付与したラベルを仮ラベルとして設定する(ステップS20)。
図6(a)には、ノードN31に、付与された仮ラベルが表示されると共に、付与された負けラベルが円で囲って表示されている。
【0038】
次に、ラベル付与部122は、ノードN31に付与された仮ラベルを確定ラベルに設定する(
図2のステップS14)。ノードN31に付与された確定ラベルのコスト累計値の2倍の値である40は、許容コストの100よりも小さいため(ステップS15:YES)、類似経路設定部124は、確定ラベルに基づく類似経路を設定する(ステップS16)。
図6(b)に示すように、類似経路設定部124は、直前ノードであるノードN41からノードN31に至る経路であるリンクL1を含む経路を類似経路として設定する(
図8のステップS31)。
図6(b)では、新たに設定された類似経路に含まれるリンクL1がリンクよりも太い一点鎖線示されている。次に、ノードN31には、負けラベルがあるため(
図8のステップS32:YES)、類似経路設定部124は、負けラベルに基づく類似経路を設定する(ステップS33)。なお、確定ラベルが付与されたノードに負けラベルがないと判定された場合には(ステップS32:NO)、類似経路設定部124は、確定ラベルに基づく類似経路設定処理を終了する。
【0039】
図9は、負けラベルに基づく類似経路設定処理の流れを示す説明図である。負けラベルに基づく類似経路設定処理では、初めに、類似経路設定部124は、ノードN31に付与された確定ラベルのコスト累計値を2倍にした値に経路別コスト差を加算した値が許容コストよりも小さいか否かを判定する(ステップS41)。経路別コスト差とは、ノードに付与された負けラベルのコスト累計値から確定ラベルのコスト累計値を差し引いた値である。ノードN31では、41から40を差し引いた1が経路別コスト差に相当する。
図7に示すように、ノードN31において、確定ラベルのコスト累計値の2倍の40に経路別コスト差である1を加えた41は、許容コストの100よりも小さい(
図9のステップS41:YES)。この場合に、類似経路設定部124は、直前ノードである始終点SGから負けラベルが付与されたノードN31に至る経路であるリンクL3を含む経路を類似経路として設定する。
図6(b)では、新たに設定された類似経路に含まれるリンクL3がリンクよりも太い点線で示されている。なお、確定ラベルのコスト累計値を2倍にした値に経路別コスト差を加算した値が許容コストよりも小さくない場合には(
図9のステップS41)、類似経路設定部124は、負けラベルに基づく類似経路設定処理を終了する。
【0040】
次に、ラベル付与部122は、
図7に示すように、ノードN31に付与された確定ラベルから隣接ノードにラベルを付与する(
図3のステップS17)。以降、ノードN31を含む、仮ラベルが付与されたノードには、ノードN31に付与した確定ラベルの処理と同じ処理が行なわれ、経路探索処理が行なわれる。
【0041】
図10は、各ノードに対して付与されたラベルの概略および設定された類似経路を示す説明図である。
図10には、経路探索処理が終了して、全ての仮ラベルに対して各種処理が行なわれ、経路探索処理後のリンクおよびノードと、各ノードに付与されたラベルと、設定された類似経路の一例と、が示されている。
図10に示すように、始終点SGを出発して始終点SGに到着する経路の内、許容コストの100よりも小さい経路は、複数の類似経路を組み合わせた経路である。例えば、コスト累計値が90である類似経路は、ノードN32に付与された確定ラベルに基づいて特定される、リンクL1と、リンクL2と、リンクL5と、を含む経路と、ノードN32に付与された確定ラベルと負けラベルとに基づいて特定されるリンクL8を含む経路と、を組み合わせた経路を、通過する経路である。
【0042】
以上説明したように、本実施形態におけるサーバ100では、ラベル付与部122は、始終点SGから順番に特定のノードを選択して、選択した特定のノードに至る経路までのコスト累計値と、直前ラベルと、を含む情報であるラベルを付与する。類似経路設定部124は、ノードに付与されたラベルに基づいて、始終点SGを出発して始終点SGに到着するコスト累計値が許容コスト以下の類似経路を設定する。そのため、本実施形態におけるサーバ100では、経路に含まれるノードに対して、リンクに設定されたリンクコストの情報を含むラベルが付与され、付与されたラベルに基づいて類似経路が設定されているため、正確な到着時刻までに始終点SGに到着する類似経路を設定できる。また、ノードに付与されたラベルに基づいて複数の類似経路が設定されるため、到着時刻までに始終点SGに到着するより多くの経路が効率的に設定される。
【0043】
また、本実施形態におけるサーバ100では、ラベル付与部122は、ノードのそれぞれに、コスト累計値が最小のラベルを確定ラベルとして設定する。類似経路設定部124は、ノードに付与された確定ラベルのコスト累計値の2倍の値が許容コストよりも小さい場合にノードに付与された確定ラベルに基づいて特定される経路を類似経路として設定する。そのため、本実施形態におけるサーバ100では、ラベルに含まれるコスト累計値が許容コストの半分以下になるまでノードにラベルが付与されればよいため、類似経路が効率的に設定される。
【0044】
また、本実施形態におけるサーバ100では、ラベル付与部122は、ノードのそれぞれに、コスト累計値が最小の確定ラベル以外のラベルを負けラベルとして付与する。類似経路設定部124は、特定のノードに付与された確定ラベルのコスト累計値を2倍にした値に経路別コスト差を加算した値が許容コスト以下である場合に、特定のノードに対して、付与された確定ラベルに基づいて特定される経路と、付与された負けラベルに基づいて特定される経路と、を組み合わせた経路を類似経路として設定する。そのため、本実施形態におけるサーバ100では、ノードに付与された複数のラベルに基づいて類似経路が設定され、より多くの類似経路が効率的に設定される。
【0045】
B.第2実施形態:
図11は、第2実施形態における始終点SGとノードとリンクとの一例を示す説明図である。
図11に示すように、第2実施形態では、リンクL5に対して進行方向の規制が設定され、リンクL5では、ノードN31からノードN32への方向には通過できるものの、ノードN32からノードN31への方向には通過できない点が第1実施形態と異なり、他の点は、第1実施形態と同じである。
【0046】
図12および
図13は、第2実施形態における経路探索処理の流れを示す説明図である。第2実施形態における経路探索処理では、初めに、第1実施形態と同じように、経路探索部120は、始終点SGの取得を行ない、始終点SGに仮ラベルを設定し(ステップS51)、許容コストを100に設定する(ステップS52)。次に、ラベル付与部122は、仮ラベルが付与された始終点SGを類似待ちノードに設定する(ステップS53)。類似待ちノードとは、許容経路上のある特定のノードへと通行可能なリンクを介して隣接する全てのノードから負けラベルが付与されることを待っているノードである。なお、類似待ちノードは、請求項におけるラベル付与待ちノードに相当する。
【0047】
図14から
図19までの各図は、各ノードに対するラベル付与の概略を示す説明図である。
図14(a)には、始終点SGに仮ラベルが設定され、始終点SGが類似待ちノードとして追加され、始終点SGに設定された仮ラベルに基づいて、ノードN41およびノードN31に仮ラベルが付与された状態が示されている。始終点SGにはコスト累計値が0の仮ラベルが付与されているため(
図12のステップS54:YES)、ラベル付与部122は、負けラベルの付与を待つ類似待ちノードがあるか否かを判定する(ステップS55)。始終点SGが負けラベルの付与を待つ類似待ちノードであるため(ステップS55:YES)、ラベル付与部122は、始終点SGに付与されたコスト累計値が最小の仮ラベルを確定ラベルに設定する(ステップS56)。
図14(a)に示すように、
図14から
図19までの各図では、類似待ちノードに付与された確定ラベルは、コスト累計値が太い実線で囲まれて表示される。
【0048】
次に、ラベル付与部122は、確定ラベルが付与されたノードに隣接するノードN41を着目ノードとして、ノードN41にラベルを付与する(
図13のステップS59)。ノードN41には、確定ラベルはなく(ステップS60:NO)、仮ラベルもないので(ステップS61:NO)、
図14(a)に示すように、ラベル付与部122は、リンクL1のリンクコストを加算したコスト累計値が10の仮ラベルをノードN41に付与する(
図13のステップS62)。次に、未処理の隣接ノードであるノードN31があるため(ステップS63:YES)、ラベル付与部122は、ノードN31を着目ノードとして、ノードN31にラベルを付与する(ステップS59)。ノードN31には、確定ラベルはなく(ステップS60:NO)、仮ラベルもないので(ステップS61:NO)、
図14(a)に示すように、ラベル付与部122は、リンクL3のリンクコストを加算したコスト累計値が21の仮ラベルをノードN31に付与する(
図13のステップS62)。
【0049】
次に、始終点SGに付与された確定ラベルに基づいてラベルを付与する未処理のノードがなく(ステップS63:NO)、ノードに付与された仮ラベルがあり(
図12のステップS54:YES)、負けラベルを待つ始終点SGがあるため(ステップS55:YES)、ラベル付与部122は、コスト累計値が最小であるノードN41に付与された仮ラベルを確定ラベルに設定する(ステップS56)。
図14(b)に示すように、第2実施形態では、設定された確定ラベルのコスト累計値を囲む実線は、仮ラベルのコスト累計値を囲む実線よりも太く、類似待ちノードのコスト累計値を囲む実線よりも細い五角形である。ラベル付与部122は、ノードN41に隣接するノードである始終点SGを着目ノードとしてラベルを付与する(
図13のステップS59)。始終点SGには確定ラベルが付与されているため(ステップS60:YES)、始終点SGに新たに付与するラベルを負けラベルとして設定する(ステップS64)。ラベル付与部122は、着目ノードである始終点SGが類似待ちノードであるか否かを判定する(ステップS65)。始終点SGが類似待ちノードあるため(ステップS65:YES)、類似経路設定部124は、負けラベルに基づく類似経路を設定する(ステップS66)。
【0050】
図20は、負けラベルに基づく類似経路設定処理の流れを示す説明図である。負けラベルに基づく類似設定処理では、初めに、類似経路設定部124は、類似待ちノードの加算コストに、経路別コスト差を加えた値が許容コストの100よりも小さいか否かを判定する(ステップS71)。加算コストとは、始終点SGから出発し、類似経路を通過して最短で始終点SGへと戻るまでにかかるコストのことである。始終点SGの加算コストは0である。ノードN41に付与された確定ラベルに基づいて始終点SGに負けラベルが付与されているため、経路別コスト差はノードN41に付与された確定ラベルのコスト累計値である10にリンクL1のリンクコストである10を加えた20である。そのため、類似待ちノードの加算コストに経路別コスト差を加えた値は、20であり、許容コストの100よりも小さいため(ステップS71:YES)、
図14(b)に示すように、類似経路設定部124は、始終点SGに付与された負けラベルに基づいて特定される経路、すなわち、始終点SGを出発して、リンクL1と、ノードN41と、リンクL1と、を通過して始終点SGに到着する経路を類似経路として設定する。また、設定された類似経路の加算コストとして、類似待ちノードの加算コストに、ノードN41における経路別コスト差を加えた値を付与する(
図20のステップS72)。次に、ラベル付与部122は、類似経路を設定する基となる確定ラベルが付与されたノードN41を類似待ちノードに設定する(ステップS73)。なお、
図20のステップS71の処理において、類似待ちノードの加算コストに経路別コスト差を加えた値が許容コストより小さくないと判定された場合には(ステップS71:NO)、ラベル付与部122は、類似経路を設定せずに、負けラベルに基づく類似経路設定処理を終了する。
【0051】
次に、ラベル付与部122は、未処理の隣接ノードであるノードN31を着目ノードとしてラベルを付与する(
図13のステップS59)。ノードN31には、確定ラベルが付与されておらず(ステップS60:NO)、仮ラベルが付与されているため(ステップS61:YES)、ラベル付与部122は、ノードN31に既に付与された仮ラベルのコスト累計値が新たに付与したラベルのコスト累計値よりも大きいか否かを判定する(ステップS67)。
図14(b)に示すように、ノードN31に既に付与された仮ラベルのコスト累計値は、21であり、ノードN31に新たに付与されたラベルのコスト累計値である20よりも大きいため(
図13のステップS67:YES)、ラベル付与部122は、ノードN31に既に付与されていた仮ラベルを負けラベルとして設定する(ステップS68)。次に、ラベル付与部122は、ノードN31に新たに付与したラベルを仮ラベルとして設定する(ステップS62)。
【0052】
次に、ノードN41に付与された確定ラベルに基づいてラベルを付与する未処理のノードがなく(ステップS63:NO)、ノードに付与された仮ラベルがあり(
図12のステップS54:YES)、負けラベルを待つノードN41、始終点SGがあるため(ステップS55:YES)、
図15(a)に示すように、ラベル付与部122は、コスト累計値が最小であるノードN31に付与された仮ラベルを確定ラベルに設定する(
図12のステップS56)。ラベル付与部122は、ノードN31の隣接ノードである始終点SGを着目ノードとしてラベルを付与する(
図13のステップS59)。始終点SGに確定ラベルが付与されているため(ステップS60)、始終点SGに付与されたラベルは負けラベルとして設定され(ステップS64)、始終点SGが類似待ちノードであるため(ステップS65:YES)、類似経路設定部124は、リンクL3を通過する加算コストが41の類似経路を設定する(ステップS66)。同じように、ラベル付与部122は、ノードN31の隣接ノードであるノードN41を着目ノードとしてラベルを付与する(ステップS60)。ノードN41に確定ラベルが付与されているため(ステップS60:YES)、ノードN41に付与されたラベルは負けラベルとして設定され(ステップS64)、ノードN41が類似待ちノードであるため(ステップS65:YES)、類似経路設定部124は、リンクL2を通過する加算コストが40の類似経路を設定する(ステップS66)。次に、ラベル付与部122は、類似経路を設定する基となる確定ラベルが付与されたノードN31を類似待ちノードに設定する(ステップS73)。次に、ラベル付与部122は、ノードN21にコスト累計値が29である仮ラベルと、ノードN32にコスト累計値が35である仮ラベルと、を付与する(ステップS62)。
図15(b)に示すように、始終点SGおよびノードN41のそれぞれは、全ての隣接ノードからラベルが付与されたため、類似待ちノードではなくなり、始終点SGおよびノードN41に付与された確定ラベルのそれぞれは、負けラベルの付与を待たないノードに付与された確定ラベルとして、白抜きの文字で表示される。
【0053】
図15(b)に示すように、次に、ノードN31に付与された確定ラベルに基づいてラベルを付与する未処理のノードがなく(ステップS63:NO)、ノードに付与された仮ラベルがあり(
図12のステップS54:YES)、負けラベルを待つノードN31があるため(ステップS55:YES)、ラベル付与部122は、コスト累計値が最小であるノードN21に付与された仮ラベルを確定ラベルに設定する(
図12のステップS56)。ラベル付与部122は、ノードN21の隣接ノードであるノードN31を着目ノードとしてラベルを付与する(
図13のステップS59)。ノードN31に確定ラベルが付与されているため(ステップS60:YES)、ノードN31に付与されたラベルは負けラベルとして設定され(ステップS64)、ノードN31が類似待ちノードであるため(ステップS65:YES)、類似経路設定部124は、リンクL4を通過する加算コストが58の類似経路を設定する(ステップS66)。次に、ラベル付与部122は、類似経路を設定する基となる確定ラベルが付与されたノードN21を類似待ちノードに設定する(
図20のステップS73)。次に、ラベル付与部122は、ノードN11にコスト累計値が38である仮ラベルと、ノードN22にコスト累計値が44である仮ラベルと、を付与する。
【0054】
図16(a)に示すように、次に、ノードN21に付与された確定ラベルに基づいてラベルを付与する未処理のノードがなく(
図13のステップS63:NO)、ノードに付与された仮ラベルがあり(
図12のステップS54:YES)、負けラベルを待つノードN21、ノードN31があるため(ステップS55:YES)、ラベル付与部122は、コスト累計値が最小であるノードN32に付与された仮ラベルを確定ラベルに設定する(
図12のステップS56)。ここで、リンクL5は、ノードN32からノードN31へと通行できないため、ラベル付与部122は、ノードN32に付与された確定ラベルに基づいてノードN31にラベルを付与できない。ラベル付与部122は、ノードN22にコスト累計値が46である負けラベルと、ノードN33にコスト累計値が44である仮ラベルと、ノードN43にコスト累計値が55である仮ラベルと、を付与する。ノードN31は、全ての隣接ノードに基づいてラベルが付与されたため、類似待ちノードではなくなり、ノードN31に付与された確定ラベルは、負けラベルの付与を待たないノードに付与された確定ラベルとなる。
【0055】
図16(b)に示すように、次に、ノードN32に付与された確定ラベルに基づいてラベルを付与する未処理のノードがなく(
図13のステップS63:NO)、ノードに付与された仮ラベルがあり(
図12のステップS54:YES)、負けラベルを待つノードN21があるため(ステップS55:YES)、ラベル付与部122は、コスト累計値が最小であるノードN11に付与された仮ラベルを確定ラベルに設定する(
図12のステップS56)。ラベル付与部122は、ノードN11の隣接ノードであるノードN21を着目ノードとしてラベルを付与する(
図13のステップS59)。ノードN21に確定ラベルが付与されているため(ステップS60:YES)、ノードN21に付与されたラベルは負けラベルとして設定され(ステップS64)、ノードN21が類似待ちノードであるため(ステップS65:YES)、類似経路設定部124は、リンクL6を通過する加算コストが76の類似経路を設定する(ステップS66)。次に、ラベル付与部122は、類似経路を設定する基となる確定ラベルが付与されたノードN11を類似待ちノードに設定する(
図20のステップS73)。ラベル付与部122は、ノードN13にコスト累計値が62である仮ラベルを付与する。
【0056】
図17(a)に示すように、次に、ノードN11に付与された確定ラベルに基づいてラベルを付与する未処理のノードがなく(
図13のステップS63:NO)、ノードに付与された仮ラベルがあり(
図12のステップS54:YES)、負けラベルを待つノードN11、ノードN21があるため(ステップS55:YES)、ラベル付与部122は、コスト累計値が最小であるノードN22に付与された仮ラベルを確定ラベルに設定する(
図12のステップS56)。ラベル付与部122は、ノードN22の隣接ノードであるノードN21を着目ノードとしてラベルを付与する(
図13のステップS59)。ノードN21に確定ラベルが付与されているため(ステップS60:YES)、ノードN21に付与されたラベルは負けラベルとして設定され(ステップS64)、ノードN21が類似待ちノードであるため(ステップS65:YES)、類似経路設定部124は、リンクL7を通過する加算コストが88の類似経路を設定する(ステップS66)。次に、ラベル付与部122は、類似経路を設定する基となる確定ラベルが付与されたノードN22を類似待ちノードに設定する(
図20のステップS73)。また、
図17(b)に示すように、類似経路設定部124は、ノードN22に付与された確定ラベルと負けラベルとに基づいて、リンクL5およびリンクL8を通過する加算コストが90の類似経路を設定する(
図13のステップS66)。次に、ラベル付与部122は、類似経路を設定する基となる確定ラベルが付与されたノードN32を類似待ちノードに設定する(
図20のステップS73)。ラベル付与部122は、ノードN23にコスト累計値が54である仮ラベルと、ノードN32にコスト累計値が55である負けラベルと、を付与する。ノードN21は、全ての隣接ノードに基づいてラベルが付与されたため、類似待ちノードではなくなり、ノードN21に付与された確定ラベルは、負けラベルの付与を待たない確定ラベルとなる。
【0057】
図18(a)に示すように、次に、ノードN22に付与された確定ラベルに基づいてラベルを付与する未処理のノードがなく(
図13のステップS63:NO)、ノードに付与された仮ラベルがあり(
図12のステップS54:YES)、負けラベルを待つノードN11、ノードN22、ノードN23があるため(ステップS55:YES)、ラベル付与部122は、コスト累計値が最小であるノードN33に付与された仮ラベルを確定ラベルに設定する(
図12のステップS56)。ラベル付与部122は、ノードN23にコスト累計値が54である負けラベルと、ノードN34にコスト累計値が69である仮ラベルと、ノードN43にコスト累計値が54である仮ラベルと、ノードN32にコスト累計値が53である負けラベルと、を付与する。ノードN32に付与された負けラベルの経路別コスト差は、負けラベルのコスト累計値である53から確定ラベルのコスト累計値である35を差し引いた18であり、リンクL8を含む類似経路の加算コストが90である。そのため、加算コストの90に経路別コスト差を加算した値は、108で、許容コストの100よりも大きくなるため、類似経路が設定されない。
【0058】
上記と同様に、ラベル付与部122は、コスト累計値が最小であるノードを確定ラベルに設定し、隣接するノードに仮ラベルまたは負けラベルを付与する。そして類似待ちノードに付与された負けラベルから類似経路が設定される際に、以降は類似経路の加算コストに経路別コストを加算した値が許容コストよりも大きくなるため、類似経路が設定されない。上記の処理を繰り返した結果、仮ラベルが存在するものの(
図12のステップS54:YES)、すべての類似待ちノードが負けラベルの付与を待たないノードとなり(ステップS55:NO)、
図18(b)に示すように、経路探索部120は、経路探索処理を終了する。
図19(a)には、第2実施形態における経路探索処理が終了して、全ての仮ラベルに対して各種処理が行なわれ、経路探索処理後のリンクおよびノードと、各ノードに付与されたラベルと、設定された類似経路の一例と、が示されている。
図19(b)には、
図19(a)に示された類似経路と、類似経路の加算コストと、の対応が示されている。
【0059】
以上説明したように、第2実施形態におけるサーバ100では、ラベル付与部122は、リンクに設定された進行方向の規制を考慮して、各ノードにラベルを付与する。類似経路設定部124は、各ノードに、付与された確定ラベルのコスト累計値と、付与された負けラベルのコスト累計値と、に基づいて、類似経路を設定する。そのため、第2実施形態におけるサーバ100では、リンクに設定された各種規制を考慮して、類似経路が設定されるため、始終点SGを出発して始終点SGに到着可能な正確な経路が設定される。
【0060】
また、第2実施形態におけるサーバ100では、ラベル付与部122は、類似待ちノードを設定し、あるノードが類似待ちノードの場合には(
図13のステップS65:YES)、類似経路設定部124は、負けラベルに基づく類似経路を設定する(ステップS66)。すべての類似待ちノードが負けラベルの付与を待たないノードとなった場合には(
図12のステップS55:NO)、ラベル付与部122は、新たにラベルを付与せず、経路探索処理が終了する。そのため、第2実施形態におけるサーバ100では、設定された許容コストを超えるまでノードにラベルが付与されず、無駄なラベル付与が行われないので、迅速かつ効率的に類似経路が設定される。
【0061】
C.第3実施形態:
第3実施形態では、経路探索部120は、ノードやリンクに接続していて、利用される施設を特定し、特定した施設に基づいて許容コストを設定する。また、類似経路設定部124は、設定された許容コストに基づいて、類似経路を新たに設定する。
図21は、ノードおよびリンクと各施設との位置関係の一例を示す説明図である。
図21(a)には、POI情報DB116に記憶された各ノードと、各リンクと、各リンクのリンクコストと、ノードまたはリンクに接続する施設と、が示されている。
図21(b)には、施設名と、施設の分類と、施設の内容と、施設を利用した場合の平均利用時間と、が一覧で示されている。例えば、施設Aは、寺であり、利用されると平均利用時間が20分である。なお、平均利用時間は、請求項における施設利用コストに相当する。
【0062】
第3実施形態では、携帯電話機200には、許容コストが70で、4つ以上の施設を利用する経路探索の条件について設定されている。
図21(a)に示すように、4つの施設を利用した場合に、施設の平均利用時間の合計値として、最小でも施設B,C,E,Fを利用した合計値の20分が必要である。そのため、経路探索部120は、類似経路のコスト累計値を、許容コストの70から20(分)を差し引いた50以下に設定する。
【0063】
図22は、利用施設に基づいて更新される許容経路の概略を示す説明図である。
図22(a)には、許容コストが50の場合に、類似経路設定部124が設定した類似経路が示されている。類似経路のそれぞれは、線種が異なる矢印を有する太い線で示されており、加算コストの累計値についても示されている。例えば、施設Fを利用する場合には、加算コストの累計値である40に、施設Fの平均利用時間の5(分)が加算された45がコスト累計値となる。なお、第3実施形態では、施設に接続されておらず、行き止まりのリンクについては、不要なリンクとみなして類似経路を絞り込んでもよい。
図22(a)では、リンクL35は不要とみなしてリンク上に×を示している。
図22(a)に示すように、コスト累計値が50以下の類似経路では、施設Eを利用することができない。そのため、
図22(b)には、施設Eの上に×が示され、施設Eが利用できないことが示されている。施設Eが利用できないため、施設の平均利用時間の最小の合計値は、施設B,C,D,Fを利用した25分である。そのため、経路探索部120は、類似経路のコスト累計値を、許容コストの70から25(分)を差し引いた45に設定する。
【0064】
図22(c)には、許容コストが45に設定された場合に、類似経路設定部124が新たに設定した類似経路が示されている。
図22(c)に示すように、類似経路のコスト累計値が46となるリンクL50,L51を通過する類似経路が通過できないことが示されている。新たにリンクL50が類似経路に含まれなくなった、施設Dを利用できなくなり、
図22(d)には、施設Dが利用できないことが示されている。施設Dが利用できない場合、施設の平均利用時間の最小の合計値は、施設B,C,F,Gを利用した30分である。そのため、経路探索部120は、類似経路のコスト累計値を、許容コストの70から30(分)を差し引いた40に設定する。類似経路設定部124は、新たに設定された許容コストに基づいて類似経路を新たに設定する。
図22(d)には、利用者に提示される新たに設定された類似経路が示されている。
【0065】
図23は、利用者に提示される類似経路の一例を示す説明図である。
図23には、携帯電話機200に設定された許容コストが70で、4つ以上の施設を利用する類似経路が示されている。この類似経路は、始終点SGを出発して、施設Gと、施設Aと、施設Cと、施設Bと、を利用して、始終点SGに到着する経路である。
【0066】
以上説明したように、第3実施形態におけるサーバ100では、類似経路設定部124は、許容コストと、POI情報DB116に記憶された施設の平均利用時間と、に基づいて類似経路を設定する。そのため、第3実施形態におけるサーバ100では、各リンクのリンクコストに、施設を利用するのに必要な時間を加えて、類似経路が設定されるので、正確な到着時刻までに始終点SGに到着する類似経路が設定される。
【0067】
また、第3実施形態におけるサーバ100では、経路探索部120が利用される施設の条件を設定し、設定された条件に基づいて、許容コストから施設の平均利用時間の合計値を差し引いた値を新たな許容コストとして設定する。類似経路設定部124は、新たに設定された許容コスト以下のコスト累計値である類似経路を設定する。経路探索部120と類似経路設定部124とのそれぞれは、新たな許容コストの設定と新たに設定された許容コストに基づく類似経路の設定を、設定された施設の条件を満たすまで繰り返す。そのため、第3実施形態のサーバ100では、設定された条件を満たす類似経路が設定されるまで、利用される施設の平均利用時間の合計値に基づいて、許容コストに基づいて設定された類似経路を絞り込んでいくので、条件の満たす類似経路が効率良く設定される。
【0068】
D.第4実施形態:
第4実施形態では、上記実施形態と比較して、始終点SGが複数の出入口を有する駅や商業施設などの場合に、始終点SG内での出入口を特定した上での経路が探索される点が異なる。
図24は、第4実施形態における各ノードに対するラベル付与の概略を示す説明図である。
図24には、
図4で示された始終点SGが拡大された状態でのノードとリンクとが示されている。第4実施形態では、始終点SGは、電車の駅であり、
図24(a)に示すように、西改札ET1と、北改札ET2と、を含んでいる。また、始終点SGは、西改札ET1の外側の境界の西出入口SG1と、北改札ET2の外側の北出入口SG2と、を含んでいる。始終点SG内の直線は、駅の構内におけるリンクであり、始終点SG内の円は、駅の構内におけるノードである。なお、第4実施形態では、駅の構内におけるノードやリンクについての経路探索の説明については省略する。
【0069】
第4実施形態の経路探索処理では、初めに、経路探索部120のラベル付与部122は、始終点としての西出入口SG1および北出入口SG2に仮ラベルを設定する(
図2のステップS11)。第1実施形態と同じ100の許容コストが設定されると(ステップS12)、西出入口SG1および北出入口SG2に仮ラベルが付与されているため(ステップS13:YES)、
図24(b)に示すように、ラベル付与部122は、西出入口SG1および北出入口SG2に付与された仮ラベルを確定ラベルに設定する(ステップS14)。
図24(b)では、西出入口SG1および北出入口SG2に付与された確定ラベルは、コスト累計値が四角で囲まれて示されている。
【0070】
西出入口SG1および北出入口SG2に付与された確定ラベルのコスト累計値の2倍の0が許容コストの100よりも小さく(ステップS15:NO)、西出入口SG1および北出入口SG2の確定ラベルに基づく類似経路はないため(ステップS16)、ラベル付与部122は、西出入口SG1および北出入口SG2のそれぞれから隣接ノードに新しいラベルを付与する。西出入口SG1および北出入口SG2のそれぞれの隣接ノードであるノードN31およびノードN41には、確定ラベルが付与されていないと共に(ステップS18:NO)、仮ラベルも付与されていないため(ステップS19:NO)、ラベル付与部122は、隣接ノードであるノードN31およびノードN41に付与した新しいラベルを仮ラベルとして設定する(ステップS20)。
図24(b)に示すように、ノードN31およびノードN41に設定された仮ラベルは、コスト累計値が五角形で囲まれて示されている。ラベル付与部122は、西出入口SG1の隣接ノードであるノードN31にリンクL3のリンクコストを加算したコスト累計値が21の仮ラベルを設定する。同様に、ラベル付与部122は、北出入口SG2の隣接ノードであるノードN41にリンクL1のリンクコストを加算したコスト累計値が10の仮ラベルを設定する。以降、経路探索部120は、上記第1実施形態と同様に、ラベルを付与して、類似経路を設定する。
【0071】
図25は、第4実施形態における各ノードに対して付与されたラベルの概略および設定された類似経路の一部を示す説明図である。
図25に示すように、3種類のコスト累計値に応じた類似経路が設定される。1つは、実線で示されたリンクL1の通過に伴う類似経路であり、北出入口SG2を出発してノードN41で折り返すコスト累計値が20の類似経路である。もう1つは、一点鎖線で示されたリンクL2の通過に伴う類似経路であり、北出入口SG2を出発して、リンクL1、ノードN41、リンクL2、を通過して、ノードN31で折り返すコスト累計値が40の類似経路である。最後の1つは、破線で示されたリンクL3の通過に伴う経路であり、西出入口SG1を出発して、リンクL3、ノードN31、リンクL2、ノードN41、リンクL1を通過して、北出入口SG2に到着する場合と、その逆方向の通過となる、北出入口SG2を出発して、リンクL1、ノードN41、リンクL2、ノードN31、リンクL3を通過して、西出入口SG1到着する場合の、コスト累計値が41の二通りの類似経路である。この、コスト累計値41の類似経路は、大きく見れば同じ始終点SGから出発してから戻ってくる経路と言えるが、実際には異なる地点である2つの出入口の、一方から出発し、他方へ戻ってくる経路である。
【0072】
以上説明したように、第4実施形態におけるサーバ100では、ラベル付与部122が始終点SG内の複数のノードにもラベルを付与し、類似経路設定部124は、始終点SG内に付与されたラベルに基づいて類似経路を選択する。そのため、第4実施形態のサーバ100では、始終点SGを出発してから戻ってくる経路であっても、始終点SG内における複数のノードを特定して利用者に経路を提示できる。つまり、同じ「場所」へ戻ってきたいと願う利用者の概念的な欲求に対し、まったくの同一地点へ戻る必要はないという柔軟性のある経路を提示できるため、利用者の利便性が向上する。
【0073】
E.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0074】
E1.変形例1:
また、上記実施形態では、利用者が携帯電話機200の操作部206を操作することにより、始終点SGを設定したが、始終点SGおよび各種設定の入力手段はこれに限られず、種々変形可能である。例えば、携帯電話機200が利用者の音声入力を受け付ける音声入力部を備えており、音声によって始終点SGの設定等、各種設定が行なわれてもよい。
【0075】
また、上記実施形態では、
図1に示すようにサーバ100が情報記憶部110および経路探索部120を備える態様としたが、情報記憶部110および経路探索部120を備える装置はこの態様に限られず、種々変形可能である。例えば、情報記憶部110と経路探索部120とは異なるサーバに備えられていてもよいし、経路探索部120が携帯電話機200に搭載されていてもよい。また、経路探索部120におけるラベル付与部122および類似経路設定部124は、それぞれ異なるサーバ100に備えられていてもよい。また、地図情報DB114とノード別経路情報DB115とが同じデータベースに記憶されていてもよい。
【0076】
本発明は、上記実施形態や変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、変形例中の技術的特徴は、上述の課題の一部または全部を解決するために、あるいは、上述の効果の一部または全部を達成するために、適宜、差し替えや、組み合わせを行なうことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。