JP6562431B1 - Server apparatus, system, method and program - Google Patents

Server apparatus, system, method and program Download PDF

Info

Publication number
JP6562431B1
JP6562431B1 JP2018174394A JP2018174394A JP6562431B1 JP 6562431 B1 JP6562431 B1 JP 6562431B1 JP 2018174394 A JP2018174394 A JP 2018174394A JP 2018174394 A JP2018174394 A JP 2018174394A JP 6562431 B1 JP6562431 B1 JP 6562431B1
Authority
JP
Japan
Prior art keywords
cost
points
nodes
unit
map
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018174394A
Other languages
Japanese (ja)
Other versions
JP2020046894A (en
Inventor
雄紀 吉田
雄紀 吉田
中山 智文
智文 中山
Original Assignee
カラクリ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by カラクリ株式会社 filed Critical カラクリ株式会社
Priority to JP2018174394A priority Critical patent/JP6562431B1/en
Application granted granted Critical
Publication of JP6562431B1 publication Critical patent/JP6562431B1/en
Publication of JP2020046894A publication Critical patent/JP2020046894A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】機械学習による予測を用いて、2地点間の移動に関するコストを提供する。【解決手段】サーバ装置は、地図上の地点に対応する複数のノードと、ノード間を接続するエッジと、各エッジに付加されたコストと、から構成される連結グラフに関するグラフ情報を記憶するグラフ情報記憶部と、複数のノードの中から選択された2つのノード間の予測コストを、グラフ情報に基づいて計算するコスト計算部と、選択された2つのノードに対応する地図上の2地点間の実測コストを取得するコスト取得部と、コスト計算部が計算した予測コストと、コスト取得部が取得した実測コストとを、学習データとして記憶する学習データ記憶部と、学習データに基づいて、予測コストと、実測コストとの関係を学習した学習モデルを生成するモデル生成部と、生成した学習モデルに基づいて、地図上の任意の2地点間のコストを提供するコスト提供部と、を備える。【選択図】図1A cost associated with movement between two points is provided using prediction by machine learning. A server device stores graph information relating to a connected graph composed of a plurality of nodes corresponding to points on a map, edges connecting the nodes, and a cost added to each edge. An information storage unit, a cost calculation unit that calculates a predicted cost between two nodes selected from a plurality of nodes based on graph information, and a point between two points on the map corresponding to the selected two nodes A cost acquisition unit for acquiring the actual measurement cost, a prediction cost calculated by the cost calculation unit, and an actual measurement cost acquired by the cost acquisition unit as a learning data, and a prediction based on the learning data A model generation unit that generates a learning model that learns the relationship between the cost and the actual measurement cost, and a cost between any two points on the map based on the generated learning model. Comprising a cost providing unit for, a. [Selection] Figure 1

Description

本開示は、地図上の2地点間の移動に関するコストを提供するサーバ装置、システム、方法およびプログラムに関する。   The present disclosure relates to a server device, a system, a method, and a program that provide a cost related to movement between two points on a map.

近年、計算資源の技術が発展するとともに、ビッグデータ関連インフラが整備されてきている。膨大なデータを処理するビッグデータ処理基盤の重要な構成要素として、データの背後に潜む法則や知識を導き出す機械学習技術への需要が高まっている。   In recent years, with the development of computing resource technology, big data-related infrastructure has been developed. As an important component of a big data processing platform that processes a huge amount of data, there is an increasing demand for machine learning technology that derives the laws and knowledge lurking behind the data.

また、市場ではITサービスの開発・提供形態やデバイスが変化してきており、公開されたWeb API(Application Programming Interface)を利用し、新たなサービスを短期に、より容易に開発する流れが確立しつつある。例えば、特許文献1には、外部の経路探索エンジンを利用して、所定の順序で3以上の地点を巡回する経路を提案するルート提案装置が開示されている。   In addition, IT service development and provision forms and devices are changing in the market, and the trend to more easily develop new services in the short term using the published Web API (Application Programming Interface) has been established. is there. For example, Patent Document 1 discloses a route proposal device that proposes a route that goes around three or more points in a predetermined order using an external route search engine.

特開2018−72150号公報JP-A-2018-72150

しかしながら、上述のようなWebサービスにおいては、ユーザ端末またはその他のWebサービスを始めとしたクライアントサービスから大量にAPIが実行されるとサーバに負荷がかかってしまうという課題があった。   However, the above-described Web service has a problem that when a large amount of API is executed from a client service such as a user terminal or other Web services, a load is applied to the server.

そこで、本発明は、上記課題に鑑みてなされたものであり、その目的は、機械学習による予測を用いて、2地点間の移動に関するコストを提供するサーバ装置、システム、方法およびプログラムを提供することである。   Therefore, the present invention has been made in view of the above problems, and an object of the present invention is to provide a server device, a system, a method, and a program that provide costs related to movement between two points using prediction by machine learning. That is.

上記目的を達成するため、本開示に係るサーバ装置は、地図上の地点に対応する複数のノードを設定し、複数のノードに対し、コストが付加された、ノード間を接続するエッジを追加して、複数のノードのうちの任意の2点間に経路が存在する連結グラフを生成するグラフ生成部と、複数のノードと、追加したエッジと、各エッジに付加されたコストと、から構成される連結グラフに関するグラフ情報を記憶するグラフ情報記憶部と、複数のノードの中から選択された2つのノード間の予測コストを、グラフ情報に基づいて計算するコスト計算部と、選択された2つのノードに対応する地図上の2地点間の実測コストを取得するコスト取得部と、コスト計算部が計算した予測コストと、コスト取得部が取得した実測コストとを、学習データとして記憶する学習データ記憶部と、学習データに基づいて、予測コストと、実測コストとの関係を学習した学習モデルを生成するモデル生成部と、生成した学習モデルに基づいて、地図上の任意の2地点間のコストとして、当該2地点に対応する連結グラフにおけるノード間のコストを、生成した学習モデルに基づいて提供するコスト提供部と、を備える。 In order to achieve the above object, a server device according to the present disclosure sets a plurality of nodes corresponding to points on a map, and adds edges connecting the nodes to which a cost is added to the plurality of nodes. And a graph generation unit that generates a connected graph in which a path exists between any two points of the plurality of nodes , the plurality of nodes, the added edge, and the cost added to each edge. A graph information storage unit that stores graph information related to a connected graph, a cost calculation unit that calculates a predicted cost between two nodes selected from a plurality of nodes based on the graph information, and two selected The cost acquisition unit that acquires the actual measurement cost between two points on the map corresponding to the node, the predicted cost calculated by the cost calculation unit, and the actual measurement cost acquired by the cost acquisition unit A learning data storage unit that stores data, a model generation unit that generates a learning model that learns the relationship between the predicted cost and the actual measurement cost based on the learning data, and an arbitrary map on the map based on the generated learning model The cost provision part which provides the cost between the nodes in the connection graph corresponding to the said 2 points as a cost between the 2 points based on the generated learning model .

また、上記目的を達成するため、本開示に係るシステムは、地図上の地点に対応する複数のノードを設定し、複数のノードに対し、コストが付加された、ノード間を接続するエッジを追加して、複数のノードのうちの任意の2点間に経路が存在する連結グラフを生成するグラフ生成部と、複数のノードと、追加したエッジと、各エッジに付加されたコストと、から構成される連結グラフに関するグラフ情報を記憶するグラフ情報記憶部と、複数のノードの中から選択された2つのノード間の予測コストを、グラフ情報に基づいて計算するコスト計算部と、選択された2つのノードに対応する地図上の2地点間の実測コストを取得するコスト取得部と、コスト計算部が計算した予測コストと、コスト取得部が取得した実測コストとを、学習データとして記憶する学習データ記憶部と、学習データに基づいて、予測コストと、実測コストとの関係を学習した学習モデルを生成するモデル生成部と、生成した学習モデルに基づいて、地図上の任意の2地点間のコストとして、当該2地点に対応する連結グラフにおけるノード間のコストを、生成した学習モデルに基づいて提供するコスト提供部と、を備える。 In order to achieve the above object, the system according to the present disclosure sets a plurality of nodes corresponding to points on the map, and adds an edge connecting the nodes to each of the plurality of nodes with added cost. And a graph generation unit that generates a connected graph in which a path exists between any two points of the plurality of nodes , the plurality of nodes, the added edge, and the cost added to each edge. A graph information storage unit that stores graph information related to the connected graph, a cost calculation unit that calculates a predicted cost between two nodes selected from a plurality of nodes, based on the graph information, and the selected 2 The cost acquisition unit that acquires the actual measurement cost between two points on the map corresponding to one node, the predicted cost calculated by the cost calculation unit, and the actual measurement cost acquired by the cost acquisition unit As a learning data storage unit, a model generation unit that generates a learning model that learns the relationship between the predicted cost and the actual measurement cost based on the learning data, and an arbitrary map on the map based on the generated learning model The cost provision part which provides the cost between the nodes in the connection graph corresponding to the said 2 points as a cost between the 2 points based on the generated learning model .

また、上記目的を達成するため、本開示に係る方法は、地図上の2地点間のコストを提供するための学習モデルを生成する方法であって、方法は、コンピュータにおいて実行され、コンピュータは、制御部と記憶部とを備え、制御部が、地図上の地点に対応する複数のノードを設定し、複数のノードに対し、コストが付加された、ノード間を接続するエッジを追加して、複数のノードのうちの任意の2点間に経路が存在する連結グラフを生成するステップと、制御部が、複数のノードと、追加したエッジと、各エッジに付加されたコストと、から構成される連結グラフに関するグラフ情報を記憶部に記憶するステップと、制御部が、複数のノードの中から選択された2つのノード間の予測コストを、グラフ情報に基づいて計算するステップと、制御部が、選択された2つのノードに対応する地図上の2地点間の実測コストを取得するステップと、制御部が、計算した予測コストと、取得した実測コストとを、学習データとして記憶部に記憶するステップと、制御部が、学習データに基づいて、予測コストと、実測コストとの関係を学習した学習モデルを生成するステップと、を備える。

In order to achieve the above object, a method according to the present disclosure is a method for generating a learning model for providing a cost between two points on a map, the method being executed in a computer, A control unit and a storage unit are provided, and the control unit sets a plurality of nodes corresponding to points on the map, and adds an edge connecting the nodes to which the cost is added to the plurality of nodes, The step of generating a connected graph in which a path exists between any two points of the plurality of nodes , and the control unit are configured by the plurality of nodes, the added edge, and the cost added to each edge. and storing the graph data in the storage unit about the connection graph that the steps of the control unit, the estimated cost of between two nodes selected from among a plurality of nodes is calculated based on the graph information Control unit, acquiring a measured cost between two points on the map corresponding to the two nodes that are selected, the control unit, and the calculated estimated cost, the actual cost of the acquired storage unit as learning data And a step of generating a learning model in which the control unit learns the relationship between the prediction cost and the actual measurement cost based on the learning data.

また、上記目的を達成するため、本開示に係るプログラムは、地図上の2地点間のコストを提供するための学習モデルを生成するプログラムであって、上記方法をコンピュータに実行させる。   Moreover, in order to achieve the said objective, the program which concerns on this indication is a program which produces | generates the learning model for providing the cost between two points on a map, Comprising: Let the computer perform the said method.

本開示によれば、機械学習による予測を用いて、2地点間の移動に関するコストを提供することができる。   According to the present disclosure, it is possible to provide a cost related to movement between two points using prediction by machine learning.

2地点間の移動時間提供システム1の構成図である。It is a block diagram of the travel time provision system 1 between two points. ユーザ端末100の機能構成の一例を示す機能ブロック図である。3 is a functional block diagram illustrating an example of a functional configuration of a user terminal 100. FIG. サーバ装置300の機能構成の一例を示す機能ブロック図である。3 is a functional block diagram illustrating an example of a functional configuration of a server device 300. FIG. 地図40におけるグラフ情報の簡単な例を示す図である。It is a figure which shows the simple example of the graph information in the map. 制御部330において学習モデルを生成する処理を示すフローチャートである。5 is a flowchart illustrating processing for generating a learning model in a control unit 330. 制御部330において学習モデルに基づいて2地点間の移動時間を提供する処理を示すフローチャートである。It is a flowchart which shows the process which provides the movement time between two points based on a learning model in the control part. 地図上の地点に対応するノードの具体例を示す図である。It is a figure which shows the specific example of the node corresponding to the point on a map. 図7のノードに対し、ドロネー三角形分割を適用した図である。FIG. 8 is a diagram in which Delaunay triangulation is applied to the node in FIG. 7. 回帰式の例を示す図である。It is a figure which shows the example of a regression equation. サーバ装置400の機能構成の一例を示す機能ブロック図である。3 is a functional block diagram illustrating an example of a functional configuration of a server device 400. FIG. 地図上の任意の2地点を選択する処理を説明する図である。It is a figure explaining the process which selects two arbitrary points on a map. サーバ装置500の機能構成の一例を示す機能ブロック図である。3 is a functional block diagram illustrating an example of a functional configuration of a server device 500. FIG.

以下、本開示の実施形態について図面を参照して説明する。実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。なお、以下の実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。   Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In all the drawings for explaining the embodiments, common constituent elements are denoted by the same reference numerals, and repeated explanation is omitted. The following embodiments do not unduly limit the contents of the present disclosure described in the claims. In addition, all the components shown in the embodiments are not necessarily essential components of the present disclosure.

<実施形態1>
図1は、2地点間の移動時間提供システム1の構成図である。図1を参照して、実施形態1に係るシステムの構成について説明する。
<Embodiment 1>
FIG. 1 is a configuration diagram of a travel time providing system 1 between two points. With reference to FIG. 1, the configuration of the system according to the first embodiment will be described.

<移動時間提供システム1の概要>
本実施形態に係るシステムは、地図上の2地点間の移動に関する移動時間を提供するシステムである。
<Outline of travel time providing system 1>
The system which concerns on this embodiment is a system which provides the movement time regarding the movement between two points on a map.

近年、物流システム等で配送計画を立案する際に、地図上の2地点間の移動時間を提供するWeb API等により、ユーザは配送先までの移動時間を取得できるようになった。しかしながら、そのようなWebサービスにおいては、クライアントからの大量の問い合せがあると、APIサーバへ負荷がかかってしまい、APIの利用が制限されてしまうというという課題がある。例えば、単位時間当たりの制限回数を超えると一定時間APIの利用が禁止されたり、利用回数に応じて課金されたりするため、配送計画の立案のたびにAPIを利用することは、実用的ではない場合がある。   In recent years, when planning a delivery plan in a logistics system or the like, a user can acquire a travel time to a delivery destination by a Web API that provides travel time between two points on a map. However, in such a Web service, there is a problem that if there is a large amount of inquiries from clients, a load is applied to the API server, and the use of the API is limited. For example, if the limit number of times per unit time is exceeded, the use of the API for a certain period of time is prohibited or charged according to the number of uses. Therefore, it is not practical to use the API every time a delivery plan is made. There is a case.

そこで、本実施形態に係る移動時間提供システム1は、機械学習を用いて2地点間の移動時間を提供する。具体的には、移動時間提供システム1は、組み合わせ最適化問題に基づいて計算された2地点間の移動時間と、外部の地図情報提供装置(APIサーバ等)から取得した、実測された2地点間の移動時間との関係を学習した学習モデルを生成し、当該学習モデルに基づいて、地図上の2地点間の移動時間を提供する。   Therefore, the travel time providing system 1 according to the present embodiment provides the travel time between two points using machine learning. Specifically, the travel time providing system 1 includes two travel points calculated based on the combination optimization problem and two actually measured points acquired from an external map information providing device (API server or the like). A learning model that learns the relationship with the travel time between is generated, and the travel time between two points on the map is provided based on the learning model.

すなわち、移動時間提供システム1では、学習モデルを生成する際にのみAPIサーバを利用するので、APIサーバの負荷を軽減させつつ、精度の高い2地点間の移動時間を提供することができる。また、ユーザは、API等のサービスの利用制限を気にすることなく、2地点間の移動時間を取得することができ、配送計画等の立案が容易に行えるようになる。   That is, since the travel time providing system 1 uses the API server only when generating the learning model, it is possible to provide the travel time between two points with high accuracy while reducing the load on the API server. In addition, the user can acquire the travel time between two points without worrying about restrictions on the use of services such as APIs, and can easily make a delivery plan and the like.

<移動時間提供システム1の構成>
図1において、移動時間提供システム1は、ユーザ端末100と、地図情報提供装置200と、サーバ装置300と、を備え、ネットワークNWを介して通信可能に接続される。ネットワークNWは、WAN(World Area Network)、LAN(Local Area Network)等から構成される。
<Configuration of travel time providing system 1>
In FIG. 1, the travel time providing system 1 includes a user terminal 100, a map information providing device 200, and a server device 300, which are communicably connected via a network NW. The network NW includes a WAN (World Area Network), a LAN (Local Area Network), and the like.

図1ではユーザ端末100を1つのみ示すが、本実施形態においては、移動時間提供システム1は、ユーザ毎にそれぞれ保有する複数のユーザ端末100を含んでいる。   Although only one user terminal 100 is shown in FIG. 1, in this embodiment, the travel time providing system 1 includes a plurality of user terminals 100 that are held for each user.

地図情報提供装置200は、地図情報を提供するサーバ装置である。ここで、「地図情報」とは、地図を提示するための地理的情報であり、具体的には、店舗、住宅等を含む各種の位置の特定に必要な地図データ(例えば、緯度、経度など)である。また、地図情報提供装置200は、地図情報に基づいて、地図上の任意の2地点間のコストを提供することができる。ここで、「コスト」とは、2地点間に定義される値であって、例えば、2地点間の距離や、2地点間を移動するのに要する移動時間、消費燃料量、交通費などである。以下、本明細書では、2地点間のコストを、2地点間を移動するのに要する移動時間として説明する。2地点間の移動時間は、実測値に基づいて提供されることが好ましいが、公知の経路探索演算を実行することによって求まる近似値など実測値との誤差が保証された値に基づいて提供されてもよい。なお、地図情報提供装置200は、例えば、外部の経路探索エンジンやAPIサーバであるが、地図上の任意の2地点間の移動時間を提供する装置であれば、これに限られない。   The map information providing apparatus 200 is a server apparatus that provides map information. Here, “map information” is geographical information for presenting a map, and specifically, map data (for example, latitude, longitude, etc.) necessary for specifying various positions including stores, houses, etc. ). Further, the map information providing apparatus 200 can provide the cost between any two points on the map based on the map information. Here, “cost” is a value defined between two points. For example, the distance between two points, the travel time required to move between two points, the amount of fuel consumed, the transportation cost, etc. is there. Hereinafter, in this specification, the cost between two points will be described as the travel time required to move between the two points. The travel time between the two points is preferably provided based on an actual measurement value, but is provided based on a value in which an error from the actual measurement value is guaranteed, such as an approximate value obtained by executing a known route search calculation. May be. The map information providing apparatus 200 is, for example, an external route search engine or an API server. However, the map information providing apparatus 200 is not limited to this as long as the apparatus provides a travel time between any two points on the map.

