(57)【要約】      （修正有）【課題】機械学習による予測を用いて、２地点間の移動に関するコストを提供するサーバ装置を提供する。【解決手段】サーバ装置３００は、地図上の地点に対応する複数のノードと、ノード間を接続するエッジと、各エッジに付加されたコストと、から構成される連結グラフに関するグラフ情報を記憶するグラフ情報記憶部と、複数のノードの中から選択された２つのノード間の予測コストを、グラフ情報に基づいて計算するコスト計算部と、２つのノードに対応する地図上の２地点間の実測コストを取得するコスト取得部と、コスト計算部が計算した予測コストと、コスト取得部が取得した実測コストとを、学習データとして記憶する学習データ記憶部と、学習データに基づいて、予測コストと、実測コストとの関係を学習した学習モデル３２４を生成するモデル生成部と、生成した学習モデルに基づいて、地図上の任意の２地点間のコストを提供するコスト提供部と、を備える。【選択図】図３
2020046652.tif 000002
【特許請求の範囲】
【請求項１】
地図上の地点に対応する複数のノードと、前記ノード間を接続するエッジと、前記各エッジに付加されたコストと、から構成される連結グラフに関するグラフ情報を記憶するグラフ情報記憶部と、
前記複数のノードの中から選択された２つのノード間の予測コストを、前記グラフ情報に基づいて計算するコスト計算部と、
前記選択された２つのノードに対応する前記地図上の２地点間の実測コストを取得するコスト取得部と、
前記コスト計算部が計算した予測コストと、前記コスト取得部が取得した実測コストとを、学習データとして記憶する学習データ記憶部と、
前記学習データに基づいて、前記予測コストと、前記実測コストとの関係を学習した学習モデルを生成するモデル生成部と、
前記生成した学習モデルに基づいて、前記地図上の任意の２地点間のコストを提供するコスト提供部と、
を備えるサーバ装置。
【請求項２】
前記エッジに付加されたコストは、当該エッジが接続するノードに対応する前記地図上の２地点間を移動するのに要する移動時間である、請求項１に記載のサーバ装置。
【請求項３】
前記モデル生成部は、前記関係を回帰分析により機械学習する、請求項１または請求項２に記載のサーバ装置。
【請求項４】
前記コスト取得部は、前記地図上の２地点間の前記実測コストを外部の地図情報提供装置から取得する、請求項１から請求項３のいずれか１項に記載のサーバ装置。
【請求項５】
前記コスト計算部は、前記グラフ情報に基づいた最適化問題を解くことにより、前記２つのノード間のコストを計算する、請求項１から請求項４のいずれか１項に記載のサーバ装置。
【請求項６】
前記連結グラフは、前記複数のノードに対しドロネー三角形分割法を適用して生成される、請求項１から請求項５のいずれか１項に記載のサーバ装置。
【請求項７】
地図上の２地点間の実測コストを取得するコスト取得部と、
前記地図上の２地点の位置情報および前記取得した当該２地点間の実測コストを、学習データとして記憶する学習データ記憶部と、
前記学習データに基づいて、前記地図上の２地点の位置情報および当該２地点間のコストとの関係を学習した学習モデルを生成するモデル生成部と、
前記生成した学習モデルに基づいて、前記地図上の任意の２地点間のコストを提供するコスト提供部と、
を備えるサーバ装置。
【請求項８】
前記モデル生成部は、前記関係をガウス過程により機械学習する、請求項７に記載のサーバ装置。
【請求項９】
地図上の２地点間のコストを提供するサーバ装置であって、
第１学習モデルに基づいて、前記地図上の２地点間のコストを推測する第１推測部と、
第２学習モデルに基づいて、前記地図上の２地点間のコストを推測する第２推測部と、
前記第１推測部および前記第２推測部が推測したコストの予測精度に基づいて、前記第１推測部が推測したコストまたは前記第２推測部が推測したコストを選択する選択部と、
前記選択部が選択したコストを提供するコスト提供部と、を備え、
前記第１推測部は、
地図上の地点に対応する複数のノードと、前記ノード間を接続するエッジと、前記各エッジに付加されたコストと、から構成される連結グラフに関するグラフ情報を記憶するグラフ情報記憶部と、
前記複数のノードの中から選択された２つのノード間の予測コストを、前記グラフ情報に基づいて計算するコスト計算部と、
前記選択された２つのノードに対応する前記地図上の２地点間の実測コストを取得する第１コスト取得部と、
前記コスト計算部が計算した予測コストと、前記コスト取得部が取得した実測コストとを、学習データとして記憶する第１学習データ記憶部と、
前記第１学習データ記憶部が記憶した学習データに基づいて、前記予測コストと、前記実測コストとの関係を学習した第１学習モデルを生成する第１モデル生成部と、
前記生成した第１学習モデルに基づいて、前記地図上の任意の２地点間のコストを推測する第１コスト推測部と、を含み、
前記第２推測部は、
地図上の２地点間の実測コストを取得する第２コスト取得部と、
前記地図上の２地点の位置情報および前記取得した当該２地点間の実測コストを、学習データとして記憶する第２学習データ記憶部と、
前記第２学習データ記憶部が記憶した学習データに基づいて、前記地図上の２地点の位置情報および当該２地点間のコストとの関係を学習した第２学習モデルを生成する第２モデル生成部と、
前記生成した第２学習モデルに基づいて、前記地図上の任意の２地点間のコストを推測する第２コスト推測部と、
を含む、サーバ装置。
【請求項１０】
地図上の地点に対応する複数のノードと、前記ノード間を接続するエッジと、前記各エッジに付加されたコストと、から構成される連結グラフに関するグラフ情報を記憶するグラフ情報記憶部と、
前記複数のノードの中から選択された２つのノード間の予測コストを、前記グラフ情報に基づいて計算するコスト計算部と、
前記選択された２つのノードに対応する前記地図上の２地点間の実測コストを取得するコスト取得部と、
前記コスト計算部が計算した予測コストと、前記コスト取得部が取得した実測コストとを、学習データとして記憶する学習データ記憶部と、
前記学習データに基づいて、前記予測コストと、前記実測コストとの関係を学習した学習モデルを生成するモデル生成部と、
前記生成した学習モデルに基づいて、前記地図上の任意の２地点間のコストを提供するコスト提供部と、
を備えるシステム。
【請求項１１】
地図上の２地点間のコストを提供するための学習モデルを生成する方法であって、
地図上の地点に対応する複数のノードと、前記ノード間を接続するエッジと、前記各エッジに付加されたコストと、から構成される連結グラフに関するグラフ情報を記憶するステップと、
前記複数のノードの中から選択された２つのノード間の予測コストを、前記グラフ情報に基づいて計算するステップと、
前記選択された２つのノードに対応する前記地図上の２地点間の実測コストを取得するステップと、
前記コスト計算部が計算した予測コストと、前記コスト取得部が取得した実測コストとを、学習データとして記憶するステップと、
前記学習データに基づいて、前記予測コストと、前記実測コストとの関係を学習した学習モデルを生成するステップと、
を備える方法。
【請求項１２】
請求項１１に記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、地図上の２地点間の移動に関するコストを提供するサーバ装置、システム、方法およびプログラムに関する。
【背景技術】
【０００２】
近年、計算資源の技術が発展するとともに、ビッグデータ関連インフラが整備されてきている。膨大なデータを処理するビッグデータ処理基盤の重要な構成要素として、データの背後に潜む法則や知識を導き出す機械学習技術への需要が高まっている。
【０００３】
また、市場ではＩＴサービスの開発・提供形態やデバイスが変化してきており、公開されたＷｅｂ ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ Ｐｒｏｇｒａｍｍｉｎｇ Ｉｎｔｅｒｆａｃｅ）を利用し、新たなサービスを短期に、より容易に開発する流れが確立しつつある。例えば、特許文献１には、外部の経路探索エンジンを利用して、所定の順序で３以上の地点を巡回する経路を提案するルート提案装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−７２１５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述のようなＷｅｂサービスにおいては、ユーザ端末またはその他のＷｅｂサービスを始めとしたクライアントサービスから大量にＡＰＩが実行されるとサーバに負荷がかかってしまうという課題があった。
【０００６】
そこで、本発明は、上記課題に鑑みてなされたものであり、その目的は、機械学習による予測を用いて、２地点間の移動に関するコストを提供するサーバ装置、システム、方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本開示に係るサーバ装置は、地図上の地点に対応する複数のノードと、ノード間を接続するエッジと、各エッジに付加されたコストと、から構成される連結グラフに関するグラフ情報を記憶するグラフ情報記憶部と、複数のノードの中から選択された２つのノード間の予測コストを、グラフ情報に基づいて計算するコスト計算部と、選択された２つのノードに対応する地図上の２地点間の実測コストを取得するコスト取得部と、コスト計算部が計算した予測コストと、コスト取得部が取得した実測コストとを、学習データとして記憶する学習データ記憶部と、学習データに基づいて、予測コストと、実測コストとの関係を学習した学習モデルを生成するモデル生成部と、生成した学習モデルに基づいて、地図上の任意の２地点間のコストを提供するコスト提供部と、を備える。
【０００８】
また、上記目的を達成するため、本開示に係るシステムは、地図上の地点に対応する複数のノードと、ノード間を接続するエッジと、各エッジに付加されたコストと、から構成される連結グラフに関するグラフ情報を記憶するグラフ情報記憶部と、複数のノードの中から選択された２つのノード間の予測コストを、グラフ情報に基づいて計算するコスト計算部と、選択された２つのノードに対応する地図上の２地点間の実測コストを取得するコスト取得部と、コスト計算部が計算した予測コストと、コスト取得部が取得した実測コストとを、学習データとして記憶する学習データ記憶部と、学習データに基づいて、予測コストと、実測コストとの関係を学習した学習モデルを生成するモデル生成部と、生成した学習モデルに基づいて、地図上の任意の２地点間のコストを提供するコスト提供部と、を備える。
【０００９】
また、上記目的を達成するため、本開示に係る方法は、地図上の２地点間のコストを提供するための学習モデルを生成する方法であって、地図上の地点に対応する複数のノードと、ノード間を接続するエッジと、各エッジに付加されたコストと、から構成される連結グラフに関するグラフ情報を記憶するステップと、複数のノードの中から選択された２つのノード間の予測コストを、グラフ情報に基づいて計算するステップと、選択された２つのノードに対応する地図上の２地点間の実測コストを取得するステップと、コスト計算部が計算した予測コストと、コスト取得部が取得した実測コストとを、学習データとして記憶するステップと、学習データに基づいて、予測コストと、実測コストとの関係を学習した学習モデルを生成するステップと、を備える。
【００１０】
また、上記目的を達成するため、本開示に係るプログラムは、地図上の２地点間のコストを提供するための学習モデルを生成するプログラムであって、上記方法をコンピュータに実行させる。
【発明の効果】
【００１１】
本開示によれば、機械学習による予測を用いて、２地点間の移動に関するコストを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】２地点間の移動時間提供システム１の構成図である。
【図２】ユーザ端末１００の機能構成の一例を示す機能ブロック図である。
【図３】サーバ装置３００の機能構成の一例を示す機能ブロック図である。
【図４】地図４０におけるグラフ情報の簡単な例を示す図である。
【図５】制御部３３０において学習モデルを生成する処理を示すフローチャートである。
【図６】制御部３３０において学習モデルに基づいて２地点間の移動時間を提供する処理を示すフローチャートである。
【図７】地図上の地点に対応するノードの具体例を示す図である。
【図８】図７のノードに対し、ドロネー三角形分割を適用した図である。
【図９】回帰式の例を示す図である。
【図１０】サーバ装置４００の機能構成の一例を示す機能ブロック図である。
【図１１】地図上の任意の２地点を選択する処理を説明する図である。
【図１２】サーバ装置５００の機能構成の一例を示す機能ブロック図である。
【発明を実施するための形態】
【００１３】
以下、本開示の実施形態について図面を参照して説明する。実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。なお、以下の実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。
【００１４】
＜実施形態１＞
図１は、２地点間の移動時間提供システム１の構成図である。図１を参照して、実施形態１に係るシステムの構成について説明する。
【００１５】
＜移動時間提供システム１の概要＞
本実施形態に係るシステムは、地図上の２地点間の移動に関する移動時間を提供するシステムである。
【００１６】
近年、物流システム等で配送計画を立案する際に、地図上の２地点間の移動時間を提供するＷｅｂ ＡＰＩ等により、ユーザは配送先までの移動時間を取得できるようになった。しかしながら、そのようなＷｅｂサービスにおいては、クライアントからの大量の問い合せがあると、ＡＰＩサーバへ負荷がかかってしまい、ＡＰＩの利用が制限されてしまうというという課題がある。例えば、単位時間当たりの制限回数を超えると一定時間ＡＰＩの利用が禁止されたり、利用回数に応じて課金されたりするため、配送計画の立案のたびにＡＰＩを利用することは、実用的ではない場合がある。
【００１７】
そこで、本実施形態に係る移動時間提供システム１は、機械学習を用いて２地点間の移動時間を提供する。具体的には、移動時間提供システム１は、組み合わせ最適化問題に基づいて計算された２地点間の移動時間と、外部の地図情報提供装置（ＡＰＩサーバ等）から取得した、実測された２地点間の移動時間との関係を学習した学習モデルを生成し、当該学習モデルに基づいて、地図上の２地点間の移動時間を提供する。
【００１８】
すなわち、移動時間提供システム１では、学習モデルを生成する際にのみＡＰＩサーバを利用するので、ＡＰＩサーバの負荷を軽減させつつ、精度の高い２地点間の移動時間を提供することができる。また、ユーザは、ＡＰＩ等のサービスの利用制限を気にすることなく、２地点間の移動時間を取得することができ、配送計画等の立案が容易に行えるようになる。
【００１９】
＜移動時間提供システム１の構成＞
図１において、移動時間提供システム１は、ユーザ端末１００と、地図情報提供装置２００と、サーバ装置３００と、を備え、ネットワークＮＷを介して通信可能に接続される。ネットワークＮＷは、ＷＡＮ（World Area Network）、ＬＡＮ（Local Area Network）等から構成される。
【００２０】
図１ではユーザ端末１００を１つのみ示すが、本実施形態においては、移動時間提供システム１は、ユーザ毎にそれぞれ保有する複数のユーザ端末１００を含んでいる。
【００２１】
地図情報提供装置２００は、地図情報を提供するサーバ装置である。ここで、「地図情報」とは、地図を提示するための地理的情報であり、具体的には、店舗、住宅等を含む各種の位置の特定に必要な地図データ（例えば、緯度、経度など）である。また、地図情報提供装置２００は、地図情報に基づいて、地図上の任意の２地点間のコストを提供することができる。ここで、「コスト」とは、２地点間に定義される値であって、例えば、２地点間の距離や、２地点間を移動するのに要する移動時間、消費燃料量、交通費などである。以下、本明細書では、２地点間のコストを、２地点間を移動するのに要する移動時間として説明する。２地点間の移動時間は、実測値に基づいて提供されることが好ましいが、公知の経路探索演算を実行することによって求まる近似値など実測値との誤差が保証された値に基づいて提供されてもよい。なお、地図情報提供装置２００は、例えば、外部の経路探索エンジンやＡＰＩサーバであるが、地図上の任意の２地点間の移動時間を提供する装置であれば、これに限られない。
【００２２】
ユーザ端末１００は、ユーザが保有する情報処理端末であり、ユーザから受け付けた地図上の２地点についての移動時間をサーバ装置３００へ問い合わせる。例えば、ユーザ端末１００は、地図情報提供装置２００から地図情報を取得し、地図上の２地点を選択する。そして、選択した２地点間の移動時間についてサーバ装置３００へ問い合わせる。
【００２３】
サーバ装置３００は、地図上の２地点間の移動時間を提供するサーバ装置であって、ユーザ端末１００からの問い合せに対して、２地点間の移動時間を提供する。具体的には、サーバ装置３００は、組み合わせ最適化問題に基づいて計算された２地点間の移動時間と、地図情報提供装置１００から取得した、２地点間の実測された移動時間との関係を学習した学習モデルを生成する。そして、当該学習モデルに基づいて、地図上の２地点間の移動時間を提供する。
【００２４】
以上のように、本実施形態において、サーバ装置３００は、ユーザ端末１００からの問い合せに応じて、２地点間の移動時間を提供する。これにより、ユーザは、ＡＰＩ等のサービスの利用回数を気にすることなく、２地点間の移動時間を取得することができる。
【００２５】
なお、本実施形態では、「サーバ」とは、１つの情報処理装置（すなわち、サーバ装置）を指す他、サーバが複数のサーバ装置によって構成される場合にはサーバ装置群（すなわち、サーバシステム）全体を指す意味である。また、本実施形態においては、サーバ装置３００を一体的な構成として説明するが、サーバ装置３００は、機能および／または役割に応じて分けられた複数のサーバ装置を含む構成であってもよい。例えば、サーバ装置３００は、ユーザ端末１００や地図情報提供装置２００から取得されるデータを記憶するデータサーバと、学習モデルに基づいて２地点間の移動時間を提供するサービスサーバとを含む構成であってもよい。さらに、サーバ装置３００は、移動時間の提供とともに課金を行うショップサーバを含む構成であってもよい。
【００２６】
図２は、ユーザ端末１００の機能構成の一例を示す機能ブロック図である。なお、本実施形態のユーザ端末１００は、図２の構成要素（各部）の一部を省略した構成としてもよい。
【００２７】
ユーザ端末１００は、情報処理装置であり、本実施形態においては、例えば、スマートフォン、フィーチャーフォン、タブレット型コンピュータ、ラップトップ型コンピュータ、デスクトップ型コンピュータ、スマートグラスやヘッドマウントディスプレイ等のウェアラブル端末、又は、情報処理機能を備えた多機能型テレビジョン受像機（スマートテレビ）等の多機能デバイスである。
【００２８】
すなわち、ユーザ端末１００は、一般的な多機能デバイスが有する各種の機能（例えば、入力機能、出力（表示）機能、情報処理機能、ネットワーク通信機能、センサ機能、通話機能、カメラ機能等）を有している。
【００２９】
なお、ネットワーク通信機能は、インターネット等を介した通信機能、および／または、モバイル通信網を介した通信機能である。ユーザ端末１００は、既製の多機能デバイスに所定の機能をインストールすることで実現されてもよい。本実施形態において、ユーザ端末１００は、上記多機能デバイスとして用いられることに加えて、上記２地点間の移動時間を取得するために用いられる。
【００３０】
ユーザ端末１００は、通信部１１０と、入力部１２０と、出力部１３０と、記憶部１４０と、センサ部１５０と、制御部１６０と、を備える。
【００３１】
通信部１１０は、ネットワークＮＷに接続された装置と通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３２】
入力部１２０は、ユーザからの入力を受け付けるためのインターフェイスであり、ユーザの入力を制御部１６０に送る。入力部１２０は、例えば、タッチパネルやボタン、マイク、コントローラである。なお、後述するセンサ部１５０が検知したセンシングデータをユーザからの入力としてもよい。例えば、ユーザは、タッチパネルに表示された地図情報を確認し、地図上の点をタップするなどして、地図上の２地点を指定することができる。
【００３３】
出力部１３０は、例えば、ディスプレイ等の表示装置やスピーカなどのオーディオ出力装置であり、入力部１２０に対する入力に応じてユーザ端末１００において生成される各種の画像や音声を表示、出力したり、ネットワークＮＷを介して通信部１１０が受信したデータに基づく各種の画像や音声を表示、出力したりする。出力部１３０は、人工知能搭載型スピーカ（スマートスピーカ）を含む。
【００３４】
記憶部１４０は、コンピュータを機能させるためのプログラムや各種データを記憶するための記憶装置である。例えば、記憶部１４０には、地図情報提供装置２００から送信された地図情報（不図示）が記憶される。なお、記憶部１４０は、一時的な記憶領域や、ストレージを含んでもよい。
【００３５】
センサ部１５０は、ユーザ端末１００の種々の状態を検知する各種機器である。センサ部１５０は、例えば、端末自体の姿勢や傾きを検知する姿勢センサ（加速度センサやジャイロセンサ）、ユーザの視線方向を検知する注視センサや、周囲の明るさを検知する光センサ、ユーザの動作を検知する赤外線センサである。また、センサ部１５０は、ユーザ端末１００の周囲の音を収集するマイクロフォンや、ユーザ端末１００の周囲の湿度を検知する湿度センサや、ユーザ端末１００の所在位置における磁場を検知する地磁気センサ等であってもよい。
【００３６】
また、センサ部１５０は、上記のセンサ機能を用いて、種々の情報を検知するようにしてもよい。例えば、センサ部１５０は、加速度センサの機能を用いて、ユーザ端末１００を保有するユーザの歩行数を検知してもよい。また、センサ部１５０は、加速度センサの機能を用いて、ユーザ端末１００が動作しているか、静止しているか、などを示す動作情報を一定時間ごとや、ユーザ端末１００が動作したタイミングごとに検知してもよい。センサ部１５０は、上述のように検知したセンシングデータを制御部１６０へ送る。
【００３７】
なお、センサ部１５０は、腕時計型、指輪型の端末のように、ユーザ端末１００と通信可能に接続される、ユーザに装着可能な情報処理端末（いわゆるウェアラブル端末）であってもよい。
【００３８】
制御部１６０は、ユーザ端末１００において実行される各種の情報処理を実行する。制御部１６０は、ＣＰＵ（Central Processing Unit）およびメモリを有する。ユーザ端末１００においては、ＣＰＵがメモリを用いて、記憶部１４０に記憶された情報処理プログラムを実行することによって上記各種の情報処理が実行される。本実施形態においては、制御部１６０は、上記情報処理として、地図情報提供装置２００から地図情報を取得する処理や、ユーザから地図上の２地点を受け付け、当該２地点間の移動時間をサーバ装置３００に問い合わせる処理等を実行する。また、ユーザ端末１００が多機能デバイスとして動作する場合、制御部１６０は、各機能を実現するための情報処理を実行する。
【００３９】
図３は、実施形態１に係るサーバ装置３００の機能構成の一例を示す機能ブロック図である。なお、本実施形態のサーバ装置３００は、図３の構成要素（各部）の一部を省略した構成としてもよい。
【００４０】
サーバ装置３００は、通信部３１０と、記憶部３２０と、制御部３３０と、を備える。
【００４１】
通信部３１０は、ネットワークＮＷに接続される装置と通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４２】
記憶部３２０は、コンピュータを機能させるためのプログラムや各種データを記憶するための記憶装置である。記憶部３２０は、地図情報３２１と、グラフ情報３２２と、学習データ３２３と、学習モデル３２４と、を含む。これらについては、後述する。
【００４３】
制御部３３０は、サーバ装置３００において実行される各種の情報処理を実行する。制御部３３０は、ＣＰＵおよびメモリを有し、ＣＰＵがメモリを用いて、記憶部３２０に記憶された情報処理プログラムを実行することによって各種の情報処理が実行される。本実施形態においては、制御部３３０は、上記情報処理として、移動時間に関する学習モデルを生成し、当該学習モデルに基づいて２地点間の移動時間を算出する処理を実行する。算出された移動時間は、ユーザ端末１００に送信される。
【００４４】
制御部３３０は、取得部３３１と、グラフ生成部３３２と、時間計算部３３３と、モデル生成部３３４と、時間提供部３３５と、を含む。
【００４５】
取得部３３１は、通信部３１０を介して、地図情報提供装置２００から地図データを取得する。そして、取得した地図データを記憶部３２０の地図情報３２１に格納する。
【００４６】
グラフ生成部３３２は、地図情報３２１に基づいて、連結グラフを生成し、記憶部３２０のグラフ情報３２２に格納する。具体的には、グラフ生成部３３２は、地図上の地点に対応する複数のノードを設定する。そして、グラフ生成部３３２は、設定した複数のノードに対し、ノード間を接続するエッジを追加して、任意の２点間にパス（経路）が存在する連結グラフを生成する。例えば、ドロネー三角形分割法を利用して連結グラフを生成してもよい。なお、生成するグラフは有向グラフであっても、無向グラフであってもよい。
【００４７】
ノードに対応させる地図上の地点は、例えば、住宅、施設、配送拠点、交差点などであってもよい。また、地図をグリッド状に分割し、分割した領域における代表地点（領域の中央に位置する地点や、当該領域における人口密集地点など）を地図上の地点としてもよい。
【００４８】
また、グラフ生成部３３２は、各エッジに対して移動時間（コスト）を付加する。具体的には、グラフ生成部３３２は、エッジが接続するノードに対応する地点間の移動時間を地図情報提供装置２００から取得し、エッジと対応させてグラフ情報３２２に格納する。すなわち、グラフ情報３２２は、グラフ情報記憶部として機能し、地図上の地点に対応する複数のノードと、複数のノードのうちの２つのノードを接続するエッジと、当該エッジが接続するノード間の移動時間と、から構成される連結グラフの情報や、ノードと地図上の地点との対応関係等が格納される。
【００４９】
時間計算部３３３は、コスト計算部として機能し、グラフ情報３２２に基づいた最適化問題を解くことで、連結グラフの任意の２点間の最短の移動時間（予測コスト）を計算する。具体的には、例えば、最短路問題を解く代表的な手法であるダイクストラ法（Ｄｉｊｋｓｔｒａ's ａｌｇｏｒｉｔｈｍ）により、２点間の最短路の移動時間を求める。なお、ダイクストラ法以外にも、公知の手法により最短路問題を解いて移動時間を求めてもよい。
【００５０】
一方、上述の取得部３３１は、コスト取得部としても機能し、時間計算部３３３が計算した最短路の始点と終点に対応する地図上の２地点間の実測された移動時間（実測コスト）を地図情報提供装置２００から取得する。
【００５１】
そして、取得部３３１は、連結グラフの任意の２点間について、時間計算部３３３が計算した移動時間と、上記実測された移動時間とを対にして、学習データとして、記憶部３２０の学習データ３２３に格納する。すなわち、学習データ３２３は、学習データ記憶部として機能する。
【００５２】
モデル生成部３３４は、学習データ３２３に基づいて、時間計算部３３３が計算した移動時間と、取得部３３１が取得した実測された移動時間との関係を学習した学習モデルを生成し、記憶部３２０の学習モデル３２４に格納する。具体的には、モデル生成部３３４は、計算した移動時間と実測された移動時間との関係を回帰分析により機械学習する。回帰する方法は、例えば、線形回帰、多項式回帰やロジスティック回帰など、公知の手法を用いることができるため、詳細な説明は省略する。
【００５３】
時間提供部３３５は、コスト提供部として機能し、モデル生成部３３４が生成した学習モデル３２４に基づいて、問い合わされた地図上の２地点間の移動時間を提供する。具体的には、取得部３３１は、ユーザ端末１００により問い合わされた地図上の２地点に対応するノードの情報をグラフ情報３２２に基づいて取得する。例えば、問い合わされた地点の近く（所定の距離以内）に設定されたノードを、問い合わされた地点に対応するノードとする。次いで、時間計算部３３３は、当該取得したノード間について、最短路問題を解いて、移動時間を計算する。そして、時間提供部３３５は、計算された移動時間を学習モデル３２４に格納された回帰式により補正し、２地点間の移動時間として提供する。
【００５４】
本実施形態では、地図上のエリアを連結グラフによって表し、地図上の２地点間の移動時間を、連結グラフに基づいて計算された移動時間を学習モデルにより補正して提供する。すなわち、地図情報提供装置２００に対しては、学習モデルを生成する際にのみ、２地点間の移動時間を取得すればよい。これにより、ユーザ端末１００から地図情報提供装置２００への２地点間の移動時間の問い合せが集中することを抑制することができる。
【００５５】
なお、学習データとして記憶する実測時間は、問い合わせへの回答を受けて実際にユーザが移動した後に、当該移動に要した時間をユーザ端末１００のセンサ部１５０でセンシングしたデータに基づいて収集し、学習モデルを更新するようにしてもよい。
【００５６】
図４は、地図４０におけるグラフ情報の簡単な例を示す図である。図５は、制御部３３０において学習モデルを生成する処理を示すフローチャートである。図６は、制御部３３０において学習モデルに基づいて２地点間の移動時間を提供する処理を示すフローチャートである。図４および図５を参照して、上述した学習モデルの生成について具体的に説明する。また、図４および図６を参照して、学習モデルに基づいた２地点間の移動時間の提供について具体的に説明する。
【００５７】
ステップＳ５０１において、取得部３３１は、地図情報提供装置２００から地図４０を示すための地図情報を取得する。
【００５８】
ステップＳ５０２において、グラフ生成部３３２は、グラフを生成する。具体的には、グラフ生成部３３２は、まず、地図４０における地点に対応する複数のノードを設定する。図４の例では、地図４０において、住宅Ａに対応するノードｖ１、住宅Ｂに対応するノードｖ２、駅Ｃに対応するノードｖ３、施設Ｂに対応するノードｖ４、施設Ａに対応するノードｖ５、住宅Ｃに対応するノードｖ６を設定する。グラフ生成部３３２は、例えば、ユーザ端末１００やシステムの開発者等から指定された地点に対応してノードを設定する。そして、グラフ生成部３３２は、ノードｖ１〜ｖ６に対し、ドロネー三角形分割を利用して、連結グラフＧ（以下、グラフＧと記載する。）を生成する。連結グラフとは、任意の２つのノード間にパス（経路）が存在するグラフであり、図４に示すように、任意の２つのノード間には、一方を始点、他方を終点とするパスが少なくとも一つ存在している。
【００５９】
また、グラフ生成部３３２は、ノードを接続するエッジに、ノード間の移動に要する時間（コスト）を付加する。移動時間は、地図情報提供装置２００から取得する。例えば、ノードｖ１とｖ２を接続するエッジに対し、コストｃ１を付加する。コストは、具体的には、住宅Ａから住宅Ｂ（または住宅Ｂから住宅Ａ）へ移動するのにかかる時間であって、例えば、１０分などの時間長である。
【００６０】
グラフ生成部３３２は、ノード、エッジ、およびノードとエッジの接続関係、エッジに付加されたコスト、ノードと地図上の地点との対応関係などのグラフＧに関する情報をグラフ情報３２２に格納する。
【００６１】
ステップＳ５０３において、時間計算部３３３は、グラフＧにおける任意の２点を選択し、当該２点間の最短の移動時間を計算する。時間計算部３３３は、例えば、ダイクストラ法を用いてノードｖ２からｖ６への最短路を求め、移動時間を算出する。ノードｖ２からｖ６へのパスは、パス１（ｖ２→ｖ１→ｖ６）、パス２（ｖ２→ｖ５→ｖ６）、パス３（ｖ２→ｖ３→ｖ４→ｖ６）、・・・など複数存在するが、ダイクストラ法により、パス２が最短路として求められた場合、その移動時間は（ｃ５＋ｃ１０）となる。なお、ダイクストラ法は公知のアルゴリズムであるので、詳細な説明は省略する。時間計算部３３３は、機械学習のための学習データとして十分な程度に、グラフＧにおける任意の２点を選択し、当該２点間の移動時間を算出する。
【００６２】
ステップＳ５０４において、取得部３３１は、時間計算部３３３が選択した任意の２点間について、地図上の対応する２地点間の実測された移動時間を取得する。具体的には、取得部３３１は、例えば、時間計算部３３３が選択したノードｖ２とｖ６について、地図上の対応する地点である住宅Ｂから住宅Ｃへの移動時間を、地図情報提供装置２００から取得する。ここで、取得部３３１が取得した移動時間は、住宅Ｂから住宅Ｃへ実際に移動するのに要する時間（実測値）である。一方、時間計算部３３３が計算した移動時間は、住宅Ｂに対応するノードｖ２から、住宅Ｃに対応するノードｖ６へのグラフＧにおける最短路のコスト（予測値）である。
【００６３】
ステップＳ５０５において、取得部３３１は、上述の実測値と予測値とを学習データ３２３に格納する。
【００６４】
ステップＳ５０６において、モデル生成部３３４は、学習データ３２３に基づいて、２地点間の予測値と実測値との関係を回帰分析により機械学習する。そして、学習モデルとして記憶部３２０の学習モデル３２４に格納する。
【００６５】
次に、図６を参照して、学習モデルに基づいて２地点間の移動時間を提供する処理について説明する。
【００６６】
ステップＳ６０１において、通信部３１０は、ユーザ端末１００から２地点間の移動時間の問い合せを受信する。具体的には、図４の例において、地図４０における住宅Ｄから住宅Ｅへの移動時間が問い合わせられる。
【００６７】
ステップＳ６０２において、時間提供部３３５は、グラフ情報３２２に基づいて、住宅Ｄに近い住宅Ｂに対応するノードｖ２、住宅Ｅに近い住宅Ｃに対応するノードｖ６を取得する。
【００６８】
ステップＳ６０３において、時間提供部３３５は、グラフＧにおけるノードｖ２からｖ６への最短路問題を、時間計算部３３３に解かせる。図４の例では、移動時間（ｃ５＋ｃ１０）が算出される。
【００６９】
ステップＳ６０４において、時間提供部３３５は、計算された移動時間を学習モデル３２４に格納された回帰式により補正する。
【００７０】
ステップＳ６０５において、時間提供部３３５は、補正した値を、２地点間の移動時間として提供する。
【００７１】
図７は、地図上の地点に対応するノードの具体例を示す図である。図７において、各ノードは地図が示すエリアの各番地に対応しており、各ノードは、各番地の位置情報（緯度、経度など）と関連付けられる。
【００７２】
図８は、図７のノードに対し、ドロネー三角形分割を適用した図である。図８におけるグラフの各エッジについて、エッジが接続するノードに関連付けられた位置（地点間）の移動に要する時間をコストとして付加する。
【００７３】
図９は、回帰式の例を示す図である。同じデータについて、対数軸（左グラフ）と、線形軸（右グラフ）で表しており、縦軸は実測された移動時間、横軸はダイクストラ法などによって計算された移動時間である。また、実測された移動時間と計算された移動時間との関係は機械学習され、回帰式９０、９１が導出される。
【００７４】
図９においては、実測された移動時間が長くなるほど、計算された移動時間とずれ（予測誤差）が大きくなっており、この予測誤差を回帰することで補正することができる。
【００７５】
（効果の説明）
上述したように、本実施形態に係る移動時間提供システム１は、機械学習を用いて２地点間の移動時間を提供する。すなわち、移動時間提供システム１は、組み合わせ最適化問題に基づいて計算された２地点間の移動時間と、実測された２地点間の移動時間との関係を学習した学習モデルを生成し、当該学習モデルに基づいて、地図上の２地点間の移動時間を提供する。移動時間提供システム１は、学習モデルを生成する際にのみ外部の地図情報提供装置（例えば、ＡＰＩサーバ等）を利用するので、ＡＰＩサーバの負荷を軽減させつつ、精度の高い２地点間の移動時間を提供することができる。また、ユーザは、ＡＰＩ等のサービスの利用制限を気にすることなく、２地点間の移動時間を取得することができ、配送計画等の立案が容易に行えるようになる。
【００７６】
＜実施形態２＞
実施形態２に係る移動時間提供システム２は、実施形態１に係る移動時間提供システム１において、サーバ装置３００に代えてサーバ装置４００を備える。サーバ装置４００は、地図上の２地点の位置と、２地点間の移動時間（コスト）との関係を機械学習して学習モデルを生成し、当該学習モデルに基づいて２地点間の移動時間を提供する。すなわち、実施形態１に係るサーバ装置３００とは、生成する学習モデルが異なる。
【００７７】
図１０は、実施形態２に係るサーバ装置４００の機能構成の一例を示す機能ブロック図である。なお、本実施形態のサーバ装置４００は、図１０の構成要素（各部）の一部を省略した構成としてもよい。
【００７８】
サーバ装置４００は、通信部４１０と、記憶部４２０と、制御部４３０と、を備える。
【００７９】
通信部４１０は、ネットワークＮＷに接続される装置と通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００８０】
記憶部４２０は、コンピュータを機能させるためのプログラムや各種データを記憶するための記憶装置である。記憶部４２０は、地図情報４２１と、学習データ４２２と、学習モデル４２３と、を含む。これらについては、後述する。
【００８１】
制御部４３０は、サーバ装置４００において実行される各種の情報処理を実行する。制御部４３０は、ＣＰＵおよびメモリを有し、ＣＰＵがメモリを用いて、記憶部４２０に記憶された情報処理プログラムを実行することによって各種の情報処理が実行される。本実施形態においては、制御部４３０は、上記情報処理として、移動時間に関する学習モデルを生成し、当該学習モデルに基づいて２地点間の移動時間を算出する処理を実行する。算出された移動時間は、ユーザ端末１００に送信される。
【００８２】
制御部４３０は、取得部４３１と、モデル生成部４３２と、時間提供部４３３と、を含む。
【００８３】
取得部４３１は、通信部４１０を介して、地図情報提供装置２００から地図データを取得する。そして、取得した地図データを記憶部４２０の地図情報４２１に格納する。
【００８４】
また、取得部４３１は、地図上の任意の２地点を選択し、当該２地点間の移動時間を地図情報提供装置２００から通信部４１０を介して取得する。そして、取得部４３１は、２地点間の位置情報（例えば、緯度、経度など）と２地点間の移動時間とを対にして、学習データとして、記憶部４２０の学習データ４２２に格納する。取得部４３１は、機械学習のための学習データとして十分な程度に、地図上の任意の２地点を選択し、当該２地点間の移動時間を取得する。
【００８５】
図１１は、地図上の任意の２地点を選択する処理を説明する図である。図１１において、取得部４３１は、地図４０上の任意の２地点をランダムに選択する。なお、図１１では、例として地点４１〜４６が示されているが、これに限られず、地図上の任意の地点を選択する。
【００８６】
取得具４３１は、例えば、地点４１と地点４２とを選択し、地点４１−地点４２間の移動時間ｔ１を地図情報提供装置２００から取得する。そして、取得部４３１は、地点４１の緯度、経度などの位置情報（ｘ１，ｙ１）と移動時間ｔ１とを対にして学習データ４２２に格納する。同様に、取得部４３１は、地点４１と地点４３、地点４３と地点４４・・・など、任意の２地点をランダムに選択し、その２地点間の移動時間を取得する。そして、２地点の位置情報と移動時間とを対にして学習データ４２２に格納する。
【００８７】
図１０に戻って、モデル生成部４３２は、学習データ４２３に基づいて、地図上の２地点の位置情報と２地点間の移動時間との関係を学習した学習モデルを生成し、記憶部４２０の学習モデル４２３に格納する。例えば、ガウス過程やニューラルネットワークなど公知の技術に基づいて、地図上の２地点の位置情報と、２地点間の移動時間との関係を学習する。
【００８８】
時間提供部４３３は、モデル生成部４３２が生成した学習モデル４２３に基づいて、問い合わせられた地図上の２地点間の移動時間を提供する。具体的には、取得部４３１は、ユーザ端末１００により問い合わせられた地図上の２地点を入力として、学習モデルに基づいて、移動時間を算出する。
【００８９】
（効果の説明）
上述したように、本実施形態に係る移動時間提供システムは、機械学習を用いて２地点間の移動時間を提供する。具体的には、地図上の２地点の位置と、２地点間の移動時間（コスト）との関係を機械学習して学習モデルを生成し、当該学習モデルに基づいて２地点間の移動時間を提供する。すなわち、本実施形態に係る移動時間提供システムは、学習モデルを生成する際にのみ外部の地図情報提供装置（例えば、ＡＰＩサーバ等）を利用するので、ＡＰＩサーバ等の負荷を軽減させつつ、精度の高い２地点間の移動時間を提供することができる。また、ユーザは、ＡＰＩ等のサービスの利用制限を気にすることなく、２地点間の移動時間を取得することができ、配送計画等の立案が容易に行えるようになる。
【００９０】
＜実施形態３＞
実施形態３に係る移動時間提供システム３は、実施形態２に係る移動時間提供システム２において、サーバ装置４００に代えてサーバ装置５００を備える。サーバ装置５００は、実施形態１に係るシステムにおいて生成された第１学習モデル、および実施形態２に係るシステムにおいて生成された第２学習モデルに基づいて２地点間の移動時間を提供する。具体的には、第１学習モデルに基づいて算出される移動時間の予測精度と、第２学習モデルに基づいて算出される移動時間の予測精度とに基づいて、精度の良い方の移動時間を選択する。そして、選択した移動時間をユーザに提供する。すなわち、実施形態１に係る学習モデル、および実施形態２に係る学習モデルの両方に基づいて移動時間を算出する点が、上述した実施形態とは異なる。
【００９１】
図１２は、実施形態３に係るサーバ装置５００の機能構成の一例を示す機能ブロック図である。なお、本実施形態のサーバ装置５００は、図１２の構成要素（各部）の一部を省略した構成としてもよい。
【００９２】
サーバ装置５００は、通信部５１０と、記憶部５２０と、第１推測部５３０と、第２推測部５４０と、選択部５５０と、提供部５６０を備える。サーバ装置５００は、ＣＰＵおよびメモリを有する制御部（不図示）が、記憶部５２０に記憶された情報処理プログラムを実行することによって、後述する各種の情報処理を実行する。
【００９３】
通信部５１０は、ネットワークＮＷに接続される装置と通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００９４】
記憶部５２０は、コンピュータを機能させるためのプログラムや各種データを記憶するための記憶装置である。記憶部５２０は、地図情報５２１と、グラフ情報５２２と、第１学習データ５２３と、第１学習モデル５２４と、第２学習データ５２５と、第２学習モデル５２６と、を備える。これらについては、後述する。
【００９５】
第１推測部５３０は、実施形態１で示した学習モデルを生成し、当該学習モデルに基づいて地図上の２地点間の移動時間を算出する機能を有する。また、第２推測部５４０は、実施形態２で示した学習モデルを生成し、当該学習モデルに基づいて地図上の２地点間の移動時間を算出する機能を有する。
【００９６】
第１推測部５３０は、第１取得部５３１と、グラフ生成部５３２と、時間計算部５３３と、第１モデル生成部５３４と、第１時間推測部５３５と、を含む。
【００９７】
第１取得部５３１は、実施形態１に係るサーバ装置３００の取得部３３１と同様の機能を有し、通信部５１０を介して、地図情報提供装置２００から地図データを取得する。そして、取得した地図データを記憶部５２０の地図情報５２１に格納する。
【００９８】
また、第１取得部５３１は、後述する時間計算部５３３が計算する最短路の、始点と終点に対応する地図上の２地点間の実測された移動時間（実測コスト）を地図情報提供装置２００から取得し、第１学習データ５２３に格納する。
【００９９】
グラフ生成部５３２は、実施形態１に係るサーバ装置３００のグラフ生成部３３２と同様の機能を有し、地図情報５２１に基づいて、連結グラフを生成し、記憶部５２０のグラフ情報５２２に格納する。
【０１００】
時間計算部５３３は、実施形態１に係るサーバ装置３００の時間計算部３３３と同様の機能を有し、グラフ情報５２２に基づいた最適化問題を解くことで、連結グラフの任意の２点間の最短の移動時間（予測コスト）を計算する。当該移動時間は、地図情報提供装置２００から取得した、実測された移動時間と対にして第１学習データ５２３に格納する。
【０１０１】
第１モデル生成部５３４は、実施形態１に係るサーバ装置のモデル生成部３３４と同様の機能を有し、第１学習データ５２３に基づいて、時間計算部５３３が計算した移動時間と、第１取得部５３１が取得した実測された移動時間との関係を学習した学習モデルを生成し、記憶部５２０の第１学習モデル５２４に格納する。
【０１０２】
第１時間推測部５３５は、実施形態１に係るサーバ装置３００の時間提供部３３５と同様の機能を有し、第１モデル生成部５３４が生成した第１学習モデル５２４に基づいて、地図上の２地点間の移動時間を計算（推測）する。この際、予測精度を評価する指標を算出する。予測精度の評価については、例えば、平均誤差、平均平方二乗誤差など、公知の技術を採用するため、詳細な説明は省略する。
【０１０３】
第２推測部５４０は、第２取得部５４１と、第２モデル生成部５４２と、第２時間推測部５４３と、を含む。
【０１０４】
第２取得部５４１は、実施形態２に係るサーバ装置４００の取得部４３１と同様の機能を有し、地図情報５２１に基づいて、地図上の任意の２地点を選択し、当該２地点間の移動時間を地図情報提供装置２００から通信部５１０を介して取得する。そして、第２取得部５４１は、２地点間の位置情報（例えば、緯度、経度など）と２地点間の移動時間とを対にして、学習データとして、記憶部５２０の第２学習データ５２５に格納する。
【０１０５】
第２モデル生成部５４２は、実施形態２に係るサーバ装置４００のモデル生成部４３２と同様の機能を有し、第２学習データ５２５に基づいて、地図上の２地点の位置情報と２地点間の移動時間との関係を学習した学習モデルを生成し、記憶部５２０の第２学習モデル５２６に格納する。
【０１０６】
第２時間推測部５４３は、実施形態２に係るサーバ装置４００の時間提供部４３３と同様の機能を有し、第２モデル生成部５４２が生成した第２学習モデル５２６に基づいて、地図上の２地点間の移動時間を計算（推測）する。この際、予測精度を評価する指標を算出する。予測精度の評価については、例えば、平均誤差、平均平方二乗誤差など、公知の技術を採用するため、詳細な説明は省略する。
【０１０７】
選択部５５０は、ユーザ端末１００から地図上の２地点間の移動時間の問い合わせを受けて第１推測部５３０において計算された移動時間と、第２推測部５４０において計算された移動時間のうち、予測精度の良い方を選択する。具体的には、選択部５５０は、上述した予測精度を評価する指標を比較して、移動時間を選択する。
【０１０８】
提供部５６０は、選択部５５０が選択した移動時間を提供する。具体的には、通信部５１０を介して、ユーザ端末１００に送信する。
【０１０９】
（効果の説明）
上述したように、本実施形態に係る移動時間提供システムは、異なる方法で生成された学習モデルに基づいて２地点間の移動時間を計算し、予測精度の良い方を提供する。これにより、本実施形態に係る移動時間提供システムは、外部の地図情報提供装置（例えば、ＡＰＩサーバ等）の負荷を軽減させつつ、より精度の高い２地点間の移動時間を提供することができる。また、ユーザは、ＡＰＩ等のサービスの利用制限を気にすることなく、精度の高い２地点間の移動時間を取得することができ、配送計画等の立案が容易に行えるようになる。
【０１１０】
＜変形例＞
上述した本発明に係る移動時間提供システムは、地図上の３以上の地点を巡回する順序を決定するためのシステムに利用することができる。地図上の３以上の地点を巡回する順序は、組み合わせ最適化問題の代表的な問題の一つである巡回セールスマン問題（Ｔｒａｖｅｌｉｎｇ Ｓａｌｅｓｍａｎ Ｐｒｏｂｌｅｍ：ＴＳＰ）を解くことによって決定することができる。
【０１１１】
ＴＳＰは、複数のノード（地図上の地点に相当）と、ノード間を接続するエッジと、各エッジに対して付加されたコスト（例えば、移動時間）と、が定義されているグラフにおいて、全てのノードを１回だけ通って一巡（巡回）するのに必要なコストの和が最小となる経路を求める問題である。ＴＳＰでは、エッジごとのコストが入力データとして必要であるが、エッジ数は、複数のノードのうちの任意の２点を選択する組み合わせ数（ｎＣ２）であるため、巡回地点が多くなるほど、エッジ数は膨大な数になってしまう。すなわち、エッジのコストとして２地点間の移動時間を、外部の地図情報提供装置（ＡＰＩサーバ等）から取得すると、膨大な回数の問い合わせを必要とするため、問い合わせ先のＡＰＩサーバ等に負荷がかかってしまう。
【０１１２】
そこで、本発明に係る移動時間提供システムによって提供される２地点間の移動時間を、ＴＳＰにおいて入力されるグラフにおけるエッジのコストとして取得する。これにより、ＡＰＩ等のサービスに負荷をかけることなくＴＳＰを解いて、巡回順序を決定することができる。
【０１１３】
上記実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものとする。
【０１１４】
また、上記実施形態に記載した手法は、コンピュータに実行させることができるプログラム（ソフトウエア手段）として、例えば、磁気ディスク（フレキシブルディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ等）、半導体メモリ（ＲＯＭ、ＲＡＭ、フラッシュメモリ等）等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、コンピュータに実行させるソフトウエア手段（実行プログラムのみならずテーブルやデータ構造も含む）をコンピュータ内に構成させる設定プログラムをも含む。本サーバを実現するコンピュータは、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、コンピュータ内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。
【符号の説明】
【０１１５】
１，２，３  移動時間提供システム、１００  ユーザ端末、１１０，３１０，４１０，５１０  通信部、１２０入力部、１３０  出力部、１４０，３２０，４２０，５２０  記憶部、１５０  センサ部、１６０，３３０，４３０  制御部、２００  地図情報提供装置、３００，４００，５００  サーバ装置，５３０  第１推測部、５４０  第２推測部、５５０  選択部、５６０  提供部
【図１】
2020046652.tif 000003
【図２】
2020046652.tif 000004
【図３】
2020046652.tif 000005
【図４】
2020046652.tif 000006
【図５】
2020046652.tif 000007
【図６】
2020046652.tif 000008
【図７】
2020046652.tif 000009
【図８】
2020046652.tif 000010
【図９】
2020046652.tif 000011
【図１０】
2020046652.tif 000012
【図１１】
2020046652.tif 000013
【図１２】
2020046652.tif 000014