(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-10
(45)【発行日】2025-01-21
(54)【発明の名称】ソース場所からターゲット場所への移動に対しルートまたはルート所要時間を提供する方法およびコンピュータシステム
(51)【国際特許分類】
G01C 21/34 20060101AFI20250114BHJP
G01C 21/26 20060101ALI20250114BHJP
G06Q 10/047 20230101ALI20250114BHJP
G06Q 10/08 20240101ALI20250114BHJP
G08G 1/005 20060101ALI20250114BHJP
【FI】
G01C21/34
G01C21/26 P
G06Q10/047
G06Q10/08
G08G1/005
(21)【出願番号】P 2020524268
(86)(22)【出願日】2018-11-07
(86)【国際出願番号】 US2018059517
(87)【国際公開番号】W WO2019125625
(87)【国際公開日】2019-06-27
【審査請求日】2020-04-20
【審判番号】
【審判請求日】2021-10-15
(32)【優先日】2018-01-05
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-04-18
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2017-12-21
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】10-2018-0045558
(32)【優先日】2018-04-19
(33)【優先権主張国・地域又は機関】KR
(32)【優先日】2018-11-05
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】520140051
【氏名又は名称】マレーヴィチュ,グザイゴシュ
(74)【代理人】
【識別番号】100084375
【氏名又は名称】板谷 康夫
(72)【発明者】
【氏名】マレーヴィチュ,グザイゴシュ
【合議体】
【審判長】河端 賢
【審判官】北村 亮
【審判官】山本 信平
(56)【参考文献】
【文献】特開2013-53987(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/34
G01C 21/26
G06Q 10/047
G06Q 10/08
G08G 1/005
(57)【特許請求の範囲】
【請求項1】
ソース場所からターゲット場所までの移動のルートを示す情報を提供する方法、
前記方法は以下の事を含む:
(a)前記ソース場所と前記ターゲット場所とを含むクエリを受け取り、
(b)前記情報を生成し、および
(c)前記情報によって前記クエリに応答する、
前記方法は以下の事によって特徴付けられる:
(d)2つ以上の見込ルート(prospect routes)を決定する、
ここにおいて、各見込ルー
ト:
(i)
は数学的確率変数である移動所要時間を有し、
(ii)
は前記ソース場所から前記ターゲット場所までの移動を表す、および
(iii)
は前記
移動のルートに含まれる移動の選択肢である、および
(e)前記情報を生成するとき、前記2つ以上の見込ルートの前記移動所要時間のうちの最小値を使用する。
【請求項2】
ソース場所からターゲット場所までの移動のルートを示す情報を提供する方法、
前記方法は以下の事を含む:
(a)前記ソース場所と前記ターゲット場所とを含むクエリを受け取り、
(b)前記情報を生成し、および
(c)前記情報によって前記クエリに応答する、
前記方法は以下の事によって特徴付けられる:
(d)グラフ経路を決定する、
ここにおいて、前記グラフ経路は前記ソース場所からの第1距離しきい値内のグラフ頂点と、前記ターゲット場所からの第2距離しきい値内のグラフ頂点と、の間の経路であり、
ここにおいて、前記グラフ経路は
グラフに含まれ、前記グラフは以下の事を含む:
(i)
複数のグラフ頂点、ここにおいて、場所を表す少なくとも2つのグラフ頂点
は前記複数のグラフ頂点
に含まれ、および
(ii)
複数のグラフエッジ、ここにおいて、移動所要時間を表す少なくとも2つのグラフエッジ
は前記複数のグラフエッジ
に含まれ、
ここにおいて、前記グラフ経路は少なくとも1つの見込エッジ(prospect edge)を含み、ここにおいて、各見込エッジ
:
(iii)
は前記複数のグラフエッジに含まれ、および
(iv)
は前記見込エッジの始頂点から前記見込エッジの着頂点に通じ、前記始頂点と前記着頂点の両方が前記複数のグラフ頂点に含まれ、
(e)2つ以上の見込ルート(prospect routes)を決定する、
ここにおいて、各見込ルー
ト:
(i)
は数学的確率変数である移動所要時間を有し、
(ii)
は前記始頂点の場所から前記着頂点の場所までの前記移動を表す、および
(iii)
は前記
移動のルートに含まれる移動の選択肢である、および
(f)前記情報を生成するとき、前記2つ以上の見込ルートの前記移動所要時間のうちの最小値を使用する。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願への相互参照)
本出願は、下記の出願に基づくものであり、下記出願の優先日を主張する。
米国、出願番号62/608586、提出日2017年12月21日
米国、出願番号62/613779、提出日2018年01月05日
米国、出願番号62/659157、提出日2018年04月18日
韓国、出願番号10-2018-0045558、提出日2018年4月19日
米国、出願番号16/180050、提出日2018年11月05日
これらは参照により本明細書に組み込まれる。
【背景技術】
【0002】
本発明は、大都市圏におけるルート計画に関する。ルート計画の目的は、さまざまな輸送サービス提供者からの利用可能な車両を用いて、ある場所(location)から別の場所に移動する方法を決定することである。多くの場合、他の要件の中でも、とりわけ、移動の時間をできるだけ短くするか、特定の時間に出発することが要求される。ルート(route)は、通常、徒歩経路や乗車経路などを含む乗客(rider)への指示を指定する。
【発明の概要】
【0003】
実施形態は、ルートを計算する方法、この方法を実装および実行するコンピュータシステム、およびユーザがルート決めクエリを発行し、応答としてルートを受け取ることを可能にするコンピュータサービス製品を含む。
【0004】
本発明の一実施形態によれば、ルート計画を生成する方法が提供される。この方法は、ルートのソース(source)場所とターゲット(target)場所という形式のクエリ、および出発時刻(departure time)または到着期限(arrival deadline)を含む他の要件を受け取る。この方法は、車両の統計的特性をモデル化するグラフを作成する。その特徴の1つに、車両と徒歩のさまざまな選択肢のいずれかを用いてある場所から他の場所への移動をモデル化する「見込エッジ」がある。一実施形態において、そのエッジは、2つの場所の間の予想される最小移動所要時間(travel duration)をモデル化する。グラフ、またはクエリの詳細に依存するその拡張を用いて、その方法は、クエリへの応答としてルート計画を生成する。
【0005】
本発明の一実施形態によれば、ルート計画を生成するためのコンピュータシステムが提供される。そのシステムは、ハードウェアとソフトウェアの組み合わせである。それは、場所間の交通システムと徒歩に関する情報を、複数のデータ提供者から取得する。システムは、輸送システムをモデル化する複数のグラフを作成し、ルート計画を生成するためにグラフ内の最短経路を計算する。
【0006】
本発明の一実施形態によれば、ルート計画を生成するためのコンピュータサービス製品が提供される。このサービスにより、ユーザはスマートフォンなどのデバイスのユーザインターフェイスを介してクエリを指定し、生成されたルート計画をデバイスに表示できる。
【0007】
ここに提示される本発明の実施形態は、例示目的のためのものであって、これらは網羅的なものではない。実施形態の範囲および精神から逸脱することなく、多くの修正および変形が当業者には明らかであろう。
【0008】
本発明で開示されるデータ検索、処理操作などは、コンピュータシステムまたはサービスとして実装され、精神的なステップまたは具体化されない抽象的なアイデアとしては実装されない。
【0009】
プレゼンテーションでは、「第1」、「第2」、「前記/その」などの用語は、限定的な意味では使用されないが、文脈からそうでないことが明確でない限り、区別する目的で使用される。文脈から明確でない限り、単数形の表現には複数形が含まれる。
【図面の簡単な説明】
【0010】
本発明に含まれる図面は、本発明の実施形態の様々な特徴および利点を例示している。
【
図1】
図1は、本発明の一実施形態に係るグラフG0を示す。
【
図2】
図2は、本発明の一実施形態に係るグラフG0を構築するための処理流れを示す。
【
図3】
図3は、本発明の一実施形態に係る、徒歩、待ち、バス乗車、および徒歩を含む、cからc’への移動を示す。
【
図4】
図4は、本発明の一実施形態に係る、1つのバス路線であるが2つの移動方法を含む、cからc’への移動を示す。
【
図5】
図5は、本発明の実施形態に係る、それぞれがcからc’への別個の移動方法を提供する2つのバス路線を示す。
【
図6】
図6は、本発明の一実施形態に係る、徒歩、待ち、地下鉄乗車、および徒歩を含む、cからc’への移動を示す。
【
図7】
図7は、本発明の一実施形態に係る、cからc’への移動の3つの選択肢の見込エッジを示す。
【
図8】
図8は、本発明の一実施形態に係る、乗客のcへの到着時間を条件とする所要時間ランダム変数が与えられた場合の、cからc’への移動の2つの選択肢の見込エッジを示す。
【
図9】
図9は、本発明の一実施形態に係る待ち所要時間および固定移動所要時間の区間モデルの下で見込エッジを計算するための擬似コードを示す。
【
図10】
図10は、本発明の一実施形態に係る、クエリにおけるソースが既知である場合に、グラフG1が、ソースからのエッジを持つグラフG0をどのように拡張するかを示す。
【
図11】
図11は、本発明の一実施形態に係る、クエリにおけるターゲットが既知である場合に、グラフG2が、ターゲットへの見込エッジを持つグラフG0をどのように拡張するかを示す。
【
図12】
図12は、本発明の実施形態に係る、クエリ時にターゲットが明らかにされた場合に、最後から2番目の停留所/駅から続く見込移動の選択肢を計算する例を示す。
【
図13】
図13は、本発明の一実施形態に係る、ルート決めクエリに応答するためのコンピュータシステムの処理流れを示す。
【
図14】
図14は、本発明の一実施形態に係る、ユーザのスマートフォン上のサービス製品によるクエリに応答するルートの表示の一例を示す。
【発明の詳細な説明】
【0011】
(4 詳細な説明)
首都圏交通システムは、地下鉄(subway)やバス(bus)などの車両で構成されている。乗客の一般的な目的は、特定の場所から首都圏内の他の場所への最速ルートを決定することである。ルートは、オンラインのマッピングサービスの主要提供者で見られるように、車両の時刻表、および希望する出発時刻または到着期限を用いて計算できる。ただし、実際には、一部の車両は、例えば交通事情により、時刻表に正確に従っていない。従来技術とは対照的に、本発明は、時刻表に追従する車両と追従しない車両とを混ぜて用いて、ルートを計算する方法を示す。本発明は、ルートの類似性と待ち所要時間を用いて、ルート決定結果を改善する。
【0012】
簡単な例で、改善点を説明する。バスのルートに沿って2つの連続したバス停b1,b2を検討する。乗車時間は平均20分である。さらに、バスが平均24分ごとにb1に到着するものとする。ランダムな時間にb1に到着した乗客の場合、b2への平均移動所要時間は32分(待ち+乗車)である。ここで、これら2つのバス停間で運行される他のバスがあると仮定する。同じタイミングの仮定の下で、バスの独立性を仮定すると、平均移動所要時間は4分短くなる。通常、バスがn個ある場合、平均は20+24/(n+1)分である。これは単に、乗客が最初にb1に到着したバスに乗車できることによる。
【0013】
ただし、自然の大都市は単純な図式よりも複雑であり、異なる到着パターンと速度パターンを有する車両による、ルートの洗練された重複パターンがある。乗客が停車地の間を歩く(walk)可能性があるので、改善を達成するためにルートを重複させることは、厳密に必要ではない。輸送システムは、時間とともに進化する可能性があり、例えば、地下鉄の時刻表が変更されたり、バスの路線が追加されたりする。さらに、大都市圏であっても、コンピュータが多くのルート決めクエリに迅速に応答できるように、ルートを計算する効率的な方法が必要である。
【0014】
(4.1 モデル概要)
ルートまたはルート所要時間(route duration)を計算するための輸送システムのモデルを導入する。
【0015】
輸送システムは2種類の車両で構成されていると仮定する。(1)固定時刻表(fixed timetables)に従い、例えば平日のスケジュールに従って1日の所定の時間に出発および到着する車両。この車両を地下鉄と呼び、その駅を地下鉄駅と呼ぶ。(2)出発時刻と到着時刻が固定されていない車両。この車両をバスと呼び、その停留所をバス停と呼ぶ。地下鉄駅とバス停は、両方とも固定された地理的な場所を有しているので、それらの間の徒歩を決定できる。バスは、バス路線にグループ化される。バス路線のバスは、通常バス路線のターミナルバス停まで、バス停の固定された順序に沿って運行される。
【0016】
実際には、一部のバスは非常に正確に到着する可能性があり、これはモデルに準拠していないように見える場合がある。例えば、固定時刻表に従ってバス路線の最初のバス停を出たバスを考える。バスは、予測できない交通量の大都市圏に到達するまでは、最初のいくつか停留所に時間通りに到着するかも知れない。乗客が地下鉄に乗った後、これらの最初のバス停留所のいずれかに到着する場合、バスの待ち所要時間は予測可能であり、地下鉄-徒歩-バス移動所要時間の合計も予測可能である。この複数車両の地下鉄-徒歩-バス移動を表すために、地下鉄を概念的に追加して、このケースをモデル化できる。同様に、運行が同期されているか非常に時間厳守である場合、バス-徒歩-地下鉄、バス-徒歩-バス、および地下鉄-徒歩-地下鉄、および他の組み合わせ、を概念化できる。本発明の以下の説明では、開示の提示を単純化するために、固定時刻表地下鉄と非固定時刻表(non-fixed timetable)バスの仮定を維持する。
【0017】
本方法は、バスまたは地下鉄によって人のルート決めをすることに限定されない。対照的に、本方法はより一般的である。それは、実際に発生する多種類の車両を確保する。例えば、それらには、地下鉄、バス、路面電車、電車、タクシー、共有バン、車、自動運転車、フェリー船、飛行機、配達用バイク、貨物自動車、またはコンテナトラックが含まれる。本方法で作成されるルートは、あらゆる対象物のルート決定に用いることができる。例えば、それらには、人、貨物、小包、手紙、または食料品が含まれる。この対象物は、乗客(rider)とも呼ばれる。
【0018】
輸送システムは、それぞれが頂点(vertices)とエッジ(edges)で構成される有向グラフ(directed graphs)の集りによってモデル化される。各頂点は、バス停、地下鉄駅、または補助要素を表す。頂点で表される他の例には、駅、タクシー乗り場、共有バンの乗車または下車場所、駐車場、自動運転車の乗車または下車場所、プラットフォーム、階層、港、フェリーまたはエアターミナル、空港、または荷積みドックが含まれる。エッジは、待ち、ある場所から別の場所への移動、または補助要素を表する。一実施形態において、エッジは、待ちまたは移動の所要時間を示す重みを有する。他の実施形態において、重みはランダム変数(random variables)である。他の実施形態において、いくつかのランダム変数は、例えば、とりわけ、1日の時刻、休日/非休日の種別に条件付け(conditioned)られる。他の実施形態において、いくつかのランダム変数は他のランダム変数と相関して(correlated)いてもよい。
【0019】
一実施形態において、履歴データからランダム変数の確率分布(probability distribution)を決定する。例えば、特定のバス路線のバスが特定のバス停b1から特定のバス停b2に移動するのにかかった時間を、1か月間測定し、この1か月のサンプルから、移動所要時間の経験的分布を決定する。他の例では、特定のバス停において特定のバス路線のバスの到着または出発時間を一定期間にわたって測定し、そのバス路線のバスの待ち時間の経験的分布を、平日の分刻みで決定する。他の例では、バスオペレータによって報告される通過間隔を用いて、平均待ち時間を決定する。他の例では、バスの現在場所が、バスの待ち所要時間のより正確な分布を計算するために用いられる。
【0020】
この方法で使用されるランダム変数のいくつかは自明ではない(non-trivial)。自明なランダム変数には、確率1の値が1つだけある。その他のランダム変数は自明ではない。
【0021】
グラフの目的は、クエリに応答して2つの地理的な場所間のルートまたはルート所要時間を見つけるのを、支援することである。ルートの開始点はソースと呼ばれ、終了点はターゲットと呼ばれる。場所は、ルート決めシステムのアプリケーションによって決定される。例えば、場所は、営利企業、バスと地下鉄の駅自体、公園内の任意のポイント、または全地球測位システムによって決定される人の現在の場所である。一実施形態において、ダイクストラの最短経路アルゴリズムまたはA*(Aスター)探索アルゴリズムをグラフに適用して、または後述するこれらのアルゴリズムのいくつかの翻案によって、ルートを探索する。
【0022】
一部の実施形態において、ルートに制限を追加する。例えば、これらには、車両種別、車両停留所種別、車両乗り換え回数のしきい値(threshold)、待ち所要時間のしきい値、徒歩所要時間のしきい値、特定の車両にのみ適合してルートが設定される対象物の種別、移動の金銭的費用のしきい値、ソースからの出発時間、ターゲットへの到着時間、または期限前に到着する望ましい確率が含まれる。
【0023】
一実施形態において、本方法は、最小の予想所要時間を有するルートまたはルート所要時間を計算する。ただし、本方法はより一般的である。また、ほぼ最速の、または最速ではないかも知れない、ルートまたはルート所要時間を計算するが、これは特定の期限後に到着するリスクを制限する。
【0024】
本発明は、ルート決めクエリに応答するため、いくつかのグラフを構築する。いくつかの実施形態は、クエリに基づき、追加の頂点およびエッジを用いてグラフを拡張する。
【0025】
(4.2 グラフG0)
G0と呼ばれるグラフは、バス停と地下鉄駅と間のルート決めを表す。その構造の詳細な説明は次のとおりである。グラフG0の説明は
図1にあり、その構造の処理流れの説明は
図2にある。
【0026】
(4.2.1 固定時刻表)
頂点とエッジの1番目のグループは、固定時刻表に従う車両によるルート決めを表す。時刻表が固定されているので、既知のアルゴリズムを用いて、2つの場所間の最速ルートを計算でき、それは間に徒歩を有する複数車両の連続を含み得る。そこで、ソースからターゲットへのこの複数車両の移動を抽象化するため、単一のエッジを用いる。
【0027】
頂点を追加し、乗客が地下鉄の出発に合わせて駅への到着を時間指定されているかのように待ちなしで搭乗する地下鉄を、モデル化する。各地下鉄駅sに、次の2つの頂点を導入する、
SUBWAY_FROM_s、
SUBWAY_STATION_s。
任意の2つの異なる駅s,s’は、次のエッジを有する。
SUBWAY_FROM_s→SUBWAY_STATION_s’
これは、sからs’への乗車所要時間を表し、地下鉄の乗り換えと徒歩を含むことができ(例えば、駅sから、まず地下鉄Aに乗って駅Bに行き、次に駅Cに歩いてから、地下鉄Dに乗って駅s’に行く)、このエッジは、RideManyGetOff(多乗車下車)とラベル付けされる。一実施形態において、エッジの重みは、平日の朝のラッシュ時の最小乗車所要時間である。他の実施形態において、多くの時間窓のそれぞれにランダム変数を用いる。他の実施形態において、ランダム変数は、sの場所への乗客の到着時間、またはsの場所からの出発時間を条件とする。
【0028】
乗客が移動中に地下鉄の駅に到着して地下鉄を待つ必要がある場合のイベントをモデル化する。任意の2つの異なる駅s’とs”に対し、s’からs”への乗車を意味する次の頂点を追加する、
SUBWAY_FROM_TO_s’_s”。
次のエッジがあり、WaitGetOn(乗車待ち)とラベル付けされ、s’からs”への移動に地下鉄に乗るための待ち所要時間を表す。
SUBWAY_STATION_s’
→SUBWAY_FROM_TO_s’_s”。
一実施形態において、エッジの重みは、平日の朝のラッシュ時のランダムな時間にs’に到着する乗客に対し、乗客を最も早くs”に輸送する地下鉄の平均待ち時間に設定される。他の実施形態において、重みは、s’からs”までの地下鉄の平均到着時間の半分に設定される。他の実施形態において、多くの時間窓のそれぞれにランダム変数を用いる。他の実施形態において、そのランダム変数は、s’の場所における乗客の到着時間または出発時間の分布を条件とする。
【0029】
次のエッジが追加され、
SUBWAY_FROM_TO_s’_s”
→SUBWAY_STATION_s”、
RideManyGetOff(多乗車下車)とラベル付けされ、s’からs”への乗車所要時間を表し、地下鉄の乗り換えと徒歩を含むことができる、一実施形態において、エッジの重みは、平日の朝のラッシュ時の平均最短乗車所要時間に設定される。他の実施形態において、ランダム変数を用いる。他の実施形態において、そのランダム変数は、s’の場所における乗客の到着時間、またはs’の場所からの出発時間を条件とする。
【0030】
(4.2.2 非固定時刻表)
頂点とエッジの2番目のグループは、固定時刻表に従わない車両によるルート決めを表す。
【0031】
全てのバス路線について、バス停と、バス停におけるバスとをモデル化する頂点を追加する。前者はバス外の乗客を抽象化し、後者はバス内の乗客を抽象化する。b1,..,bnを、バス路線eに沿ったn個の連続したバス停(オンデマンド停留所を含む)とする。次の頂点を、各k、1≦k≦nについて、追加する、
BUS_STOP_bk
および
BUS_AT_BUS_STOP_bk_k_e。
2つのバス路線は、バス停を共有できる。次のエッジがあり、このバス停でバスを降りることを示すGetOff(下車)とラベル付けされ、このエッジの重みはゼロである、
BUS_AT_BUS_STOP_bk_k_e→BUS_STOP_bk。
逆向きのエッジがあり、乗車する前にバス停bkでバス路線eのバスを待っている所要時間を表すWaitGetOn(乗車待ち)とラベル付けられている、
BUS_STOP_bk→BUS_AT_BUS_STOP_bk_k_e。
一実施形態において、エッジの重みは、平日の朝のラッシュ時のバス路線eのバスの平均到着時間の半分に設定され、これはそのバス路線の全てのバス停で同じである。他の実施形態において、多くの時間窓およびバス停のそれぞれにランダム変数を用いる。他の実施形態において、ランダム変数は、bkの場所への乗客の到着時間、または到着時間の分布を条件とする。
【0032】
同じバスでの移動をモデル化するため、次のエッジが追加され、RideSame(同様乗車)とラベル付けされて、バス停bkから次のバス停bk+1までの乗車の所要時間を表す、
BUS_AT_BUS_STOP_bk_k_e
→BUS_AT_BUS_STOP_bk+1_k+l_e。
一実施形態において、エッジの重みは、平日の朝のラッシュ時のこれらのバス停の間の平均乗車所要時間に設定される。他の実施形態において、多くの時間窓およびバス停のそれぞれにランダム変数を用いる。他の実施形態において、ランダム変数は、bkの場所へのバスの到着時間、またはbkの場所からの出発時間を条件とする。
【0033】
(4.2.3 徒歩)
徒歩を用いて、バス停と地下鉄駅の頂点を接続する。
【0034】
本発明の開示のこのセクションおよび他のセクションでは、徒歩に関するさまざまな要件を許容する。一実施形態において、特定の速度4km/hでの最短所要時間の徒歩を用いる。他の実施形態において、重みは速度6km/hを含む、階段を避ける、暗い道を避けるなど、いくつかの徒歩経路要件のそれぞれに対するランダム変数である。他の実施形態において、最大でも時間の固定量、例えば1時間、の所要時間の徒歩のみを許容する。他の実施形態において、徒歩は障害物を無視する直線である。他の実施形態において、徒歩はリフト、移動式通路、エレベータ、またはエスカレータによる移動を含むことができる。
【0035】
要件が許容されている場合の、任意のb,b’,s,s’について、次のエッジが追加される、
BUS_STOP_b
→BUS_STOP_b’,
BUS_STOP_b
→SUBWAY_STATION_s,
SUBWAY_STATION_s
→BUS_STOP_b、および
SUBWAY_STATION_s
→SUBWAY_STATION_s’。
各エッジは、Walk(徒歩)とラベルが付けされ、その重みは徒歩の所要時間を表す。
【0036】
(4.2.4 制約)
次に、ルートに沿った最初の待ちでの制約のモデリングを可能にする補助頂点を追加する。一実施形態において、待ちはゼロであり、これは、出発するバス/地下鉄に乗るのに十分に早いが、早すぎることなく、停留所/駅まで歩く乗客をモデル化する。他の実施形態において、待ちは移動の開始時間に依存し、特定の時間に、例えば午前8時に家を出て、移動を開始する乗客をモデル化する。
【0037】
バスの停留所と地下鉄の駅を地理的な近接度に基づいてクラスタ化する(cluster)。一実施形態において、クラスタ半径を2メートルに固定する。他の実施形態において、ルート決めシステムのユーザが必要とするリソース/品質のトレードオフに応じてクラスタの数を選択する。他の実施形態において、クラスタ半径は0メートルであり、この場合、クラスタはバス停および地下鉄駅の単純な複製である。
【0038】
各クラスタcに対して、次の頂点が追加され、
STOPSTATION_CLUSTER_SOURCE_c
そして、bkまたはsがクラスタcにある場合に、クラスタをバスと地下鉄に接続する次のエッジが追加される、
STOPSTATION_CLUSTER_SOURCE_c
→BUS_AT_BUS_STOP_bk_k_e、および
STOPSTATION_CLUSTER_SOURCE_c
→SUBWAY_FR0M_s。
エッジは、FirstWaitGetOn(第1乗車待ち)とラベル付けされる。一実施形態において、エッジの重みは0である。他の実施形態において、エッジの重みは、頂点の場所(バス停bk、または地下鉄駅s)における乗客の到着時間を条件とする、車両(バスe、または地下鉄)の待ち所要時間を示すランダム変数である。他の実施形態において、例えばクラスタ半径が大きい場合、cとbkまたはsとの間の徒歩所要時間だけ重みが増加する。
【0039】
グラフ内の、次の頂点
STOPSTATION_CLUSTER_SOURCE_c
からの任意の自明でない経路は、FirstWaitGetOn(第1乗車待ち)エッジを丁度1回だけ通る。
【0040】
他の補助頂点
STOPSTATION_CLUSTER_TARGET_c
を追加し、そして、クラスタc内の各bとsに、次のエッジが追加される。
BUS_STOP_b
→STOPSTATION_CLUSTER_TARGET_c、および
SUBWAY_STATION_s
→STOPSTATION_CLUSTER_TARGET_c。
エッジは、Zero(ゼロ)とラベル付けされ、重み0を有する。他の実施形態において、例えばクラスタ半径が大きい場合、徒歩所要時間によって重みが増加する。
【0041】
次の頂点、
STOPSTATION_CLUSTER_TARGET_c
の導入は、ルー決めターゲット場所が多数ある場合、グラフのサイズを小さくするのに役立つ。他の実施形態において、必要に応じて、これらの頂点を、
BUS_STOP_b、および
SUBWAY_STATION_s
からターゲットへの、直接エッジに置き換えることができる。
【0042】
これまでに作成されたグラフは、どのcおよびc’に対しても、
STOPSTATION_CLUSTER_SOURCE_c
STOPSTATION_CLUSTER_TARGET_c’、
から、移動の所要時間をモデル化するものであり、最初のバスまたは地下鉄に待たずにまたは所定の待ち時間で乗車し、乗客がバスまたは地下鉄のシーケンスから降りた後、後続の車両乗車には、乗車待ちが必要である。
【0043】
(4.2.5 見込エッジ)
次に、いくつかの車両のいずれかを使用することによる移動所要時間の改善を示す補助の頂点とエッジを追加する。改善は、車両の待ち時間の短縮または車両の乗車時間の短縮によってなされ得る。
【0044】
乗り物に乗るのを待つ所要時間は、乗客がランダムな時間に停留所/駅に到着すると仮定することによってモデル化でき、これは、非固定時刻表を用いる車両の確率的性質による。もし、グラフ経路上に2つの連続したRideManyGetOff(多乗車下車)乗車エッジがあれば、エッジを1つのRideManyGetOff(多乗車下車)エッジに置き換えることができる。
【0045】
見込エッジ(prospect edge)を導入する、これは、車両のいくつかの選択肢(choices)の1つを用いて、2つの場所間の移動を抽象化するものである。一実施形態において、エッジの重みは、これらの選択肢の中で予想される最小(expected minimum)移動所要時間の値である。
【0046】
このセクションにおいて、見込エッジで接続された2つの場所は、車両の停留所の近くにある。ただし、これは本方法を制限するものではない。実際、後のセクションでは、車両の停留所から遠くなる可能性のある任意の場所で終了する見込エッジについて説明する。一般に、見込エッジは、グラフ内の任意の2つの頂点を接続できる。ただし、説明のために、このセクションでは、車両の停留所の近くの見込エッジに焦点を当てる。
【0047】
上記と同様に、地理的な近接度に基づいてバス停と地下鉄駅をクラスタ化する。2つの異なるクラスタc,c’が与えられた場合、徒歩、バス乗車、そして徒歩によるcからc’への移動を考え、2つの徒歩のいずれも長さ0をとることができるものとする。例えば、
図3は、cから次の頂点
BUS_STOP_b、
に向かう徒歩、そこから、WaitGetOn(乗車待ち)、RideSame(同様乗車)、GetOff(下車)のエッジを持つバス路線eを含んで次の頂点
BUS_STOP_b’、
で終わるグラフ経路、を通って、
BUS_STOP_b’
からc’に至る例を示している。ここで、Tをcからc’への移動の所要時間を表すランダム変数とし、徒歩によってcからb、b’からc’へと移動し、グラフ経路によってモデル化されたバス乗車でbからb’へと移動するものとする。この変数は、経路に沿ったグラフエッジのランダム変数に、前段と後段の2つの徒歩のランダム変数を加えた合計である。その分布は、構成要素の分布から構築できる。一実施形態において、ランダム変数を、cからの出発時間によって条件付ける。
【0048】
一実施形態において、このランダム変数Tは、区間(interval)[x,y]において均一に分布しており、その区間の両端は、
x=(cからbまでの、最小徒歩所要時間)
+(経路エッジに沿った予想RideSame(同様乗車)所要時間の合計)
+(b’からc’までの、最小徒歩所要時間)、および
y=x+2・(予想WaitGetOn(乗車待ち)所要時間)、である。
他の実施形態において、両端は、ランダム変数の多数の標準偏差によって調整される。他の実施形態において、cからb、およびb’からc’への徒歩所要時間が多くともある固定時間、例えば1時間である場合にのみ、c,b,b’,c’を考慮する。他の実施形態において、徒歩のいずれもゼロ長さ(オプションの徒歩)であってもよい。他の実施形態において、cからb、またはb’からc’への最短所要時間徒歩を要求する。他の実施形態において、徒歩はセクション4.2.3におけるような実施形態を有してもよい。他の実施形態において、ランダム変数Tは不均一である。他の実施形態において、ランダム変数Tはcの場所への乗客の到着時間を条件とする。
【0049】
固定バス路線eの場合、乗客はそのバス路線のさまざまなバス停で乗降することができ、残りの移動には徒歩を使用できるので、cからc’への移動には多くの選択肢がある。例えば、
図4は、
図3を拡張しており、追加の1つの停留所、
BUS_STOP_b”
における別の乗車によって、合計乗車所要時間は増加するが、合計徒歩所要時間が減少する。一実施形態において、これらの選択肢の中から、最小の期待値を持つランダム変数Tを用いる。これを変数Tcc’eで示す。これは、バス路線eおよび開始と終了のクラスタc,c’についての固定ランダム変数である。この変数は、バス路線eによって確率的にcからc’に到達するための、最速移動所要時間を示す。一実施形態において、Tcc’eの候補が間隔で均一に分布している場合、最小期待候補は、その区間の最小中央値を有する候補にすぎない。他の実施形態において、例えば、ピーク時間中にバスをより高い頻度で、そしてより高い道路交通量で確保するために、多くの時間窓のそれぞれに対して1つの変数を用いる。他の実施形態において、ランダム変数は、cの場所への乗客の到着時間を条件とする。
【0050】
乗客のcからc’への移動に役立つ、全てのバス路線e
1,..,e
nを考える。徒歩およびバス停の構成は異なってもよいことに注意。例えば、
図5は、2つのバス路線e
1およびe
2を示し、それぞれが別個のバス停を用い、異なる徒歩所要時間を有する。前に定義したように、Tcc’e
1,..,Tcc’e
nを、それぞれの最速移動所要時間のランダム変数とする。
【0051】
変数の予想される最小(expected minimum)値E[min(1≦i≦n)Tcc’ei]を計算することができる。この予想値は、「どのバスが私をそこに、より早く連れて行くか」ということによって、移動所要時間をモデル化する。一実施形態において、異なるバス路線のランダム変数は、独立(independent)である。つまり、どの2つの異なるバス路線eiとejについても、Tcc’eiは、Tcc’ejから独立である。他の実施形態において、ランダム変数は共通の区間[x,y]において、独立均一である従って、予想される最小値は(y+nx)/(n+1)である。他の実施形態において、予想される最小値のための数式、近似積分、ランダムサンプリング、または他の近似アルゴリズム、または発見的手法を通して、予想値を計算する。近似アルゴリズムを用いると、本方法は、最短ルートが生成されなくなるが、代わりにほぼ最短ルートが生成される。
【0052】
次に、予想される最小移動所要時間の計算に地下鉄を含める方法を説明する。バスと同様に、Tcc’ss’を、徒歩と地下鉄乗車による、cからc’までの最速移動所要時間のランダム変数とする。
図6に示すように、cからsへの徒歩、グラフ内の経路である
SUBWAY_STATION_s
→SUBWAY_FROM_TO_s_s’
→SUBWAY_STATION_s’、
および、s’からc’までの徒歩がある。この変数の分布は、構成要素の分布から構成できる。一実施形態において、ランダム変数を、cからの出発時間に条件付ける。
【0053】
一実施形態において、Tcc’ss’は、区間[x,y]に均一分布し、その区間の両端は、
x=(cからsまでの、最小徒歩所要時間)
+(グラフ経路での予想RideManyGetOff(多乗車下車)所要時間)
+(s’からc’までの、最小徒歩所要時間)、および
y=x+2・(グラフ経路での予想WaitGetOn(乗車待ち)所要時間)である。
他の実施形態において、両端は、ランダム変数の多数の標準偏差によって調整される。他の実施形態において、cからs、およびs’からc’への徒歩所要時間を、多くともある固定時間、例えば1時間に制限する。他の実施形態において、徒歩のいずれも長さがゼロ(オプションの徒歩)であってもよい。他の実施形態において、cからsへ、またはs’からc’への最短所要時間徒歩を要求する。他の実施形態において、徒歩はセクション4.2.3におけるような実施形態を有してもよい。他の実施形態において、Tcc’ss’は不均一である。他の実施形態において、Tcc’ss’は、cの場所への乗客の到着時間を条件とする。他の実施形態において、多くの時間窓のそれぞれに対して1つの変数を用いる。
【0054】
複雑さは、地下鉄のランダム変数が固定の地下鉄スケジュールから派生しているため、ランダム変数が二つ一組になって依存するという点において、発生する。これにより、cからc’までの予想される最小移動所要時間の計算が複雑になる場合がある。
【0055】
乗客をcからc’に輸送するのに役立つ全ての地下鉄乗車を考え、s1,s’1,..,sm、s’mを、それぞれランダム変数Tcc’s1s’1,..,Tcc’sms’mを有する、m個の乗車下車地下鉄駅とする。
【0056】
一実施形態において、任意の1つの地下鉄ランダム変数は、全てのバス路線ランダム変数と共に、独立している。その場合、バスと地下鉄の予想される最小移動所要時間を予想される複数の最小値の中の最小値として計算し、バスの乗車プールに一度に1つの地下鉄の乗車を追加し、それをP(c,c’)として下式のように表す:
P(c,c’)=
min E[min(Tcc’sjs’j,Tcc’e1,..,Tcc’en]、 (1)
1≦j≦m
P(c,c’)は見込移動(prospect travel)と呼ばれ、都合の良い複数の交通手段の選択肢を含むcからc’への移動を表す。ここに、(m+n)個の構成ランダム変数Tcc’sjs’j,Tcc’eiは、選択肢(choices)と呼ばれる。
【0057】
一実施形態において、Tcc’eiは区間全体で均一であり、Tcc’sjs’jもそうである。その場合、ある数のTiについて予想される最小値E[min Ti]を計算すると、それぞれの区間[xi,yi]全体で均一である。
【0058】
例えば、
図7は、下記の3つの選択肢(choices)を含む、cからc’への移動を示す:
・区間[0,900]で均一な待ちと徒歩&乗車1700を有するバス路線e’、
・区間[0,3600]で均一な待ちと徒歩&乗車1000を有するバス路線e”、
・区間[0,300]で均一な待ちと徒歩&乗車2200を有する地下鉄。
この場合、最小の予想される移動所要時間は2150=min{2150,2800,2350}であり、「どちらか速い方」による移動の改善を反映していない。ただし、予想される最小値は低くなる:P(c、d)=1933。
【0059】
他の例において、
図8は、乗客がc(見込エッジのソース)に到着する時間を条件とする、確率分布を示す。cからc’に行くには2つの選択肢があり、1つはバスで、もう1つは地下鉄である。各選択肢には、待ちのため、および徒歩と乗車のための、条件付き確率分布がある。
【0060】
もし、P(c,c’)の値が、予想の最小値min(min(1≦j≦m)E[Tcc’sjs’j],min(1≦i≦m)E[Tcc’ei])よりも小さければ、見込移動による所要時間に利得が生じる。その場合、グラフに、次の頂点と、
PROSPECT_CLUSTER_SOURCE_c、および
PROSPECT_CLUSTER_TARGET_c’、
そして、重みP(c,c’)を有して、AvgMinWalkWaitRideWalk(平均最小徒歩待ち乗車徒歩)とラベル付けられる、次のエッジと、を追加する、
PROSPECT_CLUSTER_SOURCE_c
→PROSPECT_CLUSTER_TARGET_c’。
また、クラスタcのバスと地下鉄の駅からのエッジを、次の頂点、
PROSPECT_CLUSTER_SOURCE_c、
に追加し、次の頂点、
PROSPECT_CLUSTER_TARGET_c’
から、クラスタc’のバスと地下鉄駅にエッジを追加し、これらのエッジはZero(ゼロ)とラベル付けられ、重みゼロを有する。一実施形態において、その重みP(c,c’)が、例えば少なくとも10秒のしきい値を超えるゲインをもたらす場合にのみ、見込エッジを追加する。
【0061】
本方法は、最初に到着した交通手段の選択肢に乗車することを、乗客に要求するものではなく、それは、単に長い待ち時間を必要とする後の選択肢が目的地に早く到着する可能性があるためである(高速バスと通常のバスを考えるとよい)。本方法は、同じ停留所/駅でバスに乗る必要はなく、なぜなら、乗客は他の停留所/駅まで、例えば、そこから出発する急行列車を予想して、歩くことができるからである。
【0062】
(定義1)
一実施形態において、見込移動は、以下によって定義される:
・任意の2つの場所c,c’、
・それぞれcからc’への移動所要時間を表す任意の個数k≧2のランダム変数T1,..,Tk、
・そのk個の変数は互いに独立、依存、または任意に相関、
・そのk個の変数のいずれも、乗客が場所cに到着する時間Aを条件としてもよく、その時間Aはランダム変数であってもよい。
見込移動の所要時間は、最小値min(T1,..,Tk)であり、それ自体がランダム変数である。見込エッジの重みは、この最小値の期待値である、P(c,c’)=E[min(T1,..,Tk)]。
【0063】
他の実施形態において、ランダム変数Tiは、区間に均一に分布する。一実施形態において、ランダム変数Tiは、特定の時間窓内に入る、cへの到着時間、またはcへの到着時間の確率分布、を条件とする。
【0064】
一実施形態において、ランダム変数T1,..,Tkを決定するために、c付近の車両停留所およびcからこれらの停留所までの徒歩の所要時間のリストと、c’付近の車両停留所およびこれらの停留所からc’までの徒歩の所要時間のリストと、を決定し、2つのリストにおける車両停留所の各ペアに対して、移動所要時間ランダム変数を決定する。
【0065】
一実施形態において、ランダム変数min(T1,..,Tk)に関する様々な統計量を計算する。1つは、すでに述べた期待値である。また、特定の確率で到達できる到着時間を決定するために用いることができる確率質量を計算する。これらの統計量を計算するために、サンプリング、閉形式の公式、近似積分、その他の近似アルゴリズムまたは発見的手法を含むいくつかの方法を用いる。
【0066】
一実施形態において、見込移動のコンポーネントを事前計算して保存しておくことにより、見込移動を決定する必要がある場合に、ストレージからコンポーネントを取得し、コンポーネントをゼロから計算することを回避できる。そのようなコンポーネントの例として、車両停留所のペア間の移動の所要時間のランダム変数、2つ以上の移動所要時間ランダム変数の予想される最小値、少なくとも2つの移動時間ランダム変数の最小値の確率分布、または、車両停留所のペア間の経路または移動所要時間、がある。
【0067】
これまで、特定のcとc’の見込エッジを計算する方法を定義した。この定義を個別のcとc’全てのペアに適用し、これにより、どの重みの見込エッジによって、どの見込クラスタが接続され、どれが接続されないか、が決定される。
【0068】
一実施形態において、c,c’ペアの二次数を考える代わりに、グラフトラバーサルを実行する。一実施形態において、各cについて、頂点、
PROSPECT_CLUSTER_SOURCE_c、
から、徒歩-バス/地下鉄-徒歩によって到達可能な全ての頂点、
PROSPECT_CLUSTER_TARGET_c’
まで、前方向きに「前方」トラバーサルを用いる。このトラバーサル中に、各c’に対ついて、
PROSPECT_CLUSTER_TARGET_c’、
に至るグラフ経路を特定する。特定のc’について、全てのそのような経路を特定したら、
PROSPECT_CLUSTER_SOURCE_c、と
PROSPECT_CLUSTER_TARGET_c’
の間の、全ての選択肢を計算し、これらの選択肢の予想される最小値を計算できる(さらなる例については
図9参照)。グラフの到達可能な部分のみに探索を制限するので、多くの場合、見込エッジをより効率的に計算できる。一実施形態において、各c’について、頂点、
PROSPECT_CLUSTER_TARGET_c’、
から、「逆転された」経路の徒歩-バス/地下鉄-徒歩によって到達可能な全ての頂点、
PROSPECT_CLUSTER_SOURCE_c
まで、後方向きに「後方」トラバーサルという対称的方法を用いる。
【0069】
図9は、どの待ち所要時間もそれぞれのエッジの区間[0,2WaitGetOn(乗車待ち)]に均一に分布し、かつ乗車所要時間が決定的である場合に、グラフG0に見込エッジを追加する処理の実施形態を示している。
【0070】
(4.3 グラフG0の拡張)
グラフG0の拡張について説明する。各拡張は、特定の種類のルート決めクエリに役立つ。
【0071】
(4.3.1 ソースが既知)
いくつかの実施形態において、ルート決めクエリのソース場所は事前に知られている。例えば、首都圏の全てのレストランからの最短ルートを見つけることに興味があり、レストランの場所がわかっているとする。これは、拡張グラフG0を用いて実現できる。
【0072】
一実施形態において、そのようなソースs毎に、下記頂点を追加する
SOURCE_s。
図1参照。一実施形態において、
SOURCE_s
から、任意のバス停と地下鉄駅のクラスタ
STOPSTATION_CLUSTER_SOURCE_c
に向かうエッジを、グラフG0に追加する。エッジはWalkとラベル付けされ、その重みは徒歩の所要時間を表す。他の実施形態において、大きくともしきい値までの所要時間を有する最短徒歩、またはセクション4.2.3のような他の実施形態、を用いる。
【0073】
得られるグラフは、G1(G0を含む)で表示される。G1は、任意の、
SOURCE_s
から、任意の
STOPSTATION_CLUSTER_TARGET_c
への最短経路を計算するために用いることができる。一実施形態において、クエリが提示されると、いくつかの経路が事前計算され、保存され、ストレージから取得される。
【0074】
他の実施形態において、ターゲットが事前に知られている場合、対称方法が用いられる。各ターゲットtについて、下記頂点を追加し、
TARGET_t、
任意の
STOPSTATION_CLUSTER_TARGET_c
から任意の
TARGET_t
への、Walk(徒歩)とラベル付けされるエッジを追加する。得られるグラフは、G1’で表示される。
【0075】
(4.3.2 ターゲットが既知)
いくつかの実施形態において、ルート決めクエリのターゲット場所は事前に知られており、ターゲットまでの見込エッジを有するG0を拡張する。
【0076】
各ターゲットtに対して、下記の頂点を追加する、
TARGET_t。
図1参照。一実施形態において、グラフG0におけるバス停および地下鉄駅クラスタ
STOPSTATION_CLUSTER_TARGET_c
から、
TARGET_t、
へのエッジを追加する。エッジにはWalkというラベル付けられ、その重みは徒歩の所要時間を表す。他の実施形態において、大きくともしきい値までの所要時間を有する最短徒歩、またはセクション4.2.3のような他の実施形態、を用いる。
【0077】
セクション4.2.5と同様の処理に従い、見込エッジを追加する。具体的には、任意の
PROSPECT_CLUSTER_SOURCE_c
および
TARGET_t、
について、cからtまでの全ての経路を、下記の2種類について、決定する。
(1)徒歩でバスに乗車するグラフ経路:cからbまで徒歩、
BUS_STOP_b
→BUS_AT_BUS_STOP_b_i_e
→BUS_AT_BUS_STOP_b’_j_e
→BUS_STOP_b’
→STOPSTATION_CLUSTER_TARGET_c”
→TARGET_t、
(2)徒歩で地下鉄に乗車するグラフ経路:cからs’まで徒歩
SUBWAY_STATION_s’
→SUBWAY_FROM_TO_s’_s”
→SUBWAY_STATION_s”
→STOPSTATION_CLUSTER_TARGET_c’
→TARGET_t。
他の実施形態において、大きくともしきい値までの所要時間を有する最短徒歩、またはセクション4.2.3のような他の実施形態、を用いる。セクション4.2.5のように、各経路に沿った移動所要時間のランダム変数を定義する。
【0078】
一実施形態において、種類(1)は独立のランダム変数であり、種類(2)は非独立のものである、と仮定する。そして、全ての種類(1)ランダム変数のプールを考慮し(繰り返しバス路線の重複を適切に削除する)、P(c,c’)に関する式1におけるように、一度に、1種類(2)ランダム変数のプールに追加することにより、予想される最小移動所要時間を計算する。他の実施形態において、見込移動の定義1を用いる。これは、cからtへの見込移動と呼ばれるP(c,t)を定義する。
【0079】
最小限の期待以上に移動所要時間に利得がある場合、
PROSPECT_CLUSTER_SOURCE_c
から、
TARGET_t
までのエッジを加え、このエッジは重みP(c,t)を有してAvgMinWalkWaitRideWalkとラベル付けられる。また、
PROSPECT_CLUSTER_SOURCE_cから、
PROSPECT_CLUSTER_TARGET_c’
までの、以前に定義したエッジに用いたものと同様の実施形態を、これらに用いる。
【0080】
一実施形態において、セクション4.2.5で説明したように「前方向」または「後方向」のグラフトラバーサルを用いて、全てのcおよびtについて、
PROSPECT_CLUSTER_SOURCE_c、と
TARGET_t、
との間の見込エッジの計算を高速化する。他の実施形態において、このトラバーサルは、G0で見込エッジを計算するときのトラバーサルにマージすることができる。
【0081】
得られるグラフは、G2(G0を含む)で表示される。G2は、任意の、
STOPSTATION_CLUSTER_SOURCE_c
から、任意の
TARGET_t
への最短経路を計算するために用いることができる。一実施形態において、クエリが提示されると、いくつかの経路が事前計算され、保存され、ストレージから取得される。
【0082】
他の実施形態において、ソースが事前に知られている場合、対称方法が用いられる。各ソースsについて、下記頂点を追加し、
SOURCE_s、
任意の、
SOURCE_s
から任意の
PROSPECT_CLUSTER_TARGET_c
への、見込エッジを計算する。得られるグラフは、G2’で表示される。
【0083】
(4.3.3 クエリが提示されたときに明らかになるソース、ターゲットは既知)
いくつかの実施形態において、ルート決めクエリのターゲット場所は事前に知られているが、ソースはクエリが提示されたときにのみ明らかになる。
【0084】
一実施形態において、セクション4.3.2のグラフG2を用いて最短乗車を計算する。
【0085】
クエリ(s,t)が提示されると、sの場所から、下記のそれぞれへの徒歩を決定する、
STOPSTATION_CLUSTER_SOURCE_c。
一実施形態において、大きくともしきい値までの所要時間を有する最短徒歩であって、それによりソース場所付近の車両停留所のリストを生成する最短徒歩、またはセクション4.2.3のような他の実施形態、を用いる。また、グラフG2において、
STOPSTATION_CLUSTER_SOURCE_c
から、
TARGET_t
への、最短移動の継続を決定する。一実施形態において、
STOPSTATION_CLUSTER_SOURCE_c
のそれぞれから、
TARGET_t、
までの最短経路所要時間を、事前計算し、その結果を保存する。クエリが提示されると、ストレージからこれらの結果を検索する。他の実施形態において、クエリが提示されたとき、所要時間を計算するため、G2において、最短経路アルゴリズムグラフを用いる。
【0086】
sからcへの徒歩とcからtへの移動の所要時間の合計を最小化するクラスタcを見つける。この最小値は、sからtまでの最短移動時間である。
【0087】
他の実施形態において、クエリが提示されたときにのみターゲットが明らかにされるとき、対称方法を用いる。次に、ソース場所の近くの車両停留所のリストを生成する代わりに、ターゲット場所の近くの車両停留所のリストを生成する。
【0088】
他の実施形態において、グラフG2を用いる代わりに、グラフG1’を用いる。
【0089】
(4.3.4 クエリの提示時に明らかになるターゲット、ソースが既知)
一部の実施形態において、ルート決めクエリのソース場所は事前に知られているが、ターゲットはクエリが提示されたときにのみ明らかになる。
【0090】
一実施形態において、セクション4.3.1のグラフG1を用いて最短乗車を計算する。ただし、ターゲットへの見込エッジを計算する必要がある。ターゲットは事前に不明であるため、この計算はセクション4.3.2よりも複雑である。
【0091】
G0の各見込エッジに対して選択がどのように計算されたかを思い出す。各クラスタcおよびc’について、選択肢(c,c’)を、
PROSPECT_CLUSTER_SOURCE_c
から、
PROSPECT_CLUSTER_TARGET_c’
へのエッジのP(c,c’)を計算するために用いる選択肢とする。選択肢(c,c’)は、選択肢を1つだけ(例:バス1つ、地下鉄1つなど)持つことがあり得る。選択肢(c,c’)は、十分な利得がないため見込エッジがG0に追加されなかった場合であっても、定義される。
【0092】
グラフG1において、次のソース、
SOURCE_s
およびグラフに表されてなくともよい任意のターゲット場所t、に対して提示されたクエリを(s,t)とする。
【0093】
sからtへの最短経路には、バスが1本のみ、または地下鉄のみが含まれる場合がある。その場合、見込エッジを考慮する必要はない。グラフG1を取得し、これをさらに拡張する。頂点、
TARGET_t、
と、任意のcについて、
STOPSTATION_CLUSTER_TARGET_c、
から、
TARGET_t。
へのエッジを追加する。これらの各エッジは、Walkとラベル付けられ、その重みは徒歩所要時間である。一実施形態において、任意のエッジは、大きくともしきい値までの持続時間を有する最短徒歩所要時間、またはセクション4.2.3のような他の実施形態を表す。得られたグラフにおいて、
SOURCE_s
から
TARGET_t
までの、最短経路を計算し、経路の長さをA(s,t)で表す。この長さは、sからtまでの最短移動所要時間の候補である。
【0094】
他の候補がある。最短経路には、より多くの車両が含まれることもある。その場合、経路に沿って最後から2番目の停留所/駅がある。このケースをカバーするために、tへの見込エッジを計算する。この処理は
図12に示されている。図を簡略化するため、図面には1枚札(singleton)の見込クラスタが描かれている(それぞれにバス停が1つ、または地下鉄の駅が1つだけある)。
【0095】
tへの見込エッジを計算するには、グラフG1から始める。最後から2番目の停留所/駅で終わるsからtまでの移動の各部を列挙する。具体的には、
SOURCE_s
から、各cについて、
PROSPECT_CLUSTER_SOURCE_c、
までの最短移動所要時間を決定する。この所要時間を、最短(s→c)で表す。例えば、
図12において、
SOURCE_s
から
SUBWAY_STATION_s
l
へのエッジに付された値900は、
SOURCE_s
から、
PROSPECT_CLUSTER_SOURCE_s
1
への最短移動所要時間を示す。この移動は、グラフG1における見込エッジに沿って通過する場合があることに注意。一実施形態において、この所要時間は、クエリが提示される前に、事前計算および格納され、クエリ時にストレージから検索され得る。
【0096】
最後から2番目の停留所/駅からターゲットtまで、移動がどのように続くかを、見込エッジと徒歩を用いて決定する。全ての
PROSPECT_CLUSTER_SOURCE_c、
について、最初に、選択肢(c,c’)と呼ばれる中間体、
PROSPECT_CLUSTER_TARGET_c’
に移動してc’からtへの徒歩を続けることにより、cからtに移動する選択肢を決定する。一実施形態において、大きくともしきい値までの所要時間を有する最短徒歩c’からtのみ、またはセクション4.2.3にあるような他の実施形態、を考慮する。例えば、
図12において、選択肢(b
1,b
0)は、
BUS_STOP_b
1
から
BUS_STOP_b
0
へのエッジに付されて示されており、2つの選択肢があり、1つは、バス路線e”であり、[0,900]において待ち所要時間が均一、移動所要時間1600、他の1つは、バス線e’”であり、[0,3600]において待ち所要時間が均一、所要所要時間1000である。続いて、
BUS_STOP_b
0
から
TARGET_t
まで、徒歩240を要する。
【0097】
cにいる乗客はc’を継続として選択する可能性があるので、tにおいて全てのc’の選択肢を組み合わせる。この組み合わせにより、cからtへの移動の選択肢が形成される。例えば、
図12において、
BUS_STOP_b
1
からの他のエッジがあり、そのエッジは、
BUS_STOP_b
2
に行く。そのエッジに付された選択肢(b
1,b
2)には、ただ1つの選択肢を持ち、それはバス路線e’であり、[0,300]において待ち所要時間が均一、所要時間900である。続いて、
BUS_STOP_b
2
から
TARGET_t
まで、徒歩500を要する。選択肢(b
1,b
0)と選択肢(b
1,b
2)の組み合わせにより、3つの選択肢(バス路線e’,e”,e’”)が生成される。これらは、
BUS_STOP_b
1
から
TARGET_t
への選択肢である。これらの選択肢を用いた場合の予想される最小移動時間は、2636である。
【0098】
セクション4.2.5のように、同じバス路線によるバスの重複乗車を排除する必要がある。例えば、
図12において、乗客は、同じバス路線e”を用いて、
SUBWAY_STATION_s
1
から出発できるが、2つの異なる場所、
BUS_STOP_b
2
と、
SUBWAY_STATION_s
0
に行く。cにおけるバス路線については、cからtまでの予想される移動所要時間が最も短いこのバス路線の選択肢のみを保持する(cにおけるこのバス路線の他の選択肢を排除する)。例えば、
図12における、
SUBWAY_STATION_s
0
の選択は、より高い期待を有しているので、排除する。セクション4.2.5においてP(c,c’)を計算した方法と同様に、残りの選択肢の中から予想される最小移動所要時間P(c,t)を計算する。
【0099】
最短経路は、cのいずれかを通過する可能性があるため、c全体で最小値を計算し、それを下記のB(s,t)で表す。
B(s,t)=min
c{最短(s→c)+P(c,t)}。
例えば、
図12において、最小値B(SOURCE_s,TARGET_t)=2445、つまり、min{2636,2445}であり、これは、乗客が最後から2番目の
SUBWAY_STATION_s
1
に移動する方が、同じく最後から二番目の
BUS_STOP_b
1
に移動するよりも有利だからである。
【0100】
この量は、最後から2番目の車両を含む、sからtまでの最短移動所要時間を示す。B(s,t)は、sからtまでの最短移動所要時間のもう1つの候補である。
【0101】
最後に、クエリへの応答は、2つの候補の最小値である:min{A(s,t),B(s,t)}。
【0102】
例えば、
図12において、クエリへの応答はなおも2445であり、これは、
SOURCE_s
から、
BUS_STOP_b
0
を通して、
TARGET_t
まで移動する1台の車両のみを用いては移動を短縮できず、この移動所要時間がA(SOURCE_s,TARGET_t)=3000+240となるからである。
【0103】
他の実施形態において、グラフG1を用いる代わりに、グラフG2’を用いる。
【0104】
他の実施形態において、クエリが提示されたときにのみソースが明らかにされる場合に、ソースからの見込エッジを計算するため、対称方法を用いる。そこで、ターゲットに到達する前の、最後から2番目と最後の停留所を検討する代わりに、ソースを出発後の、最初と2番目の停留所を検討する。
【0105】
(4.3.5 クエリ時に明らかにされたソースとターゲット)
クエリのソースとターゲットの両方が事前に不明な場合、前セクションの方法を選択して組み合わせる。一実施形態において、ソースsの場所から、各cについて、
STOPSTATION_CLUSTER_SOURCE_c、
までの徒歩を決定し、
STOPSTATION_CLUSTER_SOURCE_c
からターゲットt(最後から2番目の選択肢を含むか、または含まない)まで移動する。cで選択された最小合計で応答する。一実施形態において、大きくともしきい値までの所要時間を有する最短徒歩、またはセクション4.2.3のような他の実施形態を用いる。
【0106】
(4.4 変形例)
実施形態の範囲および精神から逸脱することなく、多くの修正および変形が当業者には明らかであろう。説明のため、いくつかの変形例を紹介する。
【0107】
一実施形態において、見込エッジのより一般的な概念を用いる。移動に複数の車両と待ちが含まれる場合、グラフ内の最短経路検索は複数の見込エッジを横断する可能性があり、経路に沿ったこれらの見込エッジは一緒に複数の待ちと乗車の繋がりを抽象化する。この多重度を捕捉するために、一実施形態において、最大でd個の待ちと乗車の繋がりを抽象化する深さdの見込エッジのより一般的な概念を用いる。例えば、c-walk1-wait1-bus1-walk2-wait2-bus2-walk3-c’という経路は、cからc’への深さ2の見込エッジとして抽象化できる。一実施形態において、1よりも大きいdについて、深さdの見込エッジをグラフに追加する。
【0108】
一実施形態において、本方法は、出発時間を与えられてルートを構築する。例えば、乗客が火曜日の午前8時に移動を開始する場合を考える。ここで、ルート決めクエリは、ソース場所とターゲット場所に加え、出発時間を指定する。一実施形態において、ソースは、
STOPSTATION_CLUSTER_SOURCE_s、
であり、ターゲットは、
STOPSTATION_CLUSTER_TARGET_t
である。グラフG0、
図1参照、を変更する。ここでは最初の乗車でも待ちが必要な場合があるので、FirstWaitGetOnエッジ、および
SUBWAY_FROM_s
頂点とを取り除き、クラスタc内の任意のbおよびsについて、
STOPSTATION_CLUSTER_SOURCE_c
から、
BUS_STOP_b
と
SUBWAY_STATION_s、
へのそれぞれに、エッジを追加する。一実施形態において、見込エッジを用いるために、ダイクストラの最短経路アルゴリズムを採用する。各頂点、
PROSPECT_CLUSTER_SOURCE_c
について、頂点での乗客の既知の最低予想到着時間を維持し、この時間を用いて待ち、徒歩、および乗車所要時間ランダム変数を調整し、それぞれの
PROSPECT_CLUSTER_TARGET_c’
に対する見込エッジを計算する。このように計算されたエッジの重みを用いて、
PROSPECT_CLUSTER_SOURCE_c’
における既知の最低予想到着時間を更新する。他の実施形態において、各既知の最低予想到着時間を、
PROSPECT_CLUSTER_SOURCE_c
または、
PROSPECT_CLUSTER_TARGET_c
のそれぞれにおいて維持または更新する代わりに、到着時間の確率分布を維持または更新する。他の実施形態において、他の最短経路アルゴリズム、例えば同様の方法におけるA
*(Aスター)探索アルゴリズムを採用する。他の実施形態において、例えば、出発時間が「今/まもなく」である場合、条件付きランダム変数は、クエリの時点での輸送システムの状態を用いて計算され、待ち時間および乗車所要時間のより正確な分布を提供する。
【0109】
一実施形態において、本方法は、到着期限が与えられたルートを構築する。例えば、乗客が火曜日の午前9時より前に目標に到着したい場合を考える。これは、午前9時にターゲットから出発するのと同じであるが、時間と空間を遡る。これは、グラフを適切に逆に構成することで簡単に抽象化できる(バスと地下鉄は逆の時間と空間で移動させる)。
【0110】
一実施形態において、最終期限前の所望の到着確率pを満たす見込移動を決定する。cからdへの見込エッジを考える場合、cにおける乗客の到着時間を示すランダム変数Aを用いる。次に、選択肢を用いて、cからdまでの移動所要時間の、k個のランダム変数T1,..,Tkが与えられると、見込移動min(A+T1,..,A+Tk)を用いて、c’における到着時間の分布を決定する。次に、この分布が、どの時間tまで、所望の確率pである質量を持つかを決定する。
【0111】
一実施形態において、最短経路に沿った車両、または経路に沿った各点についての到着/出発時間、を報告する。この情報は、グラフ内の経路、および経路に沿った見込エッジの選択肢から簡単に読み取ることができる。
【0112】
一実施形態において、ストレージが制限され、バックエンドサーバとの通信が制限されているコンピューティングデバイス上のルート決めクエリに応答する。例えば、これはプライバシーを懸念するユーザの携帯電話で発生する可能性がある。その場合、グラフG0で適切に少数のクラスタを用いる。他のグラフでも同様の手法を使用できる。
【0113】
一実施形態において、最大徒歩所要時間、最大乗り換え回数、最大待ち所要時間、特定の種類の車両への制限(例えば、高速バスと地下鉄のみを用いる)を含む要件を、ルー決め応答に課する。本発明は、グラフの適切な修正およびグラフの最短経路アルゴリズムによってこれらの要件を実現する。
【0114】
一実施形態において、本方法は不完全なグラフに適用される。例えば、エッジWaitGetOnの重みが地下鉄の予想される待ち所要時間を正確に反映していない可能性があり、おそらく所要時間を誤って推定したかまたは大都市圏に存在しないバスの頂点とエッジを使ったから、おそらくバス路線が市政府によってキャンセルされたのに本方法がそのキャンセルに気付かなかったか、または選択肢の最小値の期待値を大きな誤差でサンプリングしたまたは近似の数式/アルゴリズムを使用したから、であろう。これらは不完全性のほんの数例に過ぎない。いずれにせよ、本方法はまだ適用できる。何らかのエラーを伴うルートを生成するだけである。
【0115】
一実施形態において、グラフから不要な頂点とエッジを削除する。例えば、G0における「通過」頂点、
SUBWAY_AVG_FROM_TO_s’_s”
は、入エッジと出エッジとを融合させることにより、削除する。
【0116】
一実施形態において、本方法のステップは、他の順序で適用される。例えば、グラフG0を構築するとき、セクション4.2.1と4.2.2で説明されている順序を逆にすることができ、最初に非固定時刻表車両の頂点とエッジを追加し、次に固定時刻表車両の頂点とエッジを追加する。
【0117】
一実施形態において、方法を並列化する。例えば、
PROSPECT_CLUSTER_SOURCE_c
のそれぞれから見込エッジを計算する代わりに、任意の2つのc1とc2を考え、
PROSPECT_CLUSTER_SOURCE_c1
からの見込エッジを計算する際に、次の
PROSPECT_CLUSTER_SOURCE_c2
からの見込エッジの計算と並行して行う。
【0118】
(5 コンピュータシステム)
本発明の実施形態の1つは、ルート決めクエリに応答するコンピュータシステムである。
【0119】
一実施形態において、本システムは、出発時刻が与えられると、場所間の最短ルートのクエリに応答する:ここで、任意のクエリは、所定形式(ソース、ターゲット、minuteOfDay(分時刻))を有する。応答は、所要時間、選択肢付きルート、の形式である。実施形態の説明は
図13にある。
【0120】
本明細書では「モジュール」という用語を用いる。この用語は、特定の機能を提供するコンピュータ(サブ)システムを意味することは当技術分野で知られている。コンピュータシステムを特定のモジュールに分割するというこの選択は例示的なものであり、必須ではない。当業者は、本発明の範囲から逸脱することなく、システムを他の方法でモジュールに編成できることに気付くであろう。
【0121】
システムの1つのモジュール(1202)は、複数のデータソース(1201)から大都市交通システムに関する情報を読み取る。このモジュールは、どの車両、ルート、またはそれらの各部が、固定時刻表のものと見なされ、どの非固定時刻表のものと見なされるかを決定する。このモジュールは、固定時刻表車両のルートを計算する。このモジュールは、また、非固定時刻表車両の時間に基づいて、待ち所要時間と乗車所要時間の分布を計算する。
【0122】
出力は、見込エッジを計算するモジュール(1204)に渡される。そのモジュールは、複数のデータソース(1203)からの徒歩に関する情報を照会する。選択された見込クラスタcとc’、およびcにおけるの乗客の到着時間について、モジュールは、cにおける乗客の到着時間を条件とするランダム変数を用いて、見込エッジの重みP(c、c’)と選択肢を計算する。結果はストレージ(1205)に保存される。
【0123】
モジュール(1202)および(1204)は、継続的に動作する。その結果、システムは、輸送システムの新しいモデルを維持する。
【0124】
その間、他のモジュール(1206)は最短経路を事前計算する。モジュールは、時々、(1205)から見込エッジを読み取り、(1202)から非見込エッジを読み取とって、場所をつなぐグラフを構築する。所定形式(停留所/駅クラスタソース、停留所/駅クラスタターゲット、minuteOfDay)のクエリから選択されたクエリについて、経路を計算するため、最短経路アルゴリズムがグラフに適用される。結果は、後で必要になったときストレージ(1207)から結果を検索できるように、保存される。
【0125】
同時に、クエリ応答モジュール(1208)がクエリに応答する。クエリ(ソース、ターゲット、minuteOfDay)(1209)が届くと、モジュールはセクション4に従って最短経路を計算する。モジュールは、(1203)に連絡して、ソースとターゲット、および停留所/駅クラスタ間の徒歩を決定する。モジュールは、(1207)から関連する事前計算された最短経路を検索する。必要であるがまだ利用できない場合、モジュールは、モジュール(1206)に最短経路を要求し、結果の最短経路を将来の使用のためにストレージ(1207)に保存する。モジュール(1208)は、(1205)からの選択肢と時間も検索する。これらの徒歩、最短経路、および選択肢が組み合わされて、クエリに対する応答(1210)が生成される。
【0126】
本発明の態様は、ハードウェアの実施形態、ソフトウェアの実施形態、またはこの2つの組み合わせの形をとることができる。本発明のステップは、任意のフローチャートのブロックを含み、機能性および最適化に応じて、順不同で、部分的に並行して、または貯蔵所から提供されて、実行され得る。態様は、シーケンシャルシステムまたはパラレル/分散システムの形をとることができ、各コンポーネントは他のコンポーネントと重複する可能性のあるいくつかの態様を実現し、コンポーネントは、例えばあらゆる種類のネットワークを用いて通信できる。本発明の態様のための動作を実行するコンピュータプログラムは、C++,Java(登録商標)、またはJavaScript(登録商標)を含む任意のプログラミング言語で書かれてもよい。任意のプログラムは、中央処理装置(CPU)、グラフィック処理装置(GPU)、および関連するメモリとストレージデバイスを含む、任意のハードウェアプラットフォームで実行できる。プログラムは、本発明の態様を1つ以上のソフトウェアプラットフォーム上で実行でき、そのプラットフォームは、AndroidまたはiOSなどのオペレーティングシステム、またはFirefox,Chrome,Internet Explorer、またはSafariなどを含むWebブラウザ、を実行するスマートフォンを含むが、これらに限定されない。
【0127】
(6 コンピュータサービス製品)
本発明の実施形態の1つは、ユーザ対面デバイスを介してユーザが利用可能な、スマートフォンアプリケーションまたはウェブページなどのサービス製品である。本発明がこれらの装置に限定されないことは、当業者には明らかであろう。また、図面によるサービスの表示は、本発明の範囲から逸脱することなく修正(再配置、サイズ変更、色、形状の変更、コンポーネントの追加または削除を含む)できることも明らかである。
【0128】
一実施形態において、サービスは、スマートフォンアプリケーションからアクセスされる。ユーザは、スマートフォン上のアプリケーションのユーザインターフェイスを操作して、出発時間、ソース、およびターゲットを指定する。すると、サービスは、ルートを生成してスマートフォン上にルートを示す。
図14は、午前8時にAからLに出発するクエリの結果例を、示す。
【0129】
一実施形態において、サービスは、どの選択肢が現在最短の移動所要時間をもたらすかを報告する。一実施形態において、システムは、このより速い選択肢を強調表示する(ルート上に1401で示されている)か、その選択肢の移動所要時間を示すか、現在の待ち所要時間(D付近の1402で示されている)を示す。一実施形態において、車両の現在場所が与えられると、このより速い選択が計算される。一実施形態において、このレポートは、ユーザが現在選択の場所の近くにいるときに示され、例えば、ユーザがAから出発しようとしている場合、サービスは、現在の状況化で、BおよびC経由ではなく、DおよびE経由でFに到達する方が高速になる可能性がある、ことを示す。
【0130】
一実施形態において、サービスは、ある場所の選択肢の中から各選択肢の現在の待ち所要時間(F付近の1403で示されている)、または各選択肢の予想される乗車所要時間(1404で示されている)を示す。これは、最適ではない場合でも、ユーザが自分で選択を決定するのに役立つ。
【0131】
一実施形態において、サービスは、ある場所での全ての選択肢に対する1つの予想される待ち所要時間を報告する。その所要時間は、予想される最小移動所要時間(H近くの1405で示されている)を達成する選択肢にユーザが乗ることを想定した予想される待ち時間である。一実施形態において、この報告は、例えば、ユーザの現在位置と比較して道路のはるか先であるルートの部分について、車両場所が不確実なときに示される。これは、車両を待っている停留所/駅で暇な状態になる時間をユーザに通知する。
【0132】
一実施形態において、サービスは、2つの場所(ルート上の1406によって示されている)間の見込移動の所要時間を報告する。これは、セクション4でP(c,c’)で示されている値である。
【0133】
一実施形態において、サービスは、以下の少なくとも1つを用いてユーザに応答する。
1.マップに示されたソース場所。
2.マップに示されたターゲット場所。
3.ルートに沿ってマップに示された任意の停留所の場所。
4.ルートに沿ってマップに示された一連の停留所の場所。
5.ソースの場所、ターゲットの場所、またはルート沿いの停留所のいずれかの、名前、住所、または識別子。
6.出発時刻。
7.出発時刻範囲。
8.到着時刻。
9.到着時刻範囲。
10.期限前に到着する確率。
11.マップに示された2つの場所の間の複数の選択肢に沿う一連の場所。
12.任意の選択における徒歩コンポーネントのための指示。
13.任意の選択における待ちコンポーネントの場所または所要時間。
14.任意の選択における乗車コンポーネントのための指示。
15.少なくとも2つの選択肢における予想される最小待ち所要時間。
16.少なくとも2つの選択肢における現在の最小待ち所要時間。
17.選択肢の任意のコンポーネントまたは選択肢について、予想される移動所要時間、または、少なくとも2つの選択肢の中で予想される最小移動所要時間。
18.選択肢の任意のコンポーネントまたは選択肢について、現在の移動所要時間。または、少なくとも2つの選択肢の中の最小移動所要時間。
19.選択肢内の任意のコンポーネント、選択肢、または少なくとも2つの選択肢のうちの最小値について、予想される出発時刻または予想される到着時刻。
20.選択肢内の任意のコンポーネント、選択肢、または少なくとも2つの選択肢のうちの最小値について、現在の出発時刻または現在の到着時刻。
21.任意の選択肢における任意の車両の名前または識別子。
22.任意の選択肢における任意の車両の名前、住所、または停留所の識別子。
23.任意の選択肢における任意の車両の現在の場所。
24.車両の現在の場所が与えられたとき、2つ以上の選択肢の中から、どの選択肢が最も速く示されるかについての提示。
【0134】
(7 申し立て)
当業者は、本発明の範囲から逸脱することなく、様々な修正を行うことができ、本質的に等価なもので置換を行うことができることに気付くであろう。さらに、特定の状況は、その範囲から逸脱することなく、本発明の教示に適合させることができる。従って、開示された実施形態を参照して本発明を説明したという事実にもかかわらず、本発明はこれらの実施形態に限定されるものではない。むしろ、本発明は、添付の特許請求の範囲内に入る全ての実施形態を含む。