ユーザ端末100は、ユーザが保有する情報処理端末であり、ユーザから受け付けた地図上の2地点についての移動時間をサーバ装置300へ問い合わせる。例えば、ユーザ端末100は、地図情報提供装置200から地図情報を取得し、地図上の2地点を選択する。そして、選択した2地点間の移動時間についてサーバ装置300へ問い合わせる。   The user terminal 100 is an information processing terminal held by the user, and inquires the server device 300 about the travel time for two points on the map received from the user. For example, the user terminal 100 acquires map information from the map information providing apparatus 200 and selects two points on the map. Then, the server apparatus 300 is inquired about the travel time between the two selected locations.

サーバ装置300は、地図上の2地点間の移動時間を提供するサーバ装置であって、ユーザ端末100からの問い合せに対して、2地点間の移動時間を提供する。具体的には、サーバ装置300は、組み合わせ最適化問題に基づいて計算された2地点間の移動時間と、地図情報提供装置100から取得した、2地点間の実測された移動時間との関係を学習した学習モデルを生成する。そして、当該学習モデルに基づいて、地図上の2地点間の移動時間を提供する。   The server device 300 is a server device that provides the travel time between two points on the map, and provides the travel time between the two points in response to an inquiry from the user terminal 100. Specifically, the server device 300 calculates the relationship between the travel time between two points calculated based on the combination optimization problem and the measured travel time between the two points acquired from the map information providing device 100. Generate a learned learning model. And based on the said learning model, the travel time between two points on a map is provided.

以上のように、本実施形態において、サーバ装置300は、ユーザ端末100からの問い合せに応じて、2地点間の移動時間を提供する。これにより、ユーザは、API等のサービスの利用回数を気にすることなく、2地点間の移動時間を取得することができる。   As described above, in the present embodiment, the server device 300 provides the travel time between two points in response to an inquiry from the user terminal 100. Thereby, the user can acquire the travel time between two points without worrying about the number of times the service such as API is used.

なお、本実施形態では、「サーバ」とは、1つの情報処理装置(すなわち、サーバ装置)を指す他、サーバが複数のサーバ装置によって構成される場合にはサーバ装置群(すなわち、サーバシステム)全体を指す意味である。また、本実施形態においては、サーバ装置300を一体的な構成として説明するが、サーバ装置300は、機能および/または役割に応じて分けられた複数のサーバ装置を含む構成であってもよい。例えば、サーバ装置300は、ユーザ端末100や地図情報提供装置200から取得されるデータを記憶するデータサーバと、学習モデルに基づいて2地点間の移動時間を提供するサービスサーバとを含む構成であってもよい。さらに、サーバ装置300は、移動時間の提供とともに課金を行うショップサーバを含む構成であってもよい。   In the present embodiment, the “server” refers to one information processing apparatus (that is, a server apparatus), and when the server is configured by a plurality of server apparatuses, a server apparatus group (that is, a server system). It means the whole thing. In the present embodiment, the server apparatus 300 is described as an integral configuration. However, the server apparatus 300 may include a plurality of server apparatuses that are divided according to functions and / or roles. For example, the server device 300 includes a data server that stores data acquired from the user terminal 100 and the map information providing device 200, and a service server that provides a travel time between two points based on a learning model. May be. Furthermore, the server apparatus 300 may be configured to include a shop server that performs billing while providing travel time.

図2は、ユーザ端末100の機能構成の一例を示す機能ブロック図である。なお、本実施形態のユーザ端末100は、図2の構成要素(各部)の一部を省略した構成としてもよい。   FIG. 2 is a functional block diagram illustrating an example of a functional configuration of the user terminal 100. Note that the user terminal 100 of the present embodiment may have a configuration in which some of the components (each unit) in FIG. 2 are omitted.

ユーザ端末100は、情報処理装置であり、本実施形態においては、例えば、スマートフォン、フィーチャーフォン、タブレット型コンピュータ、ラップトップ型コンピュータ、デスクトップ型コンピュータ、スマートグラスやヘッドマウントディスプレイ等のウェアラブル端末、又は、情報処理機能を備えた多機能型テレビジョン受像機(スマートテレビ)等の多機能デバイスである。   The user terminal 100 is an information processing apparatus, and in this embodiment, for example, a smartphone, a feature phone, a tablet computer, a laptop computer, a desktop computer, a wearable terminal such as a smart glass or a head-mounted display, or It is a multifunction device such as a multifunction television receiver (smart television) having an information processing function.

すなわち、ユーザ端末100は、一般的な多機能デバイスが有する各種の機能(例えば、入力機能、出力(表示)機能、情報処理機能、ネットワーク通信機能、センサ機能、通話機能、カメラ機能等)を有している。   That is, the user terminal 100 has various functions (for example, an input function, an output (display) function, an information processing function, a network communication function, a sensor function, a call function, a camera function, etc.) that a general multifunction device has. doing.

なお、ネットワーク通信機能は、インターネット等を介した通信機能、および/または、モバイル通信網を介した通信機能である。ユーザ端末100は、既製の多機能デバイスに所定の機能をインストールすることで実現されてもよい。本実施形態において、ユーザ端末100は、上記多機能デバイスとして用いられることに加えて、上記2地点間の移動時間を取得するために用いられる。   The network communication function is a communication function via the Internet or the like and / or a communication function via a mobile communication network. The user terminal 100 may be realized by installing a predetermined function in an off-the-shelf multifunction device. In the present embodiment, the user terminal 100 is used to acquire the travel time between the two points in addition to being used as the multifunction device.

ユーザ端末100は、通信部110と、入力部120と、出力部130と、記憶部140と、センサ部150と、制御部160と、を備える。   The user terminal 100 includes a communication unit 110, an input unit 120, an output unit 130, a storage unit 140, a sensor unit 150, and a control unit 160.

通信部110は、ネットワークNWに接続された装置と通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。   The communication unit 110 performs various controls for communicating with a device connected to the network NW, and the function can be realized by hardware such as various processors or a communication ASIC, a program, or the like.

入力部120は、ユーザからの入力を受け付けるためのインターフェイスであり、ユーザの入力を制御部160に送る。入力部120は、例えば、タッチパネルやボタン、マイク、コントローラである。なお、後述するセンサ部150が検知したセンシングデータをユーザからの入力としてもよい。例えば、ユーザは、タッチパネルに表示された地図情報を確認し、地図上の点をタップするなどして、地図上の2地点を指定することができる。   The input unit 120 is an interface for receiving input from the user, and sends the user input to the control unit 160. The input unit 120 is, for example, a touch panel, a button, a microphone, or a controller. Sensing data detected by the sensor unit 150 described later may be input from the user. For example, the user can specify two points on the map by confirming the map information displayed on the touch panel and tapping a point on the map.

出力部130は、例えば、ディスプレイ等の表示装置やスピーカなどのオーディオ出力装置であり、入力部120に対する入力に応じてユーザ端末100において生成される各種の画像や音声を表示、出力したり、ネットワークNWを介して通信部110が受信したデータに基づく各種の画像や音声を表示、出力したりする。出力部130は、人工知能搭載型スピーカ(スマートスピーカ)を含む。   The output unit 130 is, for example, a display device such as a display or an audio output device such as a speaker. The output unit 130 displays and outputs various images and sounds generated in the user terminal 100 in response to an input to the input unit 120, or a network. Various images and sounds based on data received by the communication unit 110 via the NW are displayed and output. The output unit 130 includes an artificial intelligence-equipped speaker (smart speaker).

記憶部140は、コンピュータを機能させるためのプログラムや各種データを記憶するための記憶装置である。例えば、記憶部140には、地図情報提供装置200から送信された地図情報(不図示)が記憶される。なお、記憶部140は、一時的な記憶領域や、ストレージを含んでもよい。   The storage unit 140 is a storage device for storing a program for causing a computer to function and various data. For example, the storage unit 140 stores map information (not shown) transmitted from the map information providing apparatus 200. Note that the storage unit 140 may include a temporary storage area or storage.

センサ部150は、ユーザ端末100の種々の状態を検知する各種機器である。センサ部150は、例えば、端末自体の姿勢や傾きを検知する姿勢センサ(加速度センサやジャイロセンサ)、ユーザの視線方向を検知する注視センサや、周囲の明るさを検知する光センサ、ユーザの動作を検知する赤外線センサである。また、センサ部150は、ユーザ端末100の周囲の音を収集するマイクロフォンや、ユーザ端末100の周囲の湿度を検知する湿度センサや、ユーザ端末100の所在位置における磁場を検知する地磁気センサ等であってもよい。   The sensor unit 150 is various devices that detect various states of the user terminal 100. The sensor unit 150 is, for example, a posture sensor (acceleration sensor or gyro sensor) that detects the posture or inclination of the terminal itself, a gaze sensor that detects the direction of the user's line of sight, an optical sensor that detects ambient brightness, and a user's operation. It is an infrared sensor that detects The sensor unit 150 is a microphone that collects sound around the user terminal 100, a humidity sensor that detects humidity around the user terminal 100, a geomagnetic sensor that detects a magnetic field at the location of the user terminal 100, and the like. May be.

また、センサ部150は、上記のセンサ機能を用いて、種々の情報を検知するようにしてもよい。例えば、センサ部150は、加速度センサの機能を用いて、ユーザ端末100を保有するユーザの歩行数を検知してもよい。また、センサ部150は、加速度センサの機能を用いて、ユーザ端末100が動作しているか、静止しているか、などを示す動作情報を一定時間ごとや、ユーザ端末100が動作したタイミングごとに検知してもよい。センサ部150は、上述のように検知したセンシングデータを制御部160へ送る。   Further, the sensor unit 150 may detect various information using the sensor function described above. For example, the sensor unit 150 may detect the number of walks of the user who owns the user terminal 100 using the function of the acceleration sensor. In addition, the sensor unit 150 detects the operation information indicating whether the user terminal 100 is operating or stationary using a function of the acceleration sensor at every predetermined time or every timing when the user terminal 100 is operated. May be. The sensor unit 150 sends the sensing data detected as described above to the control unit 160.

なお、センサ部150は、腕時計型、指輪型の端末のように、ユーザ端末100と通信可能に接続される、ユーザに装着可能な情報処理端末(いわゆるウェアラブル端末)であってもよい。   Note that the sensor unit 150 may be an information processing terminal (so-called wearable terminal) that can be worn by a user and connected to the user terminal 100 such as a wristwatch type or a ring type terminal.

制御部160は、ユーザ端末100において実行される各種の情報処理を実行する。制御部160は、CPU(Central Processing Unit)およびメモリを有する。ユーザ端末100においては、CPUがメモリを用いて、記憶部140に記憶された情報処理プログラムを実行することによって上記各種の情報処理が実行される。本実施形態においては、制御部160は、上記情報処理として、地図情報提供装置200から地図情報を取得する処理や、ユーザから地図上の2地点を受け付け、当該2地点間の移動時間をサーバ装置300に問い合わせる処理等を実行する。また、ユーザ端末100が多機能デバイスとして動作する場合、制御部160は、各機能を実現するための情報処理を実行する。   The control unit 160 executes various types of information processing executed on the user terminal 100. The control unit 160 includes a CPU (Central Processing Unit) and a memory. In the user terminal 100, the CPU executes various information processes by executing an information processing program stored in the storage unit 140 using a memory. In the present embodiment, the control unit 160 receives, as the information processing, processing for acquiring map information from the map information providing apparatus 200 or two points on the map from the user, and determines the travel time between the two points as a server device. Processing for inquiring 300 is executed. When the user terminal 100 operates as a multifunction device, the control unit 160 executes information processing for realizing each function.

図3は、実施形態1に係るサーバ装置300の機能構成の一例を示す機能ブロック図である。なお、本実施形態のサーバ装置300は、図3の構成要素(各部)の一部を省略した構成としてもよい。   FIG. 3 is a functional block diagram illustrating an example of a functional configuration of the server apparatus 300 according to the first embodiment. Note that the server device 300 of the present embodiment may have a configuration in which some of the components (each unit) in FIG. 3 are omitted.

サーバ装置300は、通信部310と、記憶部320と、制御部330と、を備える。   The server device 300 includes a communication unit 310, a storage unit 320, and a control unit 330.

通信部310は、ネットワークNWに接続される装置と通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。   The communication unit 310 performs various controls for communicating with a device connected to the network NW, and the function can be realized by hardware such as various processors or a communication ASIC, a program, or the like.

記憶部320は、コンピュータを機能させるためのプログラムや各種データを記憶するための記憶装置である。記憶部320は、地図情報321と、グラフ情報322と、学習データ323と、学習モデル324と、を含む。これらについては、後述する。   The storage unit 320 is a storage device for storing a program for causing a computer to function and various data. The storage unit 320 includes map information 321, graph information 322, learning data 323, and a learning model 324. These will be described later.

制御部330は、サーバ装置300において実行される各種の情報処理を実行する。制御部330は、CPUおよびメモリを有し、CPUがメモリを用いて、記憶部320に記憶された情報処理プログラムを実行することによって各種の情報処理が実行される。本実施形態においては、制御部330は、上記情報処理として、移動時間に関する学習モデルを生成し、当該学習モデルに基づいて2地点間の移動時間を算出する処理を実行する。算出された移動時間は、ユーザ端末100に送信される。   The control unit 330 executes various types of information processing executed in the server device 300. The control unit 330 includes a CPU and a memory, and various information processing is executed by the CPU executing an information processing program stored in the storage unit 320 using the memory. In the present embodiment, as the information processing, the control unit 330 generates a learning model related to travel time, and executes processing for calculating travel time between two points based on the learning model. The calculated travel time is transmitted to the user terminal 100.

制御部330は、取得部331と、グラフ生成部332と、時間計算部333と、モデル生成部334と、時間提供部335と、を含む。   The control unit 330 includes an acquisition unit 331, a graph generation unit 332, a time calculation unit 333, a model generation unit 334, and a time provision unit 335.

取得部331は、通信部310を介して、地図情報提供装置200から地図データを取得する。そして、取得した地図データを記憶部320の地図情報321に格納する。   The acquisition unit 331 acquires map data from the map information providing apparatus 200 via the communication unit 310. Then, the acquired map data is stored in the map information 321 of the storage unit 320.

グラフ生成部332は、地図情報321に基づいて、連結グラフを生成し、記憶部320のグラフ情報322に格納する。具体的には、グラフ生成部332は、地図上の地点に対応する複数のノードを設定する。そして、グラフ生成部332は、設定した複数のノードに対し、ノード間を接続するエッジを追加して、任意の2点間にパス(経路)が存在する連結グラフを生成する。例えば、ドロネー三角形分割法を利用して連結グラフを生成してもよい。なお、生成するグラフは有向グラフであっても、無向グラフであってもよい。   The graph generation unit 332 generates a connected graph based on the map information 321 and stores it in the graph information 322 of the storage unit 320. Specifically, the graph generation unit 332 sets a plurality of nodes corresponding to points on the map. Then, the graph generation unit 332 generates a connected graph in which a path (route) exists between any two points by adding an edge connecting the nodes to the set plurality of nodes. For example, a connected graph may be generated using Delaunay triangulation. The generated graph may be a directed graph or an undirected graph.

ノードに対応させる地図上の地点は、例えば、住宅、施設、配送拠点、交差点などであってもよい。また、地図をグリッド状に分割し、分割した領域における代表地点(領域の中央に位置する地点や、当該領域における人口密集地点など)を地図上の地点としてもよい。   The points on the map corresponding to the nodes may be, for example, houses, facilities, delivery bases, intersections, and the like. Further, the map may be divided into grids, and representative points in the divided areas (points located in the center of the area, population-populated points in the area, etc.) may be used as points on the map.

また、グラフ生成部332は、各エッジに対して移動時間(コスト)を付加する。具体的には、グラフ生成部332は、エッジが接続するノードに対応する地点間の移動時間を地図情報提供装置200から取得し、エッジと対応させてグラフ情報322に格納する。すなわち、グラフ情報322は、グラフ情報記憶部として機能し、地図上の地点に対応する複数のノードと、複数のノードのうちの2つのノードを接続するエッジと、当該エッジが接続するノード間の移動時間と、から構成される連結グラフの情報や、ノードと地図上の地点との対応関係等が格納される。   In addition, the graph generation unit 332 adds a movement time (cost) to each edge. Specifically, the graph generation unit 332 acquires the travel time between points corresponding to the node to which the edge is connected from the map information providing apparatus 200 and stores it in the graph information 322 in association with the edge. That is, the graph information 322 functions as a graph information storage unit, and includes a plurality of nodes corresponding to points on the map, an edge connecting two nodes among the plurality of nodes, and a node to which the edge connects. Information on the connected graph composed of the travel time, the correspondence between the nodes and points on the map, and the like are stored.

時間計算部333は、コスト計算部として機能し、グラフ情報322に基づいた最適化問題を解くことで、連結グラフの任意の2点間の最短の移動時間(予測コスト)を計算する。具体的には、例えば、最短路問題を解く代表的な手法であるダイクストラ法(Dijkstra's algorithm)により、2点間の最短路の移動時間を求める。なお、ダイクストラ法以外にも、公知の手法により最短路問題を解いて移動時間を求めてもよい。   The time calculation unit 333 functions as a cost calculation unit, and calculates the shortest travel time (predicted cost) between any two points in the connected graph by solving an optimization problem based on the graph information 322. Specifically, for example, the travel time of the shortest path between two points is obtained by the Dijkstra's algorithm, which is a typical technique for solving the shortest path problem. In addition to the Dijkstra method, the travel time may be obtained by solving the shortest path problem by a known method.

一方、上述の取得部331は、コスト取得部としても機能し、時間計算部333が計算した最短路の始点と終点に対応する地図上の2地点間の実測された移動時間(実測コスト)を地図情報提供装置200から取得する。   On the other hand, the acquisition unit 331 described above also functions as a cost acquisition unit, and calculates the actual travel time (measurement cost) between two points on the map corresponding to the start point and end point of the shortest path calculated by the time calculation unit 333. Obtained from the map information providing apparatus 200.

そして、取得部331は、連結グラフの任意の2点間について、時間計算部333が計算した移動時間と、上記実測された移動時間とを対にして、学習データとして、記憶部320の学習データ323に格納する。すなわち、学習データ323は、学習データ記憶部として機能する。   And the acquisition part 331 makes the learning data of the memory | storage part 320 into learning data by making the movement time which the time calculation part 333 calculated | required and the said measured movement time between two arbitrary points of a connection graph as a pair. Stored in H.323. That is, the learning data 323 functions as a learning data storage unit.

モデル生成部334は、学習データ323に基づいて、時間計算部333が計算した移動時間と、取得部331が取得した実測された移動時間との関係を学習した学習モデルを生成し、記憶部320の学習モデル324に格納する。具体的には、モデル生成部334は、計算した移動時間と実測された移動時間との関係を回帰分析により機械学習する。回帰する方法は、例えば、線形回帰、多項式回帰やロジスティック回帰など、公知の手法を用いることができるため、詳細な説明は省略する。   Based on the learning data 323, the model generation unit 334 generates a learning model in which the relationship between the travel time calculated by the time calculation unit 333 and the actually measured travel time acquired by the acquisition unit 331 is learned, and the storage unit 320. Are stored in the learning model 324. Specifically, the model generation unit 334 performs machine learning on the relationship between the calculated travel time and the actually measured travel time by regression analysis. As the regression method, for example, a well-known method such as linear regression, polynomial regression, or logistic regression can be used, and thus detailed description thereof is omitted.

時間提供部335は、コスト提供部として機能し、モデル生成部334が生成した学習モデル324に基づいて、問い合わされた地図上の2地点間の移動時間を提供する。具体的には、取得部331は、ユーザ端末100により問い合わされた地図上の2地点に対応するノードの情報をグラフ情報322に基づいて取得する。例えば、問い合わされた地点の近く(所定の距離以内)に設定されたノードを、問い合わされた地点に対応するノードとする。次いで、時間計算部333は、当該取得したノード間について、最短路問題を解いて、移動時間を計算する。そして、時間提供部335は、計算された移動時間を学習モデル324に格納された回帰式により補正し、2地点間の移動時間として提供する。   The time providing unit 335 functions as a cost providing unit, and provides the travel time between two points on the inquired map based on the learning model 324 generated by the model generating unit 334. Specifically, the acquisition unit 331 acquires information on nodes corresponding to two points on the map inquired by the user terminal 100 based on the graph information 322. For example, a node set near the inquired point (within a predetermined distance) is set as a node corresponding to the inquired point. Next, the time calculation unit 333 calculates a travel time by solving the shortest path problem between the acquired nodes. And the time provision part 335 correct | amends the calculated moving time with the regression type stored in the learning model 324, and provides it as the moving time between two points.

本実施形態では、地図上のエリアを連結グラフによって表し、地図上の2地点間の移動時間を、連結グラフに基づいて計算された移動時間を学習モデルにより補正して提供する。すなわち、地図情報提供装置200に対しては、学習モデルを生成する際にのみ、2地点間の移動時間を取得すればよい。これにより、ユーザ端末100から地図情報提供装置200への2地点間の移動時間の問い合せが集中することを抑制することができる。   In this embodiment, an area on a map is represented by a connection graph, and a movement time between two points on the map is provided by correcting the movement time calculated based on the connection graph by a learning model. That is, it is only necessary to acquire the travel time between two points for the map information providing apparatus 200 only when generating the learning model. Thereby, it can suppress that the inquiry of the travel time between two points from the user terminal 100 to the map information provision apparatus 200 concentrates.

なお、学習データとして記憶する実測時間は、問い合わせへの回答を受けて実際にユーザが移動した後に、当該移動に要した時間をユーザ端末100のセンサ部150でセンシングしたデータに基づいて収集し、学習モデルを更新するようにしてもよい。   Note that the actual measurement time stored as learning data is collected based on the data sensed by the sensor unit 150 of the user terminal 100 after the user has actually moved in response to an inquiry, The learning model may be updated.

図4は、地図40におけるグラフ情報の簡単な例を示す図である。図5は、制御部330において学習モデルを生成する処理を示すフローチャートである。図6は、制御部330において学習モデルに基づいて2地点間の移動時間を提供する処理を示すフローチャートである。図4および図5を参照して、上述した学習モデルの生成について具体的に説明する。また、図4および図6を参照して、学習モデルに基づいた2地点間の移動時間の提供について具体的に説明する。   FIG. 4 is a diagram illustrating a simple example of graph information in the map 40. FIG. 5 is a flowchart showing processing for generating a learning model in the control unit 330. FIG. 6 is a flowchart showing a process of providing the travel time between two points based on the learning model in the control unit 330. With reference to FIG. 4 and FIG. 5, the generation of the learning model described above will be specifically described. Moreover, with reference to FIG. 4 and FIG. 6, provision of the travel time between two points based on a learning model is demonstrated concretely.

ステップS501において、取得部331は、地図情報提供装置200から地図40を示すための地図情報を取得する。   In step S <b> 501, the acquisition unit 331 acquires map information for indicating the map 40 from the map information providing apparatus 200.

ステップS502において、グラフ生成部332は、グラフを生成する。具体的には、グラフ生成部332は、まず、地図40における地点に対応する複数のノードを設定する。図4の例では、地図40において、住宅Aに対応するノードv1、住宅Bに対応するノードv2、駅Cに対応するノードv3、施設Bに対応するノードv4、施設Aに対応するノードv5、住宅Cに対応するノードv6を設定する。グラフ生成部332は、例えば、ユーザ端末100やシステムの開発者等から指定された地点に対応してノードを設定する。そして、グラフ生成部332は、ノードv1〜v6に対し、ドロネー三角形分割を利用して、連結グラフG(以下、グラフGと記載する。)を生成する。連結グラフとは、任意の2つのノード間にパス(経路)が存在するグラフであり、図4に示すように、任意の2つのノード間には、一方を始点、他方を終点とするパスが少なくとも一つ存在している。   In step S502, the graph generation unit 332 generates a graph. Specifically, the graph generation unit 332 first sets a plurality of nodes corresponding to points on the map 40. In the example of FIG. 4, in the map 40, the node v1 corresponding to the house A, the node v2 corresponding to the house B, the node v3 corresponding to the station C, the node v4 corresponding to the facility B, the node v5 corresponding to the facility A, A node v6 corresponding to the house C is set. For example, the graph generation unit 332 sets a node corresponding to a point designated by the user terminal 100 or the system developer. And the graph production | generation part 332 produces | generates the connection graph G (henceforth graph G) using Delaunay triangulation with respect to the nodes v1-v6. A connected graph is a graph in which a path (route) exists between any two nodes. As shown in FIG. 4, there is a path between one arbitrary node and one of which is a start point and the other is an end point. There is at least one.

また、グラフ生成部332は、ノードを接続するエッジに、ノード間の移動に要する時間(コスト)を付加する。移動時間は、地図情報提供装置200から取得する。例えば、ノードv1とv2を接続するエッジに対し、コストc1を付加する。コストは、具体的には、住宅Aから住宅B(または住宅Bから住宅A)へ移動するのにかかる時間であって、例えば、10分などの時間長である。   Further, the graph generation unit 332 adds time (cost) required for movement between nodes to the edge connecting the nodes. The travel time is acquired from the map information providing apparatus 200. For example, the cost c1 is added to the edge connecting the nodes v1 and v2. Specifically, the cost is the time taken to move from the house A to the house B (or from the house B to the house A), and is a time length of, for example, 10 minutes.

グラフ生成部332は、ノード、エッジ、およびノードとエッジの接続関係、エッジに付加されたコスト、ノードと地図上の地点との対応関係などのグラフGに関する情報をグラフ情報322に格納する。   The graph generation unit 332 stores in the graph information 322 information about the graph G such as nodes, edges, node-to-edge connection relationships, costs added to the edges, and correspondence relationships between nodes and points on the map.

ステップS503において、時間計算部333は、グラフGにおける任意の2点を選択し、当該2点間の最短の移動時間を計算する。時間計算部333は、例えば、ダイクストラ法を用いてノードv2からv6への最短路を求め、移動時間を算出する。ノードv2からv6へのパスは、パス1(v2→v1→v6)、パス2(v2→v5→v6)、パス3(v2→v3→v4→v6)、・・・など複数存在するが、ダイクストラ法により、パス2が最短路として求められた場合、その移動時間は(c5+c10)となる。なお、ダイクストラ法は公知のアルゴリズムであるので、詳細な説明は省略する。時間計算部333は、機械学習のための学習データとして十分な程度に、グラフGにおける任意の2点を選択し、当該2点間の移動時間を算出する。   In step S503, the time calculation unit 333 selects two arbitrary points in the graph G, and calculates the shortest movement time between the two points. For example, the time calculation unit 333 calculates the travel time by obtaining the shortest path from the node v2 to v6 using the Dijkstra method. There are a plurality of paths from the node v2 to v6, such as path 1 (v2 → v1 → v6), path 2 (v2 → v5 → v6), path 3 (v2 → v3 → v4 → v6), and so on. When the path 2 is obtained as the shortest path by the Dijkstra method, the travel time is (c5 + c10). The Dijkstra method is a well-known algorithm and will not be described in detail. The time calculation unit 333 selects two arbitrary points in the graph G to a degree sufficient as learning data for machine learning, and calculates the movement time between the two points.

ステップS504において、取得部331は、時間計算部333が選択した任意の2点間について、地図上の対応する2地点間の実測された移動時間を取得する。具体的には、取得部331は、例えば、時間計算部333が選択したノードv2とv6について、地図上の対応する地点である住宅Bから住宅Cへの移動時間を、地図情報提供装置200から取得する。ここで、取得部331が取得した移動時間は、住宅Bから住宅Cへ実際に移動するのに要する時間(実測値)である。一方、時間計算部333が計算した移動時間は、住宅Bに対応するノードv2から、住宅Cに対応するノードv6へのグラフGにおける最短路のコスト(予測値)である。   In step S504, the acquisition unit 331 acquires the actually measured travel time between two corresponding points on the map for any two points selected by the time calculation unit 333. Specifically, the acquisition unit 331, for example, for the nodes v2 and v6 selected by the time calculation unit 333, the travel time from the house B, which is a corresponding point on the map, to the house C is obtained from the map information providing apparatus 200. get. Here, the travel time acquired by the acquisition unit 331 is the time (actually measured value) required to actually move from the house B to the house C. On the other hand, the travel time calculated by the time calculation unit 333 is the cost (predicted value) of the shortest path in the graph G from the node v2 corresponding to the house B to the node v6 corresponding to the house C.

ステップS505において、取得部331は、上述の実測値と予測値とを学習データ323に格納する。   In step S <b> 505, the acquisition unit 331 stores the above measured value and predicted value in the learning data 323.

ステップS506において、モデル生成部334は、学習データ323に基づいて、2地点間の予測値と実測値との関係を回帰分析により機械学習する。そして、学習モデルとして記憶部320の学習モデル324に格納する。   In step S506, the model generation unit 334 performs machine learning on the relationship between the predicted value and the actual measurement value between the two points based on the learning data 323 by regression analysis. And it stores in the learning model 324 of the memory | storage part 320 as a learning model.

次に、図6を参照して、学習モデルに基づいて2地点間の移動時間を提供する処理について説明する。   Next, with reference to FIG. 6, the process for providing the travel time between two points based on the learning model will be described.

ステップS601において、通信部310は、ユーザ端末100から2地点間の移動時間の問い合せを受信する。具体的には、図4の例において、地図40における住宅Dから住宅Eへの移動時間が問い合わせられる。   In step S <b> 601, the communication unit 310 receives an inquiry about travel time between two points from the user terminal 100. Specifically, in the example of FIG. 4, the travel time from the house D to the house E on the map 40 is inquired.

ステップS602において、時間提供部335は、グラフ情報322に基づいて、住宅Dに近い住宅Bに対応するノードv2、住宅Eに近い住宅Cに対応するノードv6を取得する。   In step S602, the time providing unit 335 acquires a node v2 corresponding to the house B close to the house D and a node v6 corresponding to the house C close to the house E based on the graph information 322.

ステップS603において、時間提供部335は、グラフGにおけるノードv2からv6への最短路問題を、時間計算部333に解かせる。図4の例では、移動時間(c5+c10)が算出される。   In step S <b> 603, the time providing unit 335 causes the time calculation unit 333 to solve the shortest path problem from the nodes v <b> 2 to v <b> 6 in the graph G. In the example of FIG. 4, the travel time (c5 + c10) is calculated.

ステップS604において、時間提供部335は、計算された移動時間を学習モデル324に格納された回帰式により補正する。   In step S <b> 604, the time providing unit 335 corrects the calculated travel time using a regression equation stored in the learning model 324.

ステップS605において、時間提供部335は、補正した値を、2地点間の移動時間として提供する。   In step S605, the time providing unit 335 provides the corrected value as the travel time between two points.

図7は、地図上の地点に対応するノードの具体例を示す図である。図7において、各ノードは地図が示すエリアの各番地に対応しており、各ノードは、各番地の位置情報(緯度、経度など)と関連付けられる。   FIG. 7 is a diagram illustrating a specific example of nodes corresponding to points on the map. In FIG. 7, each node corresponds to each address of the area indicated by the map, and each node is associated with position information (latitude, longitude, etc.) of each address.

図8は、図7のノードに対し、ドロネー三角形分割を適用した図である。図8におけるグラフの各エッジについて、エッジが接続するノードに関連付けられた位置(地点間)の移動に要する時間をコストとして付加する。   FIG. 8 is a diagram in which Delaunay triangulation is applied to the node of FIG. For each edge of the graph in FIG. 8, the time required to move the position (between points) associated with the node to which the edge is connected is added as a cost.

図9は、回帰式の例を示す図である。同じデータについて、対数軸(左グラフ)と、線形軸(右グラフ)で表しており、縦軸は実測された移動時間、横軸はダイクストラ法などによって計算された移動時間である。また、実測された移動時間と計算された移動時間との関係は機械学習され、回帰式90、91が導出される。   FIG. 9 is a diagram illustrating an example of a regression equation. The same data is represented by a logarithmic axis (left graph) and a linear axis (right graph). The vertical axis is the actually measured travel time, and the horizontal axis is the travel time calculated by the Dijkstra method. Further, the relationship between the actually measured travel time and the calculated travel time is machine-learned, and regression equations 90 and 91 are derived.

図9においては、実測された移動時間が長くなるほど、計算された移動時間とずれ(予測誤差)が大きくなっており、この予測誤差を回帰することで補正することができる。   In FIG. 9, the longer the actually measured travel time, the greater the deviation (prediction error) from the calculated travel time, and this prediction error can be corrected by regressing.

(効果の説明)
上述したように、本実施形態に係る移動時間提供システム1は、機械学習を用いて2地点間の移動時間を提供する。すなわち、移動時間提供システム1は、組み合わせ最適化問題に基づいて計算された2地点間の移動時間と、実測された2地点間の移動時間との関係を学習した学習モデルを生成し、当該学習モデルに基づいて、地図上の2地点間の移動時間を提供する。移動時間提供システム1は、学習モデルを生成する際にのみ外部の地図情報提供装置(例えば、APIサーバ等)を利用するので、APIサーバの負荷を軽減させつつ、精度の高い2地点間の移動時間を提供することができる。また、ユーザは、API等のサービスの利用制限を気にすることなく、2地点間の移動時間を取得することができ、配送計画等の立案が容易に行えるようになる。
(Explanation of effect)
As described above, the travel time providing system 1 according to the present embodiment provides a travel time between two points using machine learning. That is, the travel time providing system 1 generates a learning model in which the relationship between the travel time between two points calculated based on the combination optimization problem and the measured travel time between the two points is generated, and the learning is performed. Based on the model, it provides the travel time between two points on the map. Since the travel time providing system 1 uses an external map information providing device (for example, an API server) only when generating a learning model, the travel between two points with high accuracy is achieved while reducing the load on the API server. Can provide time. In addition, the user can acquire the travel time between two points without worrying about restrictions on the use of services such as APIs, and can easily make a delivery plan and the like.

<実施形態2>
実施形態2に係る移動時間提供システム2は、実施形態1に係る移動時間提供システム1において、サーバ装置300に代えてサーバ装置400を備える。サーバ装置400は、地図上の2地点の位置と、2地点間の移動時間(コスト)との関係を機械学習して学習モデルを生成し、当該学習モデルに基づいて2地点間の移動時間を提供する。すなわち、実施形態1に係るサーバ装置300とは、生成する学習モデルが異なる。
<Embodiment 2>
The travel time providing system 2 according to the second embodiment includes a server device 400 in place of the server device 300 in the travel time providing system 1 according to the first embodiment. The server device 400 generates a learning model by machine learning of the relationship between the position of two points on the map and the moving time (cost) between the two points, and calculates the moving time between the two points based on the learning model. provide. That is, the generated learning model is different from the server device 300 according to the first embodiment.

図10は、実施形態2に係るサーバ装置400の機能構成の一例を示す機能ブロック図である。なお、本実施形態のサーバ装置400は、図10の構成要素(各部)の一部を省略した構成としてもよい。   FIG. 10 is a functional block diagram illustrating an example of a functional configuration of the server apparatus 400 according to the second embodiment. Note that the server device 400 of this embodiment may have a configuration in which some of the components (each unit) in FIG. 10 are omitted.

サーバ装置400は、通信部410と、記憶部420と、制御部430と、を備える。   The server device 400 includes a communication unit 410, a storage unit 420, and a control unit 430.

通信部410は、ネットワークNWに接続される装置と通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。   The communication unit 410 performs various controls for communicating with a device connected to the network NW, and the function can be realized by hardware such as various processors or a communication ASIC, a program, or the like.

記憶部420は、コンピュータを機能させるためのプログラムや各種データを記憶するための記憶装置である。記憶部420は、地図情報421と、学習データ422と、学習モデル423と、を含む。これらについては、後述する。   The storage unit 420 is a storage device for storing a program for causing a computer to function and various data. The storage unit 420 includes map information 421, learning data 422, and a learning model 423. These will be described later.

制御部430は、サーバ装置400において実行される各種の情報処理を実行する。制御部430は、CPUおよびメモリを有し、CPUがメモリを用いて、記憶部420に記憶された情報処理プログラムを実行することによって各種の情報処理が実行される。本実施形態においては、制御部430は、上記情報処理として、移動時間に関する学習モデルを生成し、当該学習モデルに基づいて2地点間の移動時間を算出する処理を実行する。算出された移動時間は、ユーザ端末100に送信される。   The control unit 430 executes various types of information processing executed in the server device 400. The control unit 430 includes a CPU and a memory, and various information processing is executed by the CPU executing an information processing program stored in the storage unit 420 using the memory. In the present embodiment, as the information processing, the control unit 430 generates a learning model related to travel time, and executes processing for calculating travel time between two points based on the learning model. The calculated travel time is transmitted to the user terminal 100.

制御部430は、取得部431と、モデル生成部432と、時間提供部433と、を含む。   The control unit 430 includes an acquisition unit 431, a model generation unit 432, and a time provision unit 433.

取得部431は、通信部410を介して、地図情報提供装置200から地図データを取得する。そして、取得した地図データを記憶部420の地図情報421に格納する。   The acquisition unit 431 acquires map data from the map information providing apparatus 200 via the communication unit 410. Then, the acquired map data is stored in the map information 421 of the storage unit 420.

また、取得部431は、地図上の任意の2地点を選択し、当該2地点間の移動時間を地図情報提供装置200から通信部410を介して取得する。そして、取得部431は、2地点間の位置情報(例えば、緯度、経度など)と2地点間の移動時間とを対にして、学習データとして、記憶部420の学習データ422に格納する。取得部431は、機械学習のための学習データとして十分な程度に、地図上の任意の2地点を選択し、当該2地点間の移動時間を取得する。   The acquisition unit 431 selects any two points on the map, and acquires the travel time between the two points from the map information providing apparatus 200 via the communication unit 410. And the acquisition part 431 pairs the positional information (for example, latitude, longitude, etc.) between two points, and the movement time between two points, and stores them in the learning data 422 of the memory | storage part 420 as learning data. The acquisition unit 431 selects two arbitrary points on the map to a degree sufficient as learning data for machine learning, and acquires the travel time between the two points.

図11は、地図上の任意の2地点を選択する処理を説明する図である。図11において、取得部431は、地図40上の任意の2地点をランダムに選択する。なお、図11では、例として地点41〜46が示されているが、これに限られず、地図上の任意の地点を選択する。   FIG. 11 is a diagram illustrating a process of selecting two arbitrary points on the map. In FIG. 11, the acquisition unit 431 randomly selects two arbitrary points on the map 40. In addition, in FIG. 11, although the points 41-46 are shown as an example, it is not restricted to this, The arbitrary points on a map are selected.

取得具431は、例えば、地点41と地点42とを選択し、地点41−地点42間の移動時間t1を地図情報提供装置200から取得する。そして、取得部431は、地点41の緯度、経度などの位置情報(x1,y1)と移動時間t1とを対にして学習データ422に格納する。同様に、取得部431は、地点41と地点43、地点43と地点44・・・など、任意の2地点をランダムに選択し、その2地点間の移動時間を取得する。そして、2地点の位置情報と移動時間とを対にして学習データ422に格納する。   For example, the acquisition tool 431 selects the point 41 and the point 42, and acquires the travel time t1 between the point 41 and the point 42 from the map information providing apparatus 200. Then, the acquisition unit 431 stores the position information (x1, y1) such as the latitude and longitude of the point 41 and the movement time t1 in pairs in the learning data 422. Similarly, the acquisition unit 431 randomly selects any two points such as the point 41 and the point 43, the point 43 and the point 44, and acquires the movement time between the two points. Then, the position data of two locations and the travel time are paired and stored in the learning data 422.

図10に戻って、モデル生成部432は、学習データ423に基づいて、地図上の2地点の位置情報と2地点間の移動時間との関係を学習した学習モデルを生成し、記憶部420の学習モデル423に格納する。例えば、ガウス過程やニューラルネットワークなど公知の技術に基づいて、地図上の2地点の位置情報と、2地点間の移動時間との関係を学習する。   Returning to FIG. 10, the model generation unit 432 generates a learning model in which the relationship between the position information of two points on the map and the travel time between the two points is learned based on the learning data 423, and Store in the learning model 423. For example, based on a known technique such as a Gaussian process or a neural network, the relationship between the position information of two points on the map and the travel time between the two points is learned.

時間提供部433は、モデル生成部432が生成した学習モデル423に基づいて、問い合わせられた地図上の2地点間の移動時間を提供する。具体的には、取得部431は、ユーザ端末100により問い合わせられた地図上の2地点を入力として、学習モデルに基づいて、移動時間を算出する。   The time providing unit 433 provides the travel time between two points on the inquired map based on the learning model 423 generated by the model generation unit 432. Specifically, the acquisition unit 431 calculates the travel time based on the learning model with the two points on the map inquired by the user terminal 100 as inputs.

(効果の説明)
上述したように、本実施形態に係る移動時間提供システムは、機械学習を用いて2地点間の移動時間を提供する。具体的には、地図上の2地点の位置と、2地点間の移動時間(コスト)との関係を機械学習して学習モデルを生成し、当該学習モデルに基づいて2地点間の移動時間を提供する。すなわち、本実施形態に係る移動時間提供システムは、学習モデルを生成する際にのみ外部の地図情報提供装置(例えば、APIサーバ等)を利用するので、APIサーバ等の負荷を軽減させつつ、精度の高い2地点間の移動時間を提供することができる。また、ユーザは、API等のサービスの利用制限を気にすることなく、2地点間の移動時間を取得することができ、配送計画等の立案が容易に行えるようになる。
(Explanation of effect)
As described above, the travel time providing system according to the present embodiment provides the travel time between two points using machine learning. Specifically, a learning model is generated by machine learning of the relationship between the position of two points on the map and the movement time (cost) between the two points, and the movement time between the two points is calculated based on the learning model. provide. That is, since the travel time providing system according to the present embodiment uses an external map information providing apparatus (for example, an API server) only when generating a learning model, accuracy can be reduced while reducing the load on the API server. High travel time between two points can be provided. In addition, the user can acquire the travel time between two points without worrying about restrictions on the use of services such as APIs, and can easily make a delivery plan and the like.

<実施形態3>
実施形態3に係る移動時間提供システム3は、実施形態2に係る移動時間提供システム2において、サーバ装置400に代えてサーバ装置500を備える。サーバ装置500は、実施形態1に係るシステムにおいて生成された第1学習モデル、および実施形態2に係るシステムにおいて生成された第2学習モデルに基づいて2地点間の移動時間を提供する。具体的には、第1学習モデルに基づいて算出される移動時間の予測精度と、第2学習モデルに基づいて算出される移動時間の予測精度とに基づいて、精度の良い方の移動時間を選択する。そして、選択した移動時間をユーザに提供する。すなわち、実施形態1に係る学習モデル、および実施形態2に係る学習モデルの両方に基づいて移動時間を算出する点が、上述した実施形態とは異なる。
<Embodiment 3>
The travel time providing system 3 according to the third embodiment includes a server device 500 instead of the server device 400 in the travel time providing system 2 according to the second embodiment. The server device 500 provides the travel time between two points based on the first learning model generated in the system according to the first embodiment and the second learning model generated in the system according to the second embodiment. Specifically, based on the prediction accuracy of the travel time calculated based on the first learning model and the prediction accuracy of the travel time calculated based on the second learning model, the better travel time is calculated. select. Then, the selected travel time is provided to the user. That is, it differs from the above-described embodiment in that the travel time is calculated based on both the learning model according to the first embodiment and the learning model according to the second embodiment.

図12は、実施形態3に係るサーバ装置500の機能構成の一例を示す機能ブロック図である。なお、本実施形態のサーバ装置500は、図12の構成要素(各部)の一部を省略した構成としてもよい。   FIG. 12 is a functional block diagram illustrating an example of a functional configuration of the server device 500 according to the third embodiment. Note that the server device 500 of this embodiment may have a configuration in which some of the components (each unit) in FIG. 12 are omitted.

サーバ装置500は、通信部510と、記憶部520と、第1推測部530と、第2推測部540と、選択部550と、提供部560を備える。サーバ装置500は、CPUおよびメモリを有する制御部(不図示)が、記憶部520に記憶された情報処理プログラムを実行することによって、後述する各種の情報処理を実行する。   The server device 500 includes a communication unit 510, a storage unit 520, a first estimation unit 530, a second estimation unit 540, a selection unit 550, and a provision unit 560. In the server device 500, a control unit (not shown) having a CPU and a memory executes various information processing described later by executing an information processing program stored in the storage unit 520.

通信部510は、ネットワークNWに接続される装置と通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。   The communication unit 510 performs various controls for communicating with a device connected to the network NW, and the function can be realized by hardware such as various processors or a communication ASIC, a program, or the like.

記憶部520は、コンピュータを機能させるためのプログラムや各種データを記憶するための記憶装置である。記憶部520は、地図情報521と、グラフ情報522と、第1学習データ523と、第1学習モデル524と、第2学習データ525と、第2学習モデル526と、を備える。これらについては、後述する。   The storage unit 520 is a storage device for storing a program for causing a computer to function and various data. The storage unit 520 includes map information 521, graph information 522, first learning data 523, a first learning model 524, second learning data 525, and a second learning model 526. These will be described later.

第1推測部530は、実施形態1で示した学習モデルを生成し、当該学習モデルに基づいて地図上の2地点間の移動時間を算出する機能を有する。また、第2推測部540は、実施形態2で示した学習モデルを生成し、当該学習モデルに基づいて地図上の2地点間の移動時間を算出する機能を有する。   The first estimation unit 530 has a function of generating the learning model shown in the first embodiment and calculating the travel time between two points on the map based on the learning model. Moreover, the 2nd estimation part 540 has a function which produces | generates the learning model shown in Embodiment 2, and calculates the movement time between two points on a map based on the said learning model.

第1推測部530は、第1取得部531と、グラフ生成部532と、時間計算部533と、第1モデル生成部534と、第1時間推測部535と、を含む。   The first estimation unit 530 includes a first acquisition unit 531, a graph generation unit 532, a time calculation unit 533, a first model generation unit 534, and a first time estimation unit 535.

第1取得部531は、実施形態1に係るサーバ装置300の取得部331と同様の機能を有し、通信部510を介して、地図情報提供装置200から地図データを取得する。そして、取得した地図データを記憶部520の地図情報521に格納する。   The first acquisition unit 531 has the same function as the acquisition unit 331 of the server apparatus 300 according to the first embodiment, and acquires map data from the map information providing apparatus 200 via the communication unit 510. Then, the acquired map data is stored in the map information 521 of the storage unit 520.

また、第1取得部531は、後述する時間計算部533が計算する最短路の、始点と終点に対応する地図上の2地点間の実測された移動時間(実測コスト)を地図情報提供装置200から取得し、第1学習データ523に格納する。   Further, the first acquisition unit 531 displays the travel time (actual measurement cost) measured between two points on the map corresponding to the start point and the end point of the shortest path calculated by the time calculation unit 533 described later. And stored in the first learning data 523.

グラフ生成部532は、実施形態1に係るサーバ装置300のグラフ生成部332と同様の機能を有し、地図情報521に基づいて、連結グラフを生成し、記憶部520のグラフ情報522に格納する。   The graph generation unit 532 has the same function as the graph generation unit 332 of the server apparatus 300 according to the first embodiment, generates a connected graph based on the map information 521, and stores it in the graph information 522 of the storage unit 520. .

時間計算部533は、実施形態1に係るサーバ装置300の時間計算部333と同様の機能を有し、グラフ情報522に基づいた最適化問題を解くことで、連結グラフの任意の2点間の最短の移動時間(予測コスト)を計算する。当該移動時間は、地図情報提供装置200から取得した、実測された移動時間と対にして第1学習データ523に格納する。   The time calculation unit 533 has the same function as the time calculation unit 333 of the server apparatus 300 according to the first embodiment, and solves an optimization problem based on the graph information 522, thereby making it possible to connect any two points of the connected graph. Calculate the shortest travel time (predicted cost). The travel time is stored in the first learning data 523 as a pair with the measured travel time acquired from the map information providing apparatus 200.

第1モデル生成部534は、実施形態1に係るサーバ装置のモデル生成部334と同様の機能を有し、第1学習データ523に基づいて、時間計算部533が計算した移動時間と、第1取得部531が取得した実測された移動時間との関係を学習した学習モデルを生成し、記憶部520の第1学習モデル524に格納する。   The first model generation unit 534 has the same function as that of the model generation unit 334 of the server device according to the first embodiment. The first model generation unit 534 includes the travel time calculated by the time calculation unit 533 based on the first learning data 523, and the first A learning model that learns the relationship with the actually measured travel time acquired by the acquisition unit 531 is generated and stored in the first learning model 524 of the storage unit 520.

第1時間推測部535は、実施形態1に係るサーバ装置300の時間提供部335と同様の機能を有し、第1モデル生成部534が生成した第1学習モデル524に基づいて、地図上の2地点間の移動時間を計算(推測)する。この際、予測精度を評価する指標を算出する。予測精度の評価については、例えば、平均誤差、平均平方二乗誤差など、公知の技術を採用するため、詳細な説明は省略する。   The first time estimation unit 535 has the same function as the time provision unit 335 of the server device 300 according to the first embodiment, and is based on the first learning model 524 generated by the first model generation unit 534. Calculate (estimate) the travel time between two points. At this time, an index for evaluating the prediction accuracy is calculated. About evaluation of prediction accuracy, since well-known techniques, such as an average error and an average square-square error, are employ | adopted, detailed description is abbreviate | omitted.

第2推測部540は、第2取得部541と、第2モデル生成部542と、第2時間推測部543と、を含む。   The second estimation unit 540 includes a second acquisition unit 541, a second model generation unit 542, and a second time estimation unit 543.

第2取得部541は、実施形態2に係るサーバ装置400の取得部431と同様の機能を有し、地図情報521に基づいて、地図上の任意の2地点を選択し、当該2地点間の移動時間を地図情報提供装置200から通信部510を介して取得する。そして、第2取得部541は、2地点間の位置情報(例えば、緯度、経度など)と2地点間の移動時間とを対にして、学習データとして、記憶部520の第2学習データ525に格納する。   The second acquisition unit 541 has the same function as the acquisition unit 431 of the server device 400 according to the second embodiment, selects any two points on the map based on the map information 521, and selects between the two points. The travel time is acquired from the map information providing apparatus 200 via the communication unit 510. And the 2nd acquisition part 541 makes the 2nd learning data 525 of the memory | storage part 520 as learning data by making the positional information (for example, latitude, longitude, etc.) between 2 points | pieces and the movement time between 2 points | pieces into a pair. Store.

第2モデル生成部542は、実施形態2に係るサーバ装置400のモデル生成部432と同様の機能を有し、第2学習データ525に基づいて、地図上の2地点の位置情報と2地点間の移動時間との関係を学習した学習モデルを生成し、記憶部520の第2学習モデル526に格納する。   The second model generation unit 542 has the same function as the model generation unit 432 of the server apparatus 400 according to the second embodiment. Based on the second learning data 525, the position information of two points on the map and the distance between the two points A learning model that learns the relationship with the travel time is generated and stored in the second learning model 526 of the storage unit 520.

第2時間推測部543は、実施形態2に係るサーバ装置400の時間提供部433と同様の機能を有し、第2モデル生成部542が生成した第2学習モデル526に基づいて、地図上の2地点間の移動時間を計算(推測)する。この際、予測精度を評価する指標を算出する。予測精度の評価については、例えば、平均誤差、平均平方二乗誤差など、公知の技術を採用するため、詳細な説明は省略する。   The second time estimation unit 543 has the same function as the time provision unit 433 of the server apparatus 400 according to the second embodiment, and is based on the second learning model 526 generated by the second model generation unit 542. Calculate (estimate) the travel time between two points. At this time, an index for evaluating the prediction accuracy is calculated. About evaluation of prediction accuracy, since well-known techniques, such as an average error and an average square-square error, are employ | adopted, detailed description is abbreviate | omitted.

選択部550は、ユーザ端末100から地図上の2地点間の移動時間の問い合わせを受けて第1推測部530において計算された移動時間と、第2推測部540において計算された移動時間のうち、予測精度の良い方を選択する。具体的には、選択部550は、上述した予測精度を評価する指標を比較して、移動時間を選択する。   The selection unit 550 receives an inquiry about the travel time between two points on the map from the user terminal 100, the travel time calculated by the first estimation unit 530, and the travel time calculated by the second estimation unit 540, Select the one with better prediction accuracy. Specifically, the selection unit 550 selects the travel time by comparing the indexes for evaluating the prediction accuracy described above.

提供部560は、選択部550が選択した移動時間を提供する。具体的には、通信部510を介して、ユーザ端末100に送信する。   The providing unit 560 provides the travel time selected by the selecting unit 550. Specifically, the data is transmitted to the user terminal 100 via the communication unit 510.

(効果の説明)
上述したように、本実施形態に係る移動時間提供システムは、異なる方法で生成された学習モデルに基づいて2地点間の移動時間を計算し、予測精度の良い方を提供する。これにより、本実施形態に係る移動時間提供システムは、外部の地図情報提供装置(例えば、APIサーバ等)の負荷を軽減させつつ、より精度の高い2地点間の移動時間を提供することができる。また、ユーザは、API等のサービスの利用制限を気にすることなく、精度の高い2地点間の移動時間を取得することができ、配送計画等の立案が容易に行えるようになる。
(Explanation of effect)
As described above, the travel time providing system according to the present embodiment calculates a travel time between two points based on a learning model generated by a different method, and provides a better prediction accuracy. Thereby, the travel time providing system according to the present embodiment can provide a more accurate travel time between two points while reducing the load on an external map information providing device (for example, an API server). . In addition, the user can acquire a highly accurate travel time between two points without worrying about usage restrictions on services such as APIs, and can easily plan a delivery plan and the like.

<変形例>
上述した本発明に係る移動時間提供システムは、地図上の3以上の地点を巡回する順序を決定するためのシステムに利用することができる。地図上の3以上の地点を巡回する順序は、組み合わせ最適化問題の代表的な問題の一つである巡回セールスマン問題(Traveling Salesman Problem:TSP)を解くことによって決定することができる。
<Modification>
The travel time providing system according to the present invention described above can be used in a system for determining the order of visiting three or more points on a map. The order of visiting three or more points on the map can be determined by solving the Traveling Salesman Problem (TSP), which is one of the typical problems of the combinatorial optimization problem.

TSPは、複数のノード(地図上の地点に相当)と、ノード間を接続するエッジと、各エッジに対して付加されたコスト(例えば、移動時間)と、が定義されているグラフにおいて、全てのノードを1回だけ通って一巡(巡回)するのに必要なコストの和が最小となる経路を求める問題である。TSPでは、エッジごとのコストが入力データとして必要であるが、エッジ数は、複数のノードのうちの任意の2点を選択する組み合わせ数(nC2)であるため、巡回地点が多くなるほど、エッジ数は膨大な数になってしまう。すなわち、エッジのコストとして2地点間の移動時間を、外部の地図情報提供装置(APIサーバ等)から取得すると、膨大な回数の問い合わせを必要とするため、問い合わせ先のAPIサーバ等に負荷がかかってしまう。   The TSP is a graph that defines a plurality of nodes (corresponding to points on the map), edges connecting the nodes, and costs added to each edge (for example, travel time). This is a problem of obtaining a route that minimizes the sum of the costs required to go through the node once and go round. In TSP, the cost for each edge is required as input data. However, since the number of edges is the number of combinations (nC2) for selecting any two points among a plurality of nodes, the number of edges increases as the number of traveling points increases. Will become a huge number. That is, if the travel time between two points is acquired as the cost of an edge from an external map information providing device (API server or the like), an enormous number of inquiries are required. End up.

そこで、本発明に係る移動時間提供システムによって提供される2地点間の移動時間を、TSPにおいて入力されるグラフにおけるエッジのコストとして取得する。これにより、API等のサービスに負荷をかけることなくTSPを解いて、巡回順序を決定することができる。   Therefore, the travel time between two points provided by the travel time providing system according to the present invention is acquired as the cost of the edge in the graph input in the TSP. As a result, the traveling order can be determined by solving the TSP without imposing a load on services such as API.

上記実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものとする。   The above-described embodiment can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the invention described in the claims and equivalents thereof, as long as they are included in the scope and gist of the invention.

また、上記実施形態に記載した手法は、コンピュータに実行させることができるプログラム(ソフトウエア手段)として、例えば、磁気ディスク(フレキシブルディスク、ハードディスク等)、光ディスク(CD−ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、コンピュータに実行させるソフトウエア手段(実行プログラムのみならずテーブルやデータ構造も含む)をコンピュータ内に構成させる設定プログラムをも含む。本サーバを実現するコンピュータは、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、コンピュータ内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。   In addition, the method described in the above embodiment can be executed by a computer (software means) such as a magnetic disk (flexible disk, hard disk, etc.), an optical disk (CD-ROM, DVD, MO, etc.), It can be stored in a recording medium such as a semiconductor memory (ROM, RAM, flash memory, etc.), or transmitted and distributed via a communication medium. The program stored on the medium side also includes a setting program that configures in the computer software means (including not only the execution program but also a table and data structure) that is executed by the computer. A computer that realizes the server reads a program recorded on a recording medium, and constructs software means by a setting program according to circumstances, and executes the above-described processing by controlling the operation by the software means. The recording medium referred to in this specification is not limited to distribution, but includes a storage medium such as a magnetic disk or a semiconductor memory provided in a computer or a device connected via a network.

1,2,3 移動時間提供システム、100 ユーザ端末、110,310,410,510 通信部、120入力部、130 出力部、140,320,420,520 記憶部、150 センサ部、160,330,430 制御部、200 地図情報提供装置、300,400,500 サーバ装置,530 第1推測部、540 第2推測部、550 選択部、560 提供部

1, 2, 3 Travel time providing system, 100 user terminal, 110, 310, 410, 510 communication unit, 120 input unit, 130 output unit, 140, 320, 420, 520 storage unit, 150 sensor unit, 160, 330, 430 control unit, 200 map information providing device, 300, 400, 500 server device, 530 first estimation unit, 540 second estimation unit, 550 selection unit, 560 provision unit

Claims (10)

地図上の地点に対応する複数のノードを設定し、前記複数のノードに対し、コストが付加された、ノード間を接続するエッジを追加して、前記複数のノードのうちの任意の2点間に経路が存在する連結グラフを生成するグラフ生成部と、
前記複数のノードと、前記追加したエッジと、前記各エッジに付加されたコストと、から構成される前記連結グラフに関するグラフ情報を記憶するグラフ情報記憶部と、
前記複数のノードの中から選択された2つのノード間の予測コストを、前記グラフ情報に基づいて計算するコスト計算部と、
前記選択された2つのノードに対応する前記地図上の2地点間の実測コストを取得するコスト取得部と、
前記コスト計算部が計算した予測コストと、前記コスト取得部が取得した実測コストとを、学習データとして記憶する学習データ記憶部と、
前記学習データに基づいて、前記予測コストと、前記実測コストとの関係を学習した学習モデルを生成するモデル生成部と、
記地図上の任意の2地点間のコストとして、当該2地点に対応する前記連結グラフにおけるノード間のコストを、前記生成した学習モデルに基づいて提供するコスト提供部と、
を備えるサーバ装置。
Set a plurality of nodes corresponding to points on the map, add an edge connecting the nodes to each of the plurality of nodes, and add a cost between any two of the plurality of nodes. A graph generation unit for generating a connected graph in which a route exists,
Wherein a plurality of nodes, and edges that the additional, and graph information storage unit for storing graphical information relating to the said connection graph composed of a cost which is added to each edge,
A cost calculator that calculates a predicted cost between two nodes selected from the plurality of nodes based on the graph information;
A cost acquisition unit for acquiring an actual measurement cost between two points on the map corresponding to the two selected nodes;
A learning data storage unit that stores the predicted cost calculated by the cost calculation unit and the actual measurement cost acquired by the cost acquisition unit as learning data;
Based on the learning data, a model generation unit that generates a learning model that learns the relationship between the predicted cost and the actual measurement cost;
The cost between any two points on the previous SL map, and cost providing unit to which the cost between nodes in the connection graph corresponding to the two points, provided on the basis of a learning model that the generated,
A server device comprising:
前記エッジに付加されたコストは、当該エッジが接続するノードに対応する前記地図上の2地点間を移動するのに要する移動時間である、請求項1に記載のサーバ装置。   The server device according to claim 1, wherein the cost added to the edge is a movement time required to move between two points on the map corresponding to a node to which the edge is connected. 前記モデル生成部は、前記関係を回帰分析により機械学習する、請求項1または請求項2に記載のサーバ装置。   The server apparatus according to claim 1, wherein the model generation unit performs machine learning on the relationship by regression analysis. 前記コスト取得部は、前記地図上の2地点間の前記実測コストを外部の地図情報提供装置から取得する、請求項1から請求項3のいずれか1項に記載のサーバ装置。   The server device according to any one of claims 1 to 3, wherein the cost acquisition unit acquires the actual measurement cost between two points on the map from an external map information providing device. 前記コスト計算部は、前記グラフ情報に基づいた最適化問題を解くことにより、前記2つのノード間のコストを計算する、請求項1から請求項4のいずれか1項に記載のサーバ装置。   The server device according to any one of claims 1 to 4, wherein the cost calculation unit calculates a cost between the two nodes by solving an optimization problem based on the graph information. 前記連結グラフは、前記複数のノードに対しドロネー三角形分割法を適用して生成される、請求項1から請求項5のいずれか1項に記載のサーバ装置。   The server device according to any one of claims 1 to 5, wherein the connection graph is generated by applying a Delaunay triangulation method to the plurality of nodes. 地図上の2地点間のコストを提供するサーバ装置であって、
第1学習モデルに基づいて、前記地図上の2地点間のコストを推測する第1推測部と、
第2学習モデルに基づいて、前記地図上の2地点間のコストを推測する第2推測部と、
前記第1推測部および前記第2推測部が推測したコストの予測精度に基づいて、前記第1推測部が推測したコストまたは前記第2推測部が推測したコストを選択する選択部と、
前記選択部が選択したコストを提供するコスト提供部と、を備え、
前記第1推測部は、
地図上の地点に対応する複数のノードと、前記ノード間を接続するエッジと、前記各エッジに付加されたコストと、から構成される連結グラフに関するグラフ情報を記憶するグラフ情報記憶部と、
前記複数のノードの中から選択された2つのノード間の予測コストを、前記グラフ情報に基づいて計算するコスト計算部と、
前記選択された2つのノードに対応する前記地図上の2地点間の実測コストを取得する第1コスト取得部と、
前記コスト計算部が計算した予測コストと、前記第1コスト取得部が取得した実測コストとを、学習データとして記憶する第1学習データ記憶部と、
前記第1学習データ記憶部が記憶した学習データに基づいて、前記予測コストと、前記実測コストとの関係を学習した第1学習モデルを生成する第1モデル生成部と、
前記生成した第1学習モデルに基づいて、前記地図上の任意の2地点間のコストを推測する第1コスト推測部と、を含み、
前記第2推測部は、
地図上の2地点間の実測コストを取得する第2コスト取得部と、
前記地図上の2地点の位置情報および前記取得した当該2地点間の実測コストを、学習データとして記憶する第2学習データ記憶部と、
前記第2学習データ記憶部が記憶した学習データに基づいて、前記地図上の2地点の位置情報および当該2地点間のコストとの関係を学習した第2学習モデルを生成する第2モデル生成部と、
前記生成した第2学習モデルに基づいて、前記地図上の任意の2地点間のコストを推測する第2コスト推測部と、
を含む、サーバ装置。
A server device that provides a cost between two points on a map,
A first estimation unit for estimating a cost between two points on the map based on a first learning model;
Based on a second learning model, a second estimation unit for estimating a cost between two points on the map;
A selection unit that selects a cost estimated by the first estimation unit or a cost estimated by the second estimation unit based on a prediction accuracy of the cost estimated by the first estimation unit and the second estimation unit;
A cost providing unit that provides the cost selected by the selection unit,
The first estimation unit includes:
A graph information storage unit that stores graph information about a connected graph composed of a plurality of nodes corresponding to points on the map, edges connecting the nodes, and costs added to the edges;
A cost calculator that calculates a predicted cost between two nodes selected from the plurality of nodes based on the graph information;
A first cost acquisition unit for acquiring an actual measurement cost between two points on the map corresponding to the two selected nodes;
A first learning data storage unit that stores the predicted cost calculated by the cost calculation unit and the actual measurement cost acquired by the first cost acquisition unit as learning data;
A first model generation unit that generates a first learning model that learns a relationship between the predicted cost and the actual measurement cost based on the learning data stored in the first learning data storage unit;
A first cost estimation unit that estimates a cost between any two points on the map based on the generated first learning model;
The second estimation unit is
A second cost acquisition unit for acquiring an actual measurement cost between two points on the map;
A second learning data storage unit that stores, as learning data, position information of two points on the map and the acquired actual measurement cost between the two points;
Based on the learning data stored in the second learning data storage unit, a second model generation unit that generates a second learning model that has learned the relationship between the position information of the two points on the map and the cost between the two points When,
A second cost estimation unit that estimates a cost between any two points on the map based on the generated second learning model;
Including a server device.
地図上の地点に対応する複数のノードを設定し、前記複数のノードに対し、コストが付加された、ノード間を接続するエッジを追加して、前記複数のノードのうちの任意の2点間に経路が存在する連結グラフを生成するグラフ生成部と、
前記複数のノードと、前記追加したエッジと、前記各エッジに付加されたコストと、から構成される前記連結グラフに関するグラフ情報を記憶するグラフ情報記憶部と、
前記複数のノードの中から選択された2つのノード間の予測コストを、前記グラフ情報に基づいて計算するコスト計算部と、
前記選択された2つのノードに対応する前記地図上の2地点間の実測コストを取得するコスト取得部と、
前記コスト計算部が計算した予測コストと、前記コスト取得部が取得した実測コストとを、学習データとして記憶する学習データ記憶部と、
前記学習データに基づいて、前記予測コストと、前記実測コストとの関係を学習した学習モデルを生成するモデル生成部と、
記地図上の任意の2地点間のコストとして、当該2地点に対応する前記連結グラフにおけるノード間のコストを、前記生成した学習モデルに基づいて提供するコスト提供部と、
を備えるシステム。
Set a plurality of nodes corresponding to points on the map, add an edge connecting the nodes to each of the plurality of nodes, and add a cost between any two of the plurality of nodes. A graph generation unit for generating a connected graph in which a route exists,
Wherein a plurality of nodes, and edges that the additional, and graph information storage unit for storing graphical information relating to the said connection graph composed of a cost which is added to each edge,
A cost calculator that calculates a predicted cost between two nodes selected from the plurality of nodes based on the graph information;
A cost acquisition unit for acquiring an actual measurement cost between two points on the map corresponding to the two selected nodes;
A learning data storage unit that stores the predicted cost calculated by the cost calculation unit and the actual measurement cost acquired by the cost acquisition unit as learning data;
Based on the learning data, a model generation unit that generates a learning model that learns the relationship between the predicted cost and the actual measurement cost;
The cost between any two points on the previous SL map, and cost providing unit to which the cost between nodes in the connection graph corresponding to the two points, provided on the basis of a learning model that the generated,
A system comprising:
地図上の2地点間のコストを提供するための学習モデルを生成する方法であって、前記方法は、コンピュータにおいて実行され、前記コンピュータは、制御部と記憶部とを備え、
前記制御部が、前記地図上の地点に対応する複数のノードを設定し、前記複数のノードに対し、コストが付加された、ノード間を接続するエッジを追加して、前記複数のノードのうちの任意の2点間に経路が存在する連結グラフを生成するステップと、
前記制御部が、前記複数のノードと、前記追加したエッジと、前記各エッジに付加されたコストと、から構成される前記連結グラフに関するグラフ情報を前記記憶部に記憶するステップと、
前記制御部が、前記複数のノードの中から選択された2つのノード間の予測コストを、前記グラフ情報に基づいて計算するステップと、
前記制御部が、前記選択された2つのノードに対応する前記地図上の2地点間の実測コストを取得するステップと、
前記制御部が、前記計算した予測コストと、前記取得した実測コストとを、学習データとして前記記憶部に記憶するステップと、
前記制御部が、前記学習データに基づいて、前記予測コストと、前記実測コストとの関係を学習した学習モデルを生成するステップと、
を備える方法。
A method for generating a learning model for providing a cost between two points on a map, the method being executed by a computer, the computer comprising a control unit and a storage unit,
The control unit sets a plurality of nodes corresponding to the points on the map, adds an edge connecting the nodes to each of the plurality of nodes, and adds a cost to the plurality of nodes. Generating a connected graph in which a path exists between any two points of
A step in which the control unit stores the plurality of nodes, and edges that the additional, and costs the added to each edge, the graph information on the connection graph consists in the storage unit,
The control unit calculating a predicted cost between two nodes selected from the plurality of nodes based on the graph information;
The control unit obtaining an actual measurement cost between two points on the map corresponding to the selected two nodes;
The control unit stores the calculated predicted cost and the acquired actual measurement cost as learning data in the storage unit;
Generating a learning model in which the control unit learns a relationship between the predicted cost and the actual measurement cost based on the learning data;
A method comprising:
請求項に記載の方法をコンピュータに実行させるためのプログラム。 A program for causing a computer to execute the method according to claim 9 .
JP2018174394A 2018-09-19 2018-09-19 Server apparatus, system, method and program Active JP6562431B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018174394A JP6562431B1 (en) 2018-09-19 2018-09-19 Server apparatus, system, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018174394A JP6562431B1 (en) 2018-09-19 2018-09-19 Server apparatus, system, method and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019131985A Division JP2020046652A (en) 2019-07-17 2019-07-17 Server device, system, method and program

Publications (2)

Publication Number Publication Date
JP6562431B1 true JP6562431B1 (en) 2019-08-21
JP2020046894A JP2020046894A (en) 2020-03-26

Family

ID=67695604

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018174394A Active JP6562431B1 (en) 2018-09-19 2018-09-19 Server apparatus, system, method and program

Country Status (1)

Country Link
JP (1) JP6562431B1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1079096A (en) * 1996-09-03 1998-03-24 Toshiba Corp Device for providing path selection support information
JP5198994B2 (en) * 2008-09-19 2013-05-15 インターナショナル・ビジネス・マシーンズ・コーポレーション Time required prediction system, method and program
US10175054B2 (en) * 2015-01-11 2019-01-08 Microsoft Technology Licensing, Llc Predicting and utilizing variability of travel times in mapping services
US10078337B1 (en) * 2017-07-14 2018-09-18 Uber Technologies, Inc. Generation of trip estimates using real-time data and historical data

Also Published As

Publication number Publication date
JP2020046894A (en) 2020-03-26

Similar Documents

Publication Publication Date Title
US11262213B2 (en) Decomposition of error components between angular, forward, and sideways errors in estimated positions of a computing device
CN110133582B (en) Compensating for distortion in electromagnetic tracking systems
US10378915B2 (en) Navigating with a camera device
US20130016012A1 (en) Method and/or apparatus for backtracking position estimation
US20140180576A1 (en) Estimation of time of arrival based upon ambient identifiable wireless signal sources encountered along a route
CN110088711B (en) Magnetic interference detection and correction
JP6954717B2 (en) Positioning classifier creation method, position measurement method, external factor noise identification method, and positioning classifier creation system
CN107392359A (en) Navigation way replacing options, device, storage medium, electronic equipment and server
JP6562431B1 (en) Server apparatus, system, method and program
JP2020046652A (en) Server device, system, method and program
JP2017531784A (en) Method for detecting position of mobile computing device and mobile computing device performing the same
US11003812B2 (en) Experience driven development of mixed reality devices with immersive feedback
JP2012078722A (en) Information providing system
CN106535132A (en) Method and device for positioning terminal
Jackermeier et al. Exploring the limits of PDR-based indoor localisation systems under realistic conditions
EP3885704A1 (en) Method and apparatus for federated location fingerprinting
US10979850B1 (en) Method and apparatus for federated location fingerprinting
US20210297852A1 (en) Method and apparatus for federated location fingerprinting
JP2016138816A (en) Navigation device and computer program
Jackermeier et al. Task-Oriented Evaluation of Indoor Positioning Systems
JP6475407B2 (en) Parameter determination system, program, and parameter determination method
TWI654582B (en) Method of updating position for mobile store
JP7231776B2 (en) Correction device, correction method, and correction program
KR102109374B1 (en) Apparatus and method for estimating position
KR101802086B1 (en) Augmented/Virtual Reality Service Providing Method Using Multiple Devices and System Therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180919

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180919

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20181003

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190419

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190708

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190717

R150 Certificate of patent or registration of utility model

Ref document number: 6562431

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150