(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-05-24
(54)【発明の名称】交通システム内でのサイト及び場所の間のルート又はルート距離を使用してサイトを検索又は比較するための方法及び装置
(51)【国際特許分類】
G06F 16/909 20190101AFI20220517BHJP
【FI】
G06F16/909
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021558854
(86)(22)【出願日】2021-04-25
(85)【翻訳文提出日】2021-10-22
(86)【国際出願番号】 US2021029024
(87)【国際公開番号】W WO2021222046
(87)【国際公開日】2021-11-04
(32)【優先日】2020-05-01
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-06-06
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-07-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520140051
【氏名又は名称】マレーヴィチュ,グザイゴシュ
(74)【代理人】
【識別番号】100167818
【氏名又は名称】蓑和田 登
(72)【発明者】
【氏名】マレーヴィチュ,グザイゴシュ
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA03
5B175FA03
5B175FB04
5B175GA04
5B175KA12
(57)【要約】
サイトの検索又は比較に関連する形態。一つの形態は通勤期間に基づいて不動産の検索又は比較方法である。本方法は効果的に前記不動産資産及び乗り物駅の間の行程期間の計算のため、公共交通及び不動産資産データを所有する。これらの期間は蓄積される。リクエストフレームワークは、広範な検索又は比較リクエストを表現することを許容するよう導入される。リクエスト処理プロセスの間、本方法は全ての不動産資産に依存する通勤パスのパートを特定する。なぜならこれらのパートにとっての期間は予め計算し蓄積されるため、本方法は拡張可能なマナーで全ての不動産資産への通勤期間を決定する。結果として、本方法は今日存在する最も大きな大都会エリアの一つの不動産資産内での要求に素早く応答する。他の形態は、料金コスト、プライベートカーを使用する移動、及び不動産資産よりほかのサイトに基づいて検索又は比較することを含む。コンピュータシステム及びコンピュータサービスがまた本方法を具現化する。
【選択図】
図18
【特許請求の範囲】
【請求項1】
少なくとも1のサイトを検索又は比較する方法であって、
前記方法は、交通システム内の前記少なくとも1のサイト及び少なくとも1の場所の間の少なくとも1の行程の記述を使用しており、
前記方法は、
(a)前記交通システムに含まれる少なくとも1の代表を受信し、
(b)前記少なくとも1の場所を含むリクエストを受信し、
(c)前記少なくとも1の行程の記述を使用して得られた情報を伴う前記リクエストに応答する、
ことを含み、前記方法はステップによって特徴付けられ、ここにおいて、前記ステップは以下の事を含む、
(d)少なくとも1の行程の部分記述を決定し、それをデータベース内に蓄積し、
ここにおいて、それぞれの行程の第一の部分記述は、前記少なくとも1のサイト中に含まれる第一サイト及び前記少なくとも1の代表に含まれる第一代表の間で、前記交通システム内の行程の記述の一の部分を含み、及び
(e)前記少なくとも1のサイト内に含まれる出発/到着サイト、及び前記少なくとも1の場所内に含まれる出発/到着場所の間の前記交通システム内の行程の記述を含む前記少なくとも1の行程の記述を計算し、
ここにおいて、前記計算は、
i.前記少なくとも1の行程の部分記述から少なくとも1の行程の第二の部分記述を取得し、ここにおいて、それぞれの行程の第二の部分記述は、前記出発/到着サイト及び前記少なくとも1の代表中に含まれる第二代表の間で、前記交通システム内の行程の記述の一の部分を含み、
ii.前記出発/到着場所及び前記行程の第二の部分記述中に含まれるロケーションxの間で、前記交通システム内の行程の記述を決定し、及び、
iii.前記ロケーションx及び前記出発/到着サイトの間で、前記交通システム内の行程の記述を決定する。
【請求項2】
交通システム内でソースロケーションからターゲットロケーションまでの行程の記述を決定する方法であって、
前記方法は、
(a)前記交通システム内に含まれる少なくとも1の代表を受信し、
(b)前記ソースロケーション及び前記ターゲットロケーションを含むリクエストを受信し、及び、
(c)前記行程の記述を使用して得られた情報で、前記リクエストに応答し、
前記方法はステップによって特徴付けられ、ここにおいて、前記ステップは以下の事を含む、
(d)少なくとも1の行程の部分記述を決定し、それをデータベース内に蓄積し、
ここにおいて、それぞれの行程の第一の部分記述は、前記交通システム中に含まれる末端ポイントロケーション及び前記少なくとも1の代表に含まれる第一代表の間で、前記交通システム内の行程の記述の一の部分を含み、及び
(e)以下のステップを使用して前記行程の記述を計算し、
i.少なくとも1の部分P及び少なくとも1の部分Qを決定し、ここにおいて、前記部分P及び前記部分Qは、前記交通システム内に含まれ、及びここにおいて、
A.前記部分Qは、前記ターゲットロケーションであり、及び前記部分Pは前記少なくとも1の行程の部分記述から取得され、ここにおいて、前記末端ポイントロケーションは、前記ソースロケーションであり、
B.前記部分Pは、前記ソースロケーションであり、及び前記部分Qは、前記少なくとも1の行程の部分記述から取得され、ここにおいて、前記末端ポイントロケーションは、前記ターゲットロケーションであり、又は、
C.前記部分Pは、前記少なくとも1の行程の部分記述から取得され、ここにおいて、前記末端ポイントロケーションは前記ソースロケーションであり、及び前記部分Qは前記少なくとも1の行程の部分記述から取得され、ここにおいて、前記末端ポイントロケーションは前記ターゲットロケーションであり、
ii.前記部分Pに含まれるロケーションx
Pから前記部分Qに含まれるロケーションx
Qまでの行程の記述を決定し、
iii.前記ソースロケーションから前記ロケーションx
Pまでの行程の記述を決定し、及び、
iv.前記ロケーションx
Qから前記ターゲットロケーションまでの行程の記述を決定する。
【発明の詳細な説明】
【背景技術】
【0001】
関連出願の相互参照
この出願は、以下の出願の一部継続出願である。
[国] [出願番号] [出願日]
米国 16/274,242 2019.2.13
米国 16/864,157 2020.5.1
米国 16/894,761 2020.6.6
米国 16/940,418 2020.7.28
これらは、まるで充分に明らかにされたように、ここでは参照として組み込まれる。現出願の以下は、これら出願によって開示又は開示されていない追加事項を含む。本願発明の開示で示唆される従来技術は、当該技術分野における当業者において通常の知識と考えられる。
【0002】
本願発明はサイトの検索又は比較に関する。検索の従来のゴールは、可能な代案の範囲内から、例えば、特定の行程要求を与えられたルート距離の最小化や探すサイトの好ましい特徴など、最適化目的を達成するサイトを見つけることである。例えば、要求された通勤目的地及び不動産資産の特徴が与えられた不動産資産を検索するとき、ゴールは最短の通勤期間を有する特徴に一致する不動産資産を列挙することである。他のゴールは、通勤期間を使用して不動産資産を比較することである。
【発明の概要】
【0003】
実施形態はサイトの検索又は比較の方法、前記方法を実行及び達成するコンピュータシステム、及びユーザから検索又は比較リクエストを受信してサイトとルート情報を応答をするコンピュータサービスを含む。
【0004】
本発明の実施形態によれば、ルート又はルート距離を使用して検索又は比較する方法が提供される。本方法は、各サイト及び交通システム内の代表の間のルート又はルート距離を予め計算及びデータベースに蓄積するために広範な広範な前処理を使用する。本方法は、サイトの検索又は比較フレームワークを導入する。ルート明細を含むリクエストが受信されるとき、予め計算されたデータが、各サイトのルート又はルート距離を素早く計算するため前記データベースから取得される。サイトは、ルート又はルート距離を使用して検索又は比較される。
【0005】
本発明の実施形態によれば、ルート又はルート距離を使用してサイトの検索又は比較をするためのコンピュータシステムが提供される。前記システムは、ハードウェア及びソフトウェアの組み合わせである。それは、1以上のデータプロバイダから交通システム及びサイトに関するデータを得る。前記システムは、前記サイト及び前記交通システム内の代表の間の行程をモデル化したグラフを構築する。前記システムは、グラフパスを計算し、またグラフパス又はグラフパス距離を蓄積する。これは、リクエストが受信されたとき全てのサイトのためのルート又はルート距離を素早く計算し、及びルート又はルート距離を使用してサイトを検索又は比較することを可能にする。
【0006】
本発明の実施形態において、ルート又はルート距離を使用してサイトを検索又は比較するコンピュータサービスが提供される。前記サービスは、前記ユーザが例えばスマートフォンのような装置上のユーザインタフェースを通して、検索を特定し又はリクエストを比較することを許容する。前記リクエストは、ルート明細及びフィルタリング条件を含む。応答では、前記サービスは、前記一致したサイトのためのルート又はルート距離に沿った前記フィルタリング条件に一致するサイトを紹介し、又は前記サービスはルート又はルート距離を使用してサイトを比較する。
【0007】
それは、各サイトにおけるルート距離を素早く計算するために基本的に必要である。我々は、数学的証明をスケッチする。検索又は比較方法Мを考える。我々は、Мをどのような与えられたサイトのオーダリストにも応じさせて敵対するリクエストをデザインすることができる。前記敵対は、自由に使うことができる2つの機構を有する:(1)前記ルート距離に関するサイトのオーダを生成するルート明細を伴うリクエストを提供し、前記オーダは前記敵対によって選択されたものであり、及び(2)前記敵対によって選択されたサイトのサブセットに一致するサイト上のフィルタリング条件を伴うリクエストを提供する。このように、前記Мは、リクエスト時間で、前記敵対により任意に選択されたサイトのオーダリストに応答しなければならない。証明スケッチの詳細は、特許出願の範囲の外である。
【0008】
前記方法、前記コンピュータシステム、及び前記コンピュータサービスのそれぞれは従来技術によって単純な一般的でもよく知られたものでもないタスクを一緒に実行する。従来技術は以下出願を含む:US 8,417,409 B2; 継続US 8,738,286 B2; 分割US 8,756,014 B2;; KR 10-1692501 B1; 継続PCT/KR2016/01083; WO 2017/065431 A1; US 2018/0232824 A1;; 及び KR 10-1905593 B1。
【0009】
ここで紹介される本発明の実施形態は、説明の目的である;それらは網羅的となることを意図していない。多くの変更及びバリエーションが前記範囲及び実施形態のスピリットから離れることなく技術中に当業者にとって明らかとなる。
【0010】
本願中において、用語“第一”、“第二”、“前記”、及び似たものはいかなる限定の意味で使用されるものではなく、しかし、前記文脈から明らかでない限り、分別の目的のためである。前記文脈から明らかでない限りにおいて、単数の表現は複数のフォームを含む。前記用語“有する”、“含む”、“含む”、及び似たものは構成や特徴の存在を示し、及び存在から又は加えられたものから他の構成や特徴を除いていない。
【図面の簡単な説明】
【0011】
本願開示に含まれる図面は本発明の様々な特徴及び形態の有利な点を例示する。
【
図1】
図1は、本発明の形態に応じた通勤パスの行程期間の例示のカラー描写を示し、凡例:“2つの通勤パスを有する不動産資産の通勤パスの行程期間の例示のカラー描写:資産→geo.0.0→geo.0.1→資産、及び資産→geo.1.0→資産。我々は、グーグルによるマップタイルエンジンを使用したが、他のものも代わりに使用される。
【
図2】
図2は、本発明の形態に応じた例示の前処理の処理フロー及びデータの蓄積を描写し、凡例:“例示の前処理の処理フロー及びデータの蓄積”。
【
図3】
図3は、本発明の形態に応じた前処理された蓄積データを用いるリクエストに応答する例示の処理フローを描写し、凡例:“前処理された蓄積データを用いるリクエストに応答する例示の処理フロー”。
【
図4】
図4は、本発明の形態に応じた例示の通勤パスを描写し、凡例:“例示の通勤パス”。
【
図5】
図5は、本発明の形態に応じた最短グラフパスを予め計算するための公共交通システムグラフの例示の延長を示し、凡例:“最短グラフパスを予め計算するための公共交通システムグラフの例示”。
【
図6】
図6は、本発明の形態に応じた予め計算された最短行程期間の例示のテーブル/ベクトル蓄積を示し、凡例:“予め計算された最短行程期間の例示のテーブル/ベクトル蓄積”。
【
図7】
図7は、本発明の形態に応じた通勤パスの分解の例示を描写し、凡例:“3つの家H
1, H
2, 及びH
3で説明された、ホーム依存パート(緑)及びホーム独立パート(黒)に分解された例示の通勤パスH→W
1→W
2→W
3→W
4→H”。
【
図8】
図8は、本発明の形態に応じた通勤パスの出発での最短行程期間の計算の例示を描写し、凡例:“通勤パスの出発での最短行程期間の計算の例示”。
【
図9】
図9は、本発明の形態に応じた通勤パスの到着での最短行程期間の計算の例示を描写し、凡例:“通勤パスの到着での最短行程期間の計算の例示”。
【
図10】
図10は、本発明の形態に応じた通勤パスの出発での最短行程期間を計算するための擬似コードの例示を描写し、凡例:“PathFromHomeDurations(→W)を計算するための仮コードの例示”。
【
図11】
図11は、本発明の形態に応じた計算システムのフローチャートの例示を描写し、凡例:“予め計算してデータベースに蓄積、及び前記データベースから取得されたデータを使用してリクエストを処理のための計算システムのフローチャートの例示”。
【
図12】
図12は、本発明の形態に応じたユーザのスマートフォン上のコンピュータサービスによるユーザリクエスト及び応答の例示を描写し、凡例:“ユーザのスマートフォン上のコンピュータサービスによるユーザリクエスト及び応答の例示”。
【
図15】
図15は、行程の出発及び行程の到着の両方に近いスムージングの例示。
【
図16】
図16は、行程の夫々の末端ポイントに近い少なくとも1のストップステーションクラスタ―を用いるスムージングの例示。
【
図17】
図17は、3つの行程ルートのスムージングの例示。及び、
【0012】
本図は説明の目的のみである。他の図面は当該技術の当業者によって容易に認識されるものであるため、本発明の原則から離れることがなく本発明を例示することができる。
【発明を実施するための形態】
【0013】
4.詳細な記述
本発明は、任意の場所までのルートやルート距離を使用した任意の最適化目的を使用している任意のサイトを検索又は比較する一般的なケースに関する。しかしながら、提示を簡単にするため、我々は最初に不動産資産である特定のサイト、職場である特定の場所、及び不動産資産及び職場の間の通勤の行程期間を最小化する最適化目的を通じて本発明を説明する。この説明は限定していない。後述において、我々はどのように前記方法が一般ケースで働くか説明する。
4.1 不動産資産及び通勤パス
【0014】
家を見つけることは複雑な努力である。人々は、重要な時間の努力及びお金を検索に費やす。しかしながら、テクノロジーは助けとなる。不動産資産のリストを集める幾つかの有用なオンラインのサービスがあり、ウェブブラウザやスマートフォンの便宜で、人々が例えば値段、地理的ロケーション、ベッドルームの数などの特定の特徴を伴う不動産資産を検索することを許可する。この検索は、人がそれから典型的に対面で詳しく調べるショートリストを生成する。
【0015】
ロケーションは、不動産エージェントの“ロケーション、ロケーション、ロケーション”スローガンにより証拠とされるように、どのような不動産資産においても間違いなく最も重要な特徴である。我々の発明はこの特徴を心配する。
【0016】
住民は職場、学校、又は他の場所に通勤する必要がある。これらの通勤の行程期間は、その特定の住民のために個人化された前記不動産資産の価値に関係する。加えて、より生産的な活動に割り当てられ得る時間、人々が動き回るなどに費やされる必要のないエネルギーに関して、大都市のエリアの全ての住民にとって前記行程期間を削減することに多くのグローバル的な経済価値がある。我々の発明は、これらの個人及びグローバル価値を渡すことを助ける。
【0017】
シンプルな説明として、韓国の首都に住んでいる2の家族を考える。一人は市役所の公務員であり、及び他方の人はソウル国立大学のメイン図書館の司書である。彼らは現在350,000,000韓国ウォンの前払金を要する69スクエアメートルのサイズの2ベッドルーム、1バスルームのマンションに住む。前記マンションは緯度及び経度(37.5333, 127.0746)の近くである。彼らの結合された一日の往復の通勤は、1時間41分である(平均、片道約25分)。しかしながら、彼らは前記同じ特徴を有し、しかし(37.5041, 126.8888)の近くに位置するマンションに引っ越しした後に、行程期間をたった1時間16分(25分のセイビング)に減らすことができると判明する。全てのマンションで最も短い行程期間は50分である。しかしながら、そのマンションは他の価格及びサイズを有する(2018.2.19として説明)。
【0018】
なぜこれらの改善をすることが難しいのか?単純なアプローチは、前記家族によって要求される前記サイズ及び他の特徴を有するマーケットで有効な全ての不動産資産を考慮し、及び、与えられた職場を考慮し、オンラインにあるルーティングエンジンを検索することにより行程期間を計算する。しかしながら、このアプローチは量ることはない。一つの問題は、現代の大都会エリアでのマーケットで有効な不動産資産の多さである。他の問題は、改良を探したい家族/ユーザの多さである。我々がたとえルーティングエンジンで安価に検索ができると仮定したとしても、前記問題の2つの性質が未だに前記検索を総計で高価にする。
【0019】
我々がどのようにこれらの改善をすることができるのか?我々の発明は説明する。それは以下の構成要素を備える:
1.本発明は、通勤パスのモデルを定義する。前記モデルは、例えば学校に行く、それからピアノ教室に行き、それから家に戻るなど、実際に生じる通勤パスの広範囲をカバーするため多目的に利用できる。我々のモデルの実用は、行程期間を最小化する不動産資産を素早く見つけるための我々の能力により高められる。
2.本発明は、行程期間を素早く計算する最適化方法を教示する。本発明は、どんな不動産資産にも依存したどんな通勤パスのパートも特定する。これらパートの行程期間は、予め計算され蓄積される。結果として、行程期間が通勤パスのために発見される必要があるとき、本発明は全てのどんな不動産資産のための行程期間を生産するための時間パートを素早く組み立てることができる。
3.本発明の実施形態は、ライブコンピュータサービスである。前記サービスは、ソウルの大都会エリアの2千5百万人の住民が行程期間を使用して不動産資産を検索し、又は比較することを可能とする。
4.2 方法の概要
【0020】
我々は、用語行程を、動いている物体又はデータを含む広範な意味で使用する。行程の記述とは、当該技術分野の当業者がそのように名付けるすべてのものである。これは行程の記述の幾つかの例である:(1)“おいお前、1ブロック北へ行き、そしてそれからわずかに左に曲がる必要があるぞ”、及び(2)“5ドル”。我々は行程の記述を意味するとき、用語の行程パスを使うかもしれない。行程の距離は、例えば距離、お金の料金など、当該技術分野の当業者が行程と関連付けることができる数値である。他の例として、我々は、時間を示す行程の距離を意味するとき、用語の行程期間を使用するかもしれない。行程の距離は、それ自体で行程の記述である。行程の記述は、行程の距離のみでなく、行程の距離のみを含み、又は幾つかの他のデータもまた含むかもしれない。
【0021】
我々は、本方法の幾つかの能力を説明し、及び後述で使用される用語を導入する。本方法は、全ての不動産資産における通勤パスの行程期間を算出する。
図1がこれを説明する。大都会エリアは、スクエアで色分けされる。前記色は、公共交通を使用して、各特定のエリアにおける不動産資産からどれぐらいの長さ通勤に要するかを示す:緑は短い通勤、黄色はより長い、及び赤色は最も長いものを示す。通勤パスは、資産で出発して、それから特定の場所geoを訪問し、そして最後に資産に戻る。ある意味、前記geoは固定されている一方、前記資産は自由に変動する。
図1において、2つの通勤パスがあり、週2回の“オープンジャウ”通勤パスである資産→geo.0.0→geo.0.1→資産であり、及び週三回の“ラウンドトリップ”通勤パスである資産→geo.1.0→資産である。我々は、与えれたこれら2つの通勤パス及びこれらの頻度、最短の行程期間の小さく重み付けられた合計を伴う前記不動産資産が、驚きとして来ないかもしれない、可能な複雑な公共交通ルートが与えられた不規則なパッチ(深緑)を形成するのを見ることができる。
【0022】
高いレベルで、本方法は2つのパートから構成される。第一のパートは、不動産資産及び交通システムの乗り物駅である代表の間の行程期間を計算する。これらの行程期間は、データベースに蓄積され、その結果、それらはリクエストが受信されるときに容易に取得されることができる。説明のため
図2を参照する。第二のパートは、リクエストを処理する。リクエストは通勤パス及び不動産資産の要求される特徴を含む。リクエストが受信されるとき、適切な行程期間が前記データベースから取得され、そして前記要求される特徴を有する全ての不動産資産の前記通勤パスにとっての行程期間を生成するために他のデータと共に使用される。説明のために前記
図3を参照する。この概要の詳細と変形は、後述のセクションにおいて述べられる。
4.3 通勤パス
【0023】
通勤は我々が家と呼ぶサイトHで出発する。このHは、任意のロケーションである。それは、例えば、アパート、レンタルルーム、庭のある家、牧場、ホテルなどのどんな不動産資産でもある。それはまた人が働く場所のサイト、レストラン、ショップなどである。しかしながら、命名規則として、我々は本開示のほどんどでフレーズ“家”を用いる。この規則は限定していない。一つの形態において、通勤は様々な場所へ移動することであり、またそれから前記サイトHに戻る。
【0024】
一つの形態において、通勤は、例えば通勤者が朝にHから出発して、同じ日の夕方にHに戻るという一日内で続く。一つの形態において、通勤は、例えばもし人がナイトシフトで働き、又は25時間のワークシフトを有するなら、一日以上続く。一つの形態において、どのような行程も特定の時間に出発し、又は例えば午前8時12分など特定の時間に到着する。一つの形態において、どのような行程も例えば“午前中”など時間の範囲内で出発、又は到着する。
【0025】
最も単純なフォームでは、通勤者はHから我々が職場と呼ぶ場所Wまで移動する。前記Wは任意のロケーションである。それは、学校、祖父母の家、週末のゴルフコース、好みのレストラン、医者のオフィス、ワーシップの場所などを含む。 それはまた人が住む場所となる。しかしながら、命名規則として、我々は本開示のほどんどでフレーズ“職場”を用いる。この規則は限定していない。それから、前記通勤者はWからHに戻る。我々はこれらの2つの行程を、ラウンドトリップ通勤パスと呼ぶ。説明のために
図4Aを参照のこと。
【0026】
オープンジャウ通勤パスは、より複雑な通勤の例である。説明のために
図4Bを参照のこと。ここで、前記通勤者はHから場所W
1に移動する。それから、前記通勤者は前記場所W
1から他の場所W
2に移動する。最終的に、前記通勤者は前記場所W
2からサイトHに戻るよう移動する。一例では、人が学校に移動し、そしてそれからピアノクラスに移動するときである。
【0027】
一般に、我々の方法は、任意の行程を許可する。
図4Cにおいて、我々はW
4からW
2の喪失している行程、及びW
2からW
3の繰り返し行程を伴う通勤パスの説明を見る。
図4Dにおいて、我々は“オープン”通勤パス:Hから出発した通勤パスで、しかしHに戻らない;及び以前の出発フォームHなしにHに戻る通勤パス、の説明を見る。
図4Eにおいて、我々は、“非接続”通勤パスの説明を見る。通勤パスは家から出発するが、しかし他の家で到着する。我々の方法は、以下のように通勤パスを定義する。
定義1 通勤パスは行程W
2→W
3, W
4→W
5, . . . , W
k-2→W
k-1, ここでk≧2(偶数である)の集合であり、任意の瞬間に起こるH
first→W
1又はW
k→H
last (従って、通勤パスは常に少なくとも1の家及び少なくとも1の職場を含む)を伴う。
【0028】
通勤パスは、交通システム内のルート明細として見られることができる。定義1内の様々なW及びHは、前記通勤者が行くことを要求する場所を特定する。
【0029】
一つの形態において、我々は単純に通勤パスをH→W1→W2→ . . . →Wk→H, ここで k≧1と考え、これは行程の間で共有するエンドポイントを有し、出発及び終着で同じ家を有する。我々は、本開示のほとんどにおいてこの単純なフォームを使用し、というのもそれは実際にとてもありふれたものであり、我々の提示を簡単にする。しかしながら、我々の方法が通勤パスの我々の(一般の)定義に適用するということを当該技術分野のどのような当業者においても明らかになるだろう。
【0030】
我々の方法は、どんな通勤パスにも沿った最短の行程期間を見つける。これはそれ自体、様々な従来技術により対処されている。しかしながら、我々の方法は、劇的に減らした時間量で、全ての家にとっての行程期間を見つける。
4.4 交通システムの前処理
【0031】
本方法は、全ての家にとっての行程を予め計算及び蓄積するために、公共交通システムに関してのデータを前処理する。
4.4.1 最短行程の計算
【0032】
我々は、全ての家、及び公共交通駅の全てのロケーションの間の最短の行程を効率的に計算する方法を述べる。我々は、本開示のほとんどで前記駅をストップステーションと呼び、それらはバス停、地下鉄駅、又は両方を含む。
【0033】
本方法は、公共交通システムをモデルとし、従来技術から得ることができる任意の公共交通システムグラフGTで出発する。前記グラフは、バス停、地下鉄駅、又は両方を示す頂点を含む。例えば乗り物の停止又は方向変換、又は徒歩の停止又は方向変換を示す他の頂点が前記グラフ中に存在する。乗り物の停止に対応する前記グラフ中の頂点は、sによる指標付きの
STOPSTATION_s,
で示される。直接に重み付けられたエッジがあり、それぞれエッジが前記エッジのソース頂点から前記エッジのターゲット頂点までセグメントに沿った行程期間を示している。他のエッジはグラフ中に存在するかもしれない。エッジは、一の乗り物から他の乗り物への乗り換えを示すかもしれない。前記グラフは、様々な公共交通乗り物の出発時間又は到着時間に関してのデータを含む。ダイクストラ最短グラフパスアルゴリズム、又はA*(Aスター)検索アルゴリズムは、最短のグラフパス距離(重みの合計)を伴うグラフパスを計算するために一般的に使用され、どのようなs'及びs''にとっての、またもし行程が特定時間で出発し、特定時間で到着するとしても、
STOPSTATION_s'
から他の
STOPSTATION_s''
への、最短の行程期間を示している。
【0034】
我々の方法は、前記公共交通システムグラフGTを延長する。説明のために
図5を参照のこと。
【0035】
第一の延長は、ストップステーションのクラスタを導入する。本方法は、いかなるクラスタリングアルゴリズムを使用しているストップステーションをクラスタ化する;一の形態において、本方法は、2つのストップステーションの地理的距離が最大で5メートルなどの閾値であるとき、又は2つのストップステーションの間の行程期間が最大で閾値であるとき、2のストップステーションを1のクラスタとして置く。我々は、我々が前記クラスタの中心など、クラスタ内での地理的ロケーションを意味するとき、クラスタのロケーションを参照する。それぞれのストップステーションクラスタcにとって、本方法は、2つの頂点
STOPSTATION_CLUSTER_SOURCE_c
及び
STOPSTATION_CLUSTER_TARGET_c,
及び前記クラスタを、FirstWaitGetOnとラベル化された
STOPSTATION_CLUSTER_SOURCE_c→STOPSTATION_s'
であるGTのストップステーションに接続したエッジ、及びS´が前記クラスタC内であるときにはいつでも、そのようなS´にとって、Zeroでラベル化された
STOPSTATION_s'→STOPSTATION_CLUSTER_TARGET_c
を追加する。前記エッジはゼロ重みを有する。結果のグラフは、頂点VC及びエッジECを有するGCによって示される。全てのcにとって頂点
STOPSTATION_CLUSTER_SOURCE_c
のサブセットは、VSによって示される。
【0036】
第二の延長は、家のクラスタを導入する。本方法は、どのようなクラスタリングアルゴリズムを使用して家をクラスタ化する;一の形態において、本方法は、ストップステーションをクラスタ化するときと同じアルゴリズムを使用する。同様に、我々はホームクラスタのロケーションを参照する。それぞれのホームクラスタにとって、本方法は頂点
HOME_CLUSTER_SOURCE_s
及び頂点
HOME_CLUSTER_TARGET_s
を追加する。本方法は、それぞれのホームクラスタを、徒歩を使用しているストップステーションクラスタに接続する。特に、本方法は、Walkによってラベル化されたエッジ
HOME_CLUSTER_SOURCE_s→STOPSTATION_CLUSTER_SOURCE_c
もし前記ホームクラスタsのロケーションから前記ストップステーションクラスタcの前記ロケーションまで徒歩があるならば、どのようなs及びcにとっても、徒歩の期間に設定されたエッジ重みを有し、及びWalkによってラベル化された“反対向きのエッジ”
STOPSTATION_CLUSTER_TARGET_c→HOME_CLUSTER_TARGET_t
もし前記ストップステーションクラスタcから前記ホームクラスタtのロケーションまでの反対向きの方向の徒歩があるならば、どのようなc及びtにとっても、徒歩の期間に設定されたエッジ重みを有する。一の形態において、本方法は、例えば4km/時間など特定のスピードで、例えば1時間など最大も閾値で続く最短の徒歩に、徒歩を限定する。結果のグラフはGによって示される。我々は、全てのsにとっての、頂点のセット
HOME_CLUSTER_SOURCE_s,
をVHによって示す;及び全てのs及びcにとってのエッジのセット
HOME_CLUSTER_SOURCE_s→STOPSTATION_CLUSTER_SOURCE_c
をEHによって示す。
【0037】
我々は、各ストップステーションクラスタから各ホームクラスタまでの最短のグラフパス、及び各ホームクラスタから各ストップステーションクラスタまでの反対向きの方向の最短のグラフパスを計算することに興味がある。
【0038】
我々は、最短グラフパスに関して本質的に同じであるロケーションを“統合すること”によって、クラスタリングが我々の方法を最短のグラフパスの計算の実行を大いに改善することを許容することを述べる。例えば、高い団地では、数百の家があり、そして我々の方法はそれらをたった一つのホームクラスタに統合するだろう。このように、最短グラフパスアルゴリズムは、何百で構成する家よりむしろ、たった一つのホームクラスタのための最短グラフパスを計算する必要がある。
【0039】
しかしながら、ダイクストラアルゴリズムの標準アプリケーションは未だ不十分なパフォーマンスを生む。あのアプリケーションは、いかなる
HOME_CLUSTER_SOURCE_s
の頂点なしに、G内でそれぞれの
STOPSTATION_CLUSTER_SOURCE_c
からアルゴリズムを走り、そしてそれから、いかなる
HOME_CLUSTER_TARGET_t
の頂点なしに、G内でそれぞれの
HOME_CLUSTER_SOURCE_s
からアルゴリズムを走る。結合された漸近的時間計算法は
である。
【0040】
我々の方法は、この標準アプリケーションを改善する。我々は、大都会エリアにおいて、同じクラスタリング閾値を与えた際に、ホームクラスタの数が、ストップステーションクラスタの数より非常に多いケース|V H| >> |V S|が良くあるということを観察する。この観察を利用し、我々の方法は、ホームクラスタからの最短グラフパスを計算するために異なるアルゴリズムを使用する:本方法はGのエッジを反対向きとし、そして、反対向きのグラフでは、それぞれの
STOPSTATION_CLUSTER_TARGET_c
にとって、ダイクストラアルゴリズム(どんな
HOME_CLUSTER_TARGET_t
頂点もが取り除かれることができる)を使用して全ての頂点
HOME_CLUSTER_SOURCE_s
までの最短グラフパスを計算する。これは望ましい効果を生む、なぜなら我々が反対向きのグラフで、
STOPSTATION_CLUSTER_TARGET_c
から
HOME_CLUSTER_SOURCE_s
までの全ての最短のグラフパスのエッジを反対向きにするとき、我々は、オリジナルの(反対向きではない)グラフにおいて
HOME_CLUSTER_SOURCE_s
から
STOPSTATION_CLUSTER_TARGET_c
までの最短グラフパスを得られるからである。このように、我々の方法の漸近する置換の複雑さはたった
である。実際には、我々の方法は、ソウル大都会エリアのグラフGのトータルのランニングタイムの大きな削減を提示する。
【0041】
本方法は、ホームクラスタの数より、ストップステーションクラスタの数が多い|V H| < |V S|という反対のケースでは対称のアルゴリズムを使用する。あのケースでは、本方法は、ストップステーションクラスタからホームクラスタまでの最短グラフパスを計算するときに、エッジを反対向きにする。
【0042】
一つの形態において、本方法は出発時間を使う。本方法では、前記
STOPSTATION_CLUSTER_SOURCE_c
からの与えられた出発時間にとって、各
STOPSTATION_CLUSTER_SOURCE_c
から全ての
HOME_CLUSTER_TARGET_t
までの最短グラフパスを計算する。あのケースにおいて、本方法は、公共交通乗り物の駅からの前記出発時間を特定することを許容する適切な従来技術のグラフGTを使用する;このケースは、時々、時間及び地理的ロケーションに対応する頂点、及びその時間での前記地理的ロケーションから出発する行程期間を代表するエッジを使用して代表される。同様に、本方法は、
STOPSTATION_CLUSTER_TARGET_c
での与えられた到着時間に基づいて反対向きのグラフ内で計算する。最短のグラフパス距離は、これらの到着時間を各
HOME_CLUSTER_SOURCE_s
からの出発時間に変換する。似たグラフが、到着時間が与えられた最短グラフパスを計算するために使用される。適切に構築されたグラフは、期限より前の到着の可能性を計算するために使用することができる。
【0043】
一つの形態において、我々は、いかなる頂点
STOPSTATION_CLUSTER_SOURCE_c
やいかなる頂点
STOPSTATION_CLUSTER_TARGET_c
なしにGTを延長しない。代わりに、我々は、いかなる頂点
STOPSTATION_s'
を伴う直接のWalkエッジにより、いかなる頂点
HOME_CLUSTER_SOURCE_s
及びいかなる頂点
HOME_CLUSTER_TARGET_t
を接続する。
【0044】
一つの形態において、我々は、いかなる頂点
HOME_CLUSTER_SOURCE_s
やいかなる頂点
HOME_CLUSTER_TARGET_t
なしにGTを延長しない。代わりに、我々は、それぞれの家を示す頂点
HOME_s
を追加し、我々は、Walkエッジにより直接に、いかなる頂点
STOPSTATION_s'
に接続する。
【0045】
一つの形態において、我々は家をクラスタ化しない。
【0046】
一つの形態において、我々はストップステーションをクラスタ化しない。
【0047】
一つの形態において、我々は到着時間が与えられた最短グラフパスを計算する:各ホームクラスタでの到着時間が与えられたストップステーションクラスタからホームクラスタまで、又は各ストップステーションクラスタでの到着時間が与えらえたホームクラスタからストップステーションクラスタまで。
【0048】
一つの形態において、我々は、例えばA*(Aスター)検索アルゴリズムなど、ダイクストラアルゴリズム以外のいかなる最短グラフパスアルゴリズムを使用する。一つの形態において、我々は、最短グラフパスのための近似アルゴリズムを使用する。我々は、前記パフォーマンスの改善なしにアルゴリズムを使用するかもしれない。
【0049】
一つの形態において、幾つかのグラフエッジ重みは、行程期間の代わりに、行程の料金コストを示す。それから我々の方法は、通勤パスの料金コストに基づいて家を検索又は比較する。エッジ重みにはどのような意味も使用することができ、例えば、公共交通乗り物の間の乗り換えの数、待機の期間、待機の料金コスト、又は工程の距離などである。
【0050】
一つの形態において、我々はマルチ次元コストに基づいて、マルチ目的最適化検索を適用する。例えば、我々は最短グラフパスを検索し、それらの距離が行程期間を示し、そのようにして前記グラフパスを示す料金コストが最大でも閾値である、又は料金コストがペナルティとして前記グラフパスの距離に追加されているとき、である。
【0051】
一つの形態において、行程パスは、グラフパスによって代表される。我々は、最短グラフパスを使用している最短行程パスの様々な特徴を計算し、例えば前記最短のグラフパスの第一(例えば乗車)又は到着(例えば下車)ストップステーション、前記最短グラフパスの主な乗り換えストップステーション、乗り物の乗り換えの回数、行程(例えばバス1234)の間のほとんどの時間を過ごす乗り物、ストップステーションでのトータルの待ち時間、トータルの徒歩距離、前記特定の最短グラフパスがラッシュアワーの間に典型的に混雑しているか否か、又は前記グラフパスに沿った地理的なロケーションの配列、などである。これらの特徴は、リクエスト処理の間、前記リクエストで特定される条件に一致する特徴の行程パスを選別するために、使用される。
【0052】
一つの形態において、我々は幾つかのグラフ頂点の間に、2以上のグラフパスを計算する。例えば、頂点uから頂点vの一つのグラフパスは、最大で1つのバスと共になり、そして前記頂点uから前記頂点vまでの他のグラフパスはいずれの地下鉄とも共にならず、しかし最短のグラフパスよりわずかに10分以上長くなる。
【0053】
一つの形態において、我々は、様々なフィルタリング条件に一致するグラフパスを計算する。例えば、最大で1の乗り換え、又は最大で特定の徒歩期間を有するグラフパスである。
【0054】
一つの形態において、我々は家と公共交通駅の間の最短の行程を計算するためにルーティングエンジン(例えば従来技術)を使用する。このように、我々は時々、現行のセクション4.4.1に記述された前記グラフを使用する。
【0055】
セクション4.4.1の記述された本方法は、各家から各ストップステーションまでの最短の行程、及び反対向きの最短行程を計算する。次に、我々は効果的な蓄積のためのデータ構造、及び我々の方法によって使用される最短の行程データの処理を記述する。
4.4.2 最短行程の蓄積
【0056】
一つの形態において、我々の方法は、ベクトル形式で行程期間を蓄積する。本方法は、s
1, . . . , s
nとしてストップステーションクラスタを配列し、例えばランダム規則など幾つかの規則で、h
1, . . . , h
mとしてホームクラスタを配列する。一つの形態において、これらの配列は固定される。それぞれのs
iにとって、本方法は前記ホームクラスタ配列
を用いて、s
iから前記ホームクラスタまでの最短の行程期間のベクトルを蓄積し、その結果、座標j, v
i[j]で前記ベクトルの値はt
i,jであり、これは前記ストップステーションクラスタs
iから前記ホームクラスタh
jまでの前記最短の行程期間に等しい。説明のために
図6を参照のこと。
【0057】
前記ホームクラスタの配列は、各ホームクラスタまでの最短の行程期間の計算を簡易化する。例えば、もし通勤者がストップステーションクラスタsi1及び加えてストップステーションクラスタsi2から行く必要があるなら、我々は単純にベクトルvi1 及び vi2座標点を加算し、そして結果の合計は両方のストップステーションクラスタから各ホームクラスタh1, . . . , hmまでのトータルの行程期間を含む。
【0058】
一つの形態において、本方法は、同じホームクラスタ配列を用いて、家からストップステーションまでの、反対向きの行程の期間を蓄積する。すなわち、本方法は、ベクトル
を蓄積し、その結果、v´
i [j] = t´
i,jがホームクラスタh
jからストップステーションクラスタs
iまでの前記最短の行程期間である(前記交通に関して:たとえ行程が反対方向に向かうとしても、前記ベクトルv´
iは必つ1のストップステーションクラスタのためである)。
【0059】
一般に、同じストップステーションクラスタsiの2つのベクトルは等しくなく、vi≠v´iであり、なぜなら、家までの最小行程期間は家からとは異なる(行程は一般に対称ではない)。しかしながら、一つの形態において、本方法は2つのベクトルのたった一つを計算及び蓄積し、一方の代わりにそれを使用し、時間と空間をセーブすることができる。一つの形態において、本方法は2つのベクトルの座標点重み付け平均を蓄積し、最悪の場合のエラーを減らす。前記重みは0.5にセットされて、又は特定のホームクラスタからの行程、又は例えばリクエスト頻度に基づいて特定のホームクラスタへの行程を好む。
【0060】
一つの形態において、本方法はコンピュータメモリの1バイトを使用して、0から254の署名されていない整数として示され、未知の又はあまりに大きな行程期間を示す255を伴い、最も近い分に丸められた行程期間を蓄積する。この蓄積は、ベクトル演算及び飽和算数(例えばAVX-512命令集合、又はGPUイントリンシクス)のサポートで現代のコンピュータハードウェアを使用して効率的なベクトル加算を可能にする一方、最大で1/2分の実用的に許容可能なレベルでのエラーを保ち、及び4時間を超えるまでの一般的な行程期間をカバーする。どんな他の丸めも使用され、例えば秒の期間が120で割り算されて、2分の粒度で期間を示す整数に丸められる。
【0061】
一つの形態において、、本方法は、クラスタにとってではないベクトルを蓄積する。例えば、s1, . . . , snの幾つかがストップステーション(ストップステーションクラスタではない)を示し、又はh1, . . . , hmの幾つかが家(ホームクラスタではない)を示す。
【0062】
一つの形態において、本方法は、行程期間を蓄積したベクトルの他のフォームを使用する。例えば、ハッシュマップ、又は(座標の、値の)リストである。これらの疎らなフォームは、多くの未知の又はあまりに大きな行程期間があるときに有利なものとなる。
【0063】
一つの形態において、本方法はホームクラスタ配列h1, . . . , hm,に従うベクトルを使用して、又は例えばハッシュマップ、又は(座標の、値の)リストなどのベクトルの他のフォームを使用して行程パスを蓄積する。これらの行程パスは、リクエストによって特定される条件に一致する特徴の行程パスを選別するリクエスト処理の間、使用される。
4.5 1の通勤パスの行程期間
【0064】
我々は、我々の方法がいかにどのような通勤パスの最短の行程期間を計算するかを記述する。ホームクラスタHから、k ≧ 1の職場を通って、ホームクラスタに戻るという通勤パスH→W
1→W
2→ . . . →W
k→Hを考える。我々は、全てのHにとって、この通勤パスの最短の行程期間を発見したい。これは高額かもしれない、なぜならホームクラスタの数は非常に大きくなり、例えば数メートルのクラスタリング半径を与えられて500,000である。しかしながら、我々の方法は、劇的に検索を加速する技術を紹介する。本方法は、
図7に示すように、どのような通勤パスもホームインディペンデントパート及びホームディペンデントパートに分解する。
4.5.1 中間パート:行程W
1→W
2→ . . . →W
k
【0065】
本方法は、ホームクラスタを除いた行程W
1→W
2→ . . . →W
kにとっての最短行程期間を見つける。各セグメントW
i→W
i+1において、本方法は、交通システム(例えば、徒歩を含む、地下鉄及びバス乗車、乗り換え、W
iからW
i+1までの直接徒歩を含む)を使用してW
iからW
i+1までの最短の行程期間を計算するルーティングエンジン(例えば従来技術)に問い合わせる。それから、本方法は異なるiを通して最短の行程期間を合計する。結果としての合計は、
によって示される。ここで(k-1)回のみ前記ルーティングエンジンへの問い合わせが必要とされる。この数は家の数に依存しない。
【0066】
一つの形態において、本方法は前記ルーティングエンジンに問い合わせるとき、出発時間、到着時間、又はリクエストの他の部分を使用する。
【0067】
次に、本方法は、通勤パスのオープンジャウパートにとっての最短行程期間を計算する:ホームクラスタを含む2つのセグメントH→W1及びWk→H がある。この計算は、特に素早くする必要があり、なぜならその結果は全てのホームクラスタにとって必要とされるためである。
4・5・2 出発パート:行程H→W1
【0068】
本方法は、HからW
1までに至る2つの方法を考える。説明のため
図8を参照のこと。第一方法は、直接徒歩である。H及びW
1が近所のとき、本当の最短行程はたびたび直接徒歩となる。このように、本方法は徒歩(H →W
1)の最短徒歩期間を計算するための徒歩エンジン(例えば従来技術)に問い合わせる。第二方法は交通システムを使用することである。本方法は、セットAによって示され、W
1から例えば2000mなどの閾値距離内のストップステーションクラスタを見つける。前記セットAは、全てのストップステーションクラスタ(
図8中ではA = {s
1, s
2, s
3})の{s
1, . . . , s
n}のサブセットである。本方法は、A内の各s
iにとっての、最短徒歩期間walk(s
i →W
1)を取得するための徒歩エンジンに問い合わせる。H及びW
1が近所にないとき、真の最短行程は度々、前記セットAのストップステーションを通過し、そしてそれから対応する徒歩に沿って続く。我々が適用する2方向アプローチにより、その結果の行程期間は度々、最短行程期間である。
【0069】
前記2方向アプローチは、各ホームクラスタに適用されることができる。我々は、連続するホームクラスタからストップステーションクラスタs
iの最短行程期間を含むベクトルv´
iを思い出す。従って、本方法はデータベースからベクトルv´
iを取得し、また以下の等式
(等式1)
を使用することにより、ホームクラスタh
jからの最短行程期間を計算する。
【0070】
一つの形態において、本方法は、ホームクラスタHj からW1までの距離が2000m等の閾値以下であるときに限って、又はホームクラスタHjからW1までの行程期間が閾値以下であるときに限って、walk(Hj→W1)を計算する。そのようなホームクラスタのセットはJによって示される。
【0071】
一つの形態において、v´のベクトル代表のため、本方法は、以下としてv´に対するベクトル演算を使用して、全てのホームクラスタからの行程期間を一緒に計算する。
【0072】
一つの形態において、本方法は数学公式を使用し、
ここにおいて、前記“+”演算はベクトルの各座標で数を値に加算し、及び前記“min” 演算は幾つかのベクトルを通しての各座標での最小値を計算する。
【0073】
行程期間のベクトル(a
1, . . . , a
m)は、
によって示される。
【0074】
PathFromHomeDurationsを計算するための擬似コードの一例は、
図10において説明される。
【0075】
一つの形態において、uint8ナンバーフォーマットがaj, v´i [j]又はwを蓄積するために使用される。一つの形態において、数のユニットが分で蓄積される。一つの形態において、v´i [j] + wの合計, ここでjはいくつか,が0から例えば255などの閾値の範囲内において飽和算数を用いて実行される。一つの形態において、被加数v´i [j]が最初により広範な数のフォーマット、例えばfp16フォーマット又はuint16フォーマットに変換されて、そしてそれから加算の間の算術オーバーフローを防止するために、wに加算されるのみである。一つの形態において、算数公式に含まれる幾つかの計算が、ベクトル演算(テンソル演算を含む)、例えばハードウェアにサポートされたAVX-512命令集合、又はGPUイントリンシクスなどのための少なくとも1つの指令を使用して実行される。一つの形態において、算数公式に含まれる幾つかの計算は分割され、前記分割は並行に実行される。
【0076】
一つの形態において、本方法は例えばKD-treeなどの最近接点データ構造を、リクエスト処理の間にセットAを素早く計算するために、ストップステーションクラスタロケーションに関して使用する。
【0077】
一つの形態において、本方法は、セットAを、例えば最大で100など、最も近いW1であるストップステーションクラスタの最大での一定の数に限定する。
【0078】
一つの形態において、本方法は、セットAを、例えば2000mなど、W1までの最大での或る一定の距離の徒歩内のストップステーションクラスタの限定する。
【0079】
一つの形態において、本方法は、各ホームクラスタロケーションから閾値内のポイント及びホームクラスタロケーションの間の徒歩の最短期間を予め計算し、又はストップステーションクラスタロケーションからの閾値距離内のポイント及びステーションクラスタロケーションの間の徒歩の最短期間を予め計算する。それから、リクエスト処理の間、本方法は徒歩エンジンに問い合わせず、しかし代わりに前記予め計算された徒歩期間を使用する。
【0080】
一つの形態において、徒歩の最短期間は、どのような障害も無視した測地線ラインを使用して推定される。これは、精度を犠牲にしてwalk(si→W1)の計算をスピード化する。
【0081】
一つの形態において、行程パスは等式1に使用される。例えば、もしユーザリクエストが乗り物乗り換えの回数を制限する条件を特定するなら、我々は前記等式のsi 及び jを選別する:我々は行程パスに蓄積された乗り換えの回数を調査し、そしてその数が前記制限を超える場合に、我々は等式中の前記特定のsi 及び jを無視する。
【0082】
一つの形態において、我々がv´iでしたように、ストップステーションsiによる行程期間のグループ化が、データアクセスパフォーマンスを改善する。実際、セットAが前もって知られていないユーザリクエストに依存するものだが、セットA中の各siにとって、予想通りに、行程期間の大半の数はアクセスされる必要がある。
【0083】
一つの形態において、iの集合のためのベクトルv´iは、異なる処理ユニットを通して、ランダムに分配される。これは、ベクトル(a1, . . . , am)を計算することの待ち時間を減らす、というのもセットAを含むストップステーションは度々、前記処理ユニットを通して均等に分割されるからである。
【0084】
一つの形態において、iの集合のためのベクトルv´iは、処理ユニット内で地理的にグループ化される。これは、ベクトル(a1, . . . , am)を計算することの情報量を減らす、というのもセットAが度々、互いに近くに位置するストップステーションから成るという事実のため、データ転送の必要の減少のためである。
4.5.3 到着パート:行程Wk→H
【0085】
前記計算はアナログで、しかしベクトルv´ではなくvを使用する。説明のために
図9を参照のこと。本方法は、W
k (
図9中において B = {s4, s5})から閾値距離内のストップステーションクラスタのセットBを計算するそれから、本方法は
(等式2)
として、ホームクラスタh
jまでの最短の行程期間を計算する。
【0086】
上記同様に、一つの形態において、前記vのベクトル代表の理由で、本方法は等式2に応じてvに関したベクトル演算を使用して各ホームクラスタまでの行程期間を一緒に計算する。一つの形態において、本方法は数学公式
を使用する。
【0087】
行程期間の前記ベクトル(b
1, . . . , b
m)は
によって示される。
【0088】
本方法は、セクション4.5.2中と似たような形態を使用する。例えば、一つの形態において、本方法は、前記ベクトル(a1, . . . , am)の一部及び前記ベクトル(b1, . . . , bm)の一部を一緒に計算するベクトル演算を使用する。
4.5.4 出発、中間、及び到着パートの結合
【0089】
最後に、本方法は各ホームクラスタの通勤パスの最短の行程期間を計算する。本方法は単に2つのベクトルを加算して、座標での値を変更する。我々は、
(等式3)
によって結果のベクトルを示す、ここで第一の“+”はベクトルの座標点加算であり、及び第二の“+”はベクトルの各座標での値への数の加算である。
【0090】
一つの形態において、本方法は、どんな通勤パスに沿った地理上のロケーションからの特定の出発時間、又はそこへの特定の到着時間が与えられた行程期間を計算する。
【0091】
一つの形態において、本方法は、特定の通勤パスとしてPathDurationsを予め計算する。例えば、本方法は、学校である各Wにとっての
及び
を計算し及び蓄積する。リクエスト処理の間、本方法は、等式1、等式2及び等式3でそれらを計算する代わりに、データベースから予め計算されたベクトルを取得する。
【0092】
一つの形態において、PathDurationsの値は変えられる。学校Wがある特定の家のみが子供たちをその学校に送ることができるという風に特定する区域要求を有することを考える。これは、単純に、その学校の区域外のこれらのホームクラスタにおいてベクトルPathFromHomeDurations(→W)の座標値を無限に設定することによって単純に達成でき、また同様にベクトルPathToHomeDurations(W→)の座標値を設定する。Wが限定された配達エリアを伴うレストランであるとき、又は政府事務所が限定された管区を有するとき、同じような変更がなされる。このように、変更された値が蓄積され、リクエスト処理の間、取得される。
【0093】
一つの形態において、我々の方法は、ベクトルvi, v´iの座標値に、又はPathDurationsに対して任意の“操作”機能を適用する。例えば、これは災害によって影響を受けた特定の経済区域の大都市エリアのある部分から、又は当該部分までの通勤のための交通料金を削減する政府の政策を実行するのを手助けすることができる。アプリケーションは、リクエストを処理(例えば、グローバル政策)する前、又はリクエストを処理(例えばユーザに個別化された政策)している間、実行される。
【0094】
一つの形態において、本方法はホームクラスタのサブセットのためのPathDurationsを計算する。例えば、前記サブセットはユーザリクエストによって特定される家の特徴の条件から決定される。一つの形態において、我々はホームクラスタの配列h1, . . . , hmを選別し、その結果これらのサブセットは度々、データ転送を減らす前記配列の短いセグメント中に存在する。
4.5.5 スムージング
【0095】
一つの形態において、本方法は職場で開始する行程のスムージングを実行する。これは、
図13において、職場W
kからホームクラスタHまでの行程W
k→Hの到着部分のケースを示される。
【0096】
一つの形態において、本方法は、予め計算し、データベースに蓄積し(時に“少なくとも1の行程の部分記述”("at least one partial description of travel")として参照)、夫々はストップステーションクラスタからホームクラスタ(時に“行程の第一の部分記述”("first partial description of travel")として参照)への行程の記述の一の部分を含む。我々は、この用語“部分”("part")を、当業者による用語の解釈において整合性のある広い意味で使用する。本発明の開示において、如何なるエンティティもそれ自身の一の部分と考えられ、そのため、全てのエンティティはそのエンティティの一の部分の例である。行程の部分は、より一般的に、Wkに至りHに到着する如何なる末端ポイントロケーションから開始する行程の記述の一の部分として解釈される。一の形態において、我々は、各ストップステーションクラスタ及び各ホームクラスタの間の行程の記述の一の部分を予め計算し、蓄積する。一つの形態において、我々は、最短の行程の記述の一の部分を予め計算し、蓄積する。一つの形態において、我々は、行程の記述(如何なる部分も取り除くことなく)予め計算し、蓄積する。一つの形態において、我々は、例えば少なくも100メートル毎、又は少なくとも10秒毎など、減少された精度でその部分を蓄積することによって、予め計算された行程の記述を維持するために必要とされる蓄積スペースを減らす。一つの形態において、我々は、例えば2つの行程ルートが同じ道路セグメントに沿って通過するとき、重複する行程ルートを圧縮する。一つの形態において、我々は、例えば行程の出発から2000mの距離以内、又は2分の行程期間内など、行程の記述の修飾を蓄積し、又は単純に行程自体の出発を蓄積する。一つの形態において、我々は、修飾を超えた行程の記述の部分を蓄積しない、すなわち、我々は、テイル1304のような行程のテイルを蓄積しない。一つの形態において、我々は、例えば我々が行程のテイルの期間を蓄積するなど、行程のテイルの要約を蓄積する。これは、我々の方法が、職場からホームクラスタまで、行程のテイルに関する如何なる情報も蓄積することなしに、スムーズ化された行程期間を計算することを許容する。一つの形態において、我々は、行程の記述の一の部分を決定するための2以上のアプローチを結合する。我々は、予めの計算及び蓄積に関し、及び本発明の開示で記述された他の形態を使用する。少なくとも1の行程の部分の予め計算及び蓄積の多くの他の方法は、当業者にとって明らかである。
【0097】
我々の方法は、広い意味での予めの計算及び蓄積を使用する。一つの形態において、その方法は、行程の記述のフラグメントを予め計算し、及びデータベースのそれらを蓄積する。これは、多くの方法で実現できる。一つの形態において、本方法は、当該分野で知られる如何なるグラフの粗雑方法を使用している交通グラフから得られる粗雑グラフを決定する。一つの形態において、粗雑グラフのエッジは、Geisberger, Sanders,Schultes及び Delling、Contraction Hierarchies、Faster and Simpler Hierarchical Routing in Road Networks, WEA 2008の方法を使用して決定されたショートカットグラフエッジである。他の形態において、粗雑グラフは、当該分野で知られる如何なるグラフの要約方法を使用して得られるものであり、例えば、Liu, Safavi, Dighe及びKoutra、Graph Summarization Methods and Applications、A Survey, ACM Computing Surveys, Vol. 51(3) 2018による調査紙に述べられているものである。後程、データベースから取得するステップ、予め計算された行程の記述、又は2つの末端ポイントの間の行程の記述の予め計算された部分は、2つの末端ポイントの間の粗雑グラフ内のパスを計算することを含み、及び2つのショートカット又はグラフ要約内の2のエッジを結合するなど、パスに沿った行程の記述の少なくとも1のフラグメントを結合することを含む。このため、予めの計算及び蓄積は、単に、リクエスト処理をより効果的にするために、リクエスト処理の前に実行される動作である。
【0098】
職場Wkを含んでいるリクエストが届くと、本方法は、データベースから、少なくとも1の予め計算された行程の部分Pを取得し(時に"行程の第二の部分記述"("second partial description of travel")として参照される)、それぞれはストップステーションクラスタs(時に"第二代表"("second representative")として参照される)から、ホームクラスタH(例えば、1302,1303及び1304がストップステーションクラスタsからホームクラスタHまでの行程の記述を示し、1301が職場Wkからストップステーションクラスタまでの行程の記述を示す)までの行程の記述s→Hの一の部分を含む。これは、多くの方法で実行される。一つの形態において、取得は、予め計算された閾値に基づく制約を使用し、例えば2000mの距離や2分の行程期間である。一つの形態において、本方法は、Wkの予め決められた閾値内のストップステーションクラスタsを決定し、及び部分Pはそのストップステーションクラスタsである。一つの形態において、本方法は、ストップステーションクラスタsが、Wkから勝手に遠くになることを許容し、しかし、部分Pは予め決められたWkの閾値に留まり、又は部分PはWkの予め決められた閾値内のロケーションを含む。一つの形態において、本方法は、制約を満たす全ての部分Pを受信する。一つの形態において、本取得は、例えば100など予め決められた限定に基づく制約を使用する。一つの形態において、本方法は、予め決められた限定以上の部分Pは受信しない。一つの形態において、取得された部分Pは、例えば、距離や行程期間においてWkから勝手に離れている。一つの形態において、本取得された部分Pは最も近いWkである。一つの形態において、本方法は、Wkから最も近い最大の多くの部分Pを取得する。一つの形態において、両方の制約が使用される。一つの形態において、限定に基づく制約が、例えばストップステーションクラスタが疎らにあるときなど、閾値に基づく制約を含む。一つの形態において、本方法は、交通グラフ、近似最短パス、粗雑グラフ中のパス、又は測地を使用している距離又は行程期間を決定する。一つの形態において、本方法は、部分Pを決定する最近接点データ構造を使用し、その部分Pの距離又は行程期間は、Wkからの閾値内である。上述の少なくとの1の行程の予め計算された部分Pを取得する他の方法は、当該技術分野の当業者において明らかである。
【0099】
本方法は、部分Pに含まれるロケーションxを決定する。これは、多くの方法で実現される。一つの形態において、ロケーションxは、例えば2000mの距離以内、又は2分以内の行程期間など、職場Wkの予め決定された閾値内にあるものが勝手に選択される。一つの形態において、ロケーションxは、職場Wkからの距離又は行程期間において、部分Pの最も近いロケーションである。一つの形態において、ロケーションxは、部分Pの最下流(行程s→Hの配列に沿っている)ロケーションである。ロケーションxを決定する多くの他の方法は、当該技術の当業者において明らかである。
【0100】
それから、本方法は、職場Wkからロケーションx(例えば、1305、それから1303)への行程Wk→xの行程の記述を決定する。これは、多くの方法で実現される。一つの形態において、本方法は、部分Pに属し、及び職場Wkから到ることができるコネクタcを決定する。一つの形態において、コネクタcは、ストップステーションクラスタである。一つの形態において、コネクタcは、ロケーションxである。一つの形態において、我々は、例えば、職場Wkで出発して、最初にそのアルゴリズムが部分Pに属するロケーションに到る最短パスアルゴリズムで停止する最短パスアルゴリズム(例えば、Dijkstraアルゴリズム)を走らすことで、最接の職場Wkとなるコネクタcを選択する。一つの形態において、我々は部分P中に含まれる職場Wkから最も離れたものとなるコネクタcを選択し、そのようにしてコネクタcが、例えばWkからPまでの距離や行程期間、プラス例えば1000mの距離や1分の行程期間などの予め決められたマージンなどの予め決められた閾値以上、Wkから離れない。本方法は、職場Wkからコネクタc(例えば、1305)までの行程の記述Wk→cを決定する。それから、本方法は、コネクタcからロケーションx(例えば、1303)までの行程の記述c→xを決定する。一つの形態において、2つの行程の記述のいずれもが、最短パスアルゴリズムを使用して決定される。一つの形態において、我々は、交通グラフ、おおよその最短パス、粗雑グラフ中のパス、又は測地を使用してWk→xの行程の記述を決定する。我々は、真の最短パスを決定する能力を破棄するかもしれないが、しかし、我々はWkから離れているのを勝手に導く行程の記述を効率的に決定する能力を得る。一つの形態において、我々は、Wk→xの少なくとも1の行程の記述を予め計算し、データベースに蓄積し、及びリスエスト処理の時に、Wk→xの予め計算された行程の記述をデータベースから取得する。一つの形態において、我々は、リクエスト処理の時に、現在の道路混雑情報を使用してWk→xの行程の記述を決定する。Wk→xの行程の記述を決定する他の多くの方法は、当該技術分野の当業者において明らかである。
【0101】
加えて、本方法は、ロケーションxからホームクラスタH(例えば、1304)までのx→Hの行程の記述を決定する。これは多くの方法で実現される。一つの形態において、本方法は、リスエスト処理の時に、データベースから取得されるs→Hの行程の記述の予め計算された部分を使用して、x→Hの行程の記述を決定する。一つの形態において、s→Hの行程の記述は、例えば、如何なるウィークデイ内のタイムウインドウの間の測定に基づく平均など、平均道路混雑情報を使用する。一つの形態において、本方法は、リクエスト処理の時に、最短パスアルゴリズムを走らせることによってx→Hの行程の記述を決定する。有利な効果の例としては、リクエスト処理の時の現在の道路混雑情報が、最短パスアルゴリズムを走らせている時に使用されるかもしれない点である。一つの形態において、x→Hの行程の記述は、交通パス、おおよその最短パス、粗雑グラフ中のパス、又は測地を使用して決定される。有利な効果の例としては、より小さなスペースで、データベースに、少なくとも1の行程の部分を蓄積するために十分となる。x→Hの行程の記述を決定する多くの他の方法は、当該技術分野の当業者において明らかである。
【0102】
それから、本方法は、行程のスムージングを完了する。一つの形態において、本方法は、スムーズ化されたWk→x→H(例えば、1305、それから1303,それから1304)の行程の記述を最小化する少なくとも1の取得された部分Pに含まれるひとつの部分Pを発見する。一つの形態において、最小化を使用する代わりに、本方法は、例えば、フィルタリング条件、マルチ次元コスト、出発時間、又は到着デッドラインなど、本願に開示された行程の記述を計算するための如何なる基準をも使用する。このため、スムーズ化された行程の記述の結果は、予め計算された行程の記述の出発(セクション4.4.2参照)である如何なるストップステーションクラスタsを介して通過しないかもしれない。ケース1301が実質的に存在しない、職場Wkからストップステーションクラスタs(河川や遠くの橋を想定)まではあまりに遠くて行程できないということさえも可能である。
【0103】
スムージングは、典型的には、従来技術と比較して、より自然な形を有する行程の記述を生成する。この有益性は、ストップステーションクラスタが職場Wkからの北の数メートルであり、しかし、職場WkからホームクラスタHまでの最短行程が実質的に職場Wkから南に離れているような例で見られる。
【0104】
典型的には、スムージングは、行程の長さを多くは減少しない。一つの形態において、我々はスムージングを実行しない。一つの有利な効果は、より一般的な行程の記述に代わって、行程の長さに単に興味があるときに生じる。
【0105】
我々のスムージング方法で使用される部分Pは、従来技術によって使用され、すなわち、ランドマーク、ポータル、ハブ、ビーコン、シーズ、トランシットノード、中間ウェイポイント、粗雑グラフの頂点など、又は代表、例えば、Shortest-Path Queries in Static Networks, ACM Computing Surveys, Vol. 46(4) 2014のようなSommerによる調査紙などの如何なる名称によっても呼ぶことができるゼロ次元の技術特徴の一次元の一般化として解釈できる。しかしながら、我々の一般化は、はっきりと異なる技術特徴を有する。幾つかの観点で、一次元の部分Pは、空間での、良いエントリ―ポイントの利点を交通システムに拡げることを許容する。このため、それぞれが十分に離れた2つの職場が、ホームクラスタHに向かう途中の、交通システムへのエントリーポイント(実際は、一次元セクション)として、同じ部分Pを使用できる。一つの形態において、部分Pは、代表にルートされた最短パスツリーの一の部分であり、その部分は、本発明で記述される如何なる形態を使用して決定される。このため、部分Pは、最短パスツリーのブランチを含む。我々の一般化は、もし我々が増加された代表の数を伴う従来の方法を使用したとしたら、明示的に増加された代表の数を使用することなしに、及び拡張されなければならないだろう前処理の如何なる追加コストなしに、代表の数を増加させることを使用して達成される効果に似た効果を有する。
【0106】
上記で示されたステップの配列は限定されていない。むしろ、我々は、一つの配列で、部分Pを取得し、ロケーションxを決定し、Wk→xの行程の記述を決定し、x→Hの行程の記述を決定する、ステップを示した。この配列は、提示の明瞭さを改善するために選択された。しかしながら、一つの形態において、本方法は他と連続、又は並列にステップの幾つかを実行する。例えば、一つの形態において、本方法はWkで出発する最短パスアルゴリズムを実行し、そして、ロケーションが訪問されるにつれて、本方法は遭遇した部分Pを取得する。本方法は、ストップステーションまで最短パスアルゴリズムを実行し、例えば、取得した部分Pの多くが、予め決定された限界、例えば100に到り、又は、予め決定された閾値の距離が、例えば2000mの距離や2分の行程期間などに到るまでである。本方法は、例えば、各部分P内で最短パスアルゴリズムによって到った最遠のロケーションなど、取得された部分Pのそれぞれのロケーションxを選択する。最短パスアルゴリズムによって構築された最短パスツリーは、自動的に、Wkから各ロケーションxまでの行程の記述を生む。それから、本方法は、各ロケーションxからホームクラスタHまでの行程の記述を決定する。一つの形態において、ステップは予め計算され、この予め計算された結果は、リクエスト処理の間、取得される。例えば、我々は、少なくとも1の職場Wkのための少なくとも1の部分Pを予め計算する。本ステップを実行する多くの他の方法は、当該技術の当業者において自明である。
【0107】
一つの形態において、我々は、スムーズな行程を選択する。ホームクラスタH及び職場Wkが与えられ、我々は少なくとも1の部分Pを選択する。一つの形態において、我々は、予め決められた閾値を使用して事前にセットされた条件に基づく選択を実行する。例えば、我々は、例えば職場Wkから1000mや1分のような予め決められた閾値内の部分Pをスムーズ化する。本選択の一つの例の有利な効果は、Wkに近く、スムーズでない部分Pが、不自然な形を有する行程を生みがちとなることである。一つの形態において、我々は、行程距離又は期間を比較する事前にセットされた条件に基づく選択を実行する。例えば、我々は、行程Wk→x→Hjの期間の最小化を図る部分Pのスムージングを実行し、例えば、我々は、後述のセクション4.5.2のストップステーションクラスタs1,…,snを決定すること、及びwalk(Wk→si)+vi[j]の行程期間を最小化するストップステーションクラスタsiを特定する部分Pを選択することによってこれを達成する。本選択の一つの例の有利な効果は、我々が、他の如何なる部分Pと比較して最短スムーズ化行程を生みがちな部分P上のスムージングの努力に集中できることである。一つの形態において、我々は、予め決定された角度を使用する事前にセットされた条件に基づいて選択を実行する。例えば、我々は、部分P及びWkから到着する測地の間の角度を決定し、例えば、部分Pに沿った上流のストップステーションクラスタsでの角度(1301及び1302の間の角度によって示される)である。角度は、0度から充分に離れている時には、例えば、角度は、[-40,40]度の間隔の外側であり、それから我々は部分Pを使用してスムージングを実行する。一つの形態において、我々は、Wkで出発する最短パスアルゴリズムを走らせ、最短パスツリーと、この最短パスアルゴリズムによって最初に訪問される部分Pの頂点での部分Pとの間の角度を決定する。一つの形態において、我々は訪問する頂点の角度が、間隔内に至るまで、最短パスアルゴリズムを走らせることを継続する。一つの形態において、我々は、2以上の選択アプローチを結合する。一つの例の選択の有利な効果は、我々がより自然な形の行程を生みがちなスムージングの努力にフォーカスできることである。スムーズ化のための行程の選択の多くの他の方法は、当業者において自明である。ひとつの形態において、我々は、少なくとも1のスムーズ化された行程、及び少なくとも1のスムージング無しで計算された行程の間から、最短行程を見つけることによって、スムージングを終了する。
【0108】
一つの形態において、ホームクラスタH1,…,Hmが与えられ、我々は、ホームクラスタの任意のサブセットのスムージングを実行する。例えば、我々は、5km以内や5分以内など、職場Wkに充分に近いホームクラスタを選択する。一つの形態において、我々は、全てのホームクラスタH1,…,Hmのスムージングを実行する。
【0109】
一つの形態において、我々は、少なくとも1のホームクラスタまでの少なくとも1の行程のスムージングの効率を改善する。我々は、職場Wkで出発する最短パスアルゴリズムを走らす。我々は、ストップ条件まで、最短パスアルゴリズムを走らし続ける。ストップ条件の一つは、少なくとも予め決定された数の部分Pを訪問して、それぞれが行程の記述の一の部分を含んでおり、ホームクラスタの一つに至ることである。一つの形態において、我々は100の部分Pを訪問した後にストップする。他の形態において、我々は、1以上のホームクラスタのそれぞれのための、少なくとも1の部分Pを訪問した後に、ストップする。他の形態において、我々は、予め決定された閾値、又は予め決定された角度を用いる事前にセットされた条件に基づいてストップする。一つの形態において、我々は、2以上のストップ条件を結合する。他の多くのストップ条件は当業者において明らかである。それから、我々は、職場Wkからロケーションx、及びロケーションxからホームクラスタまでの行程の記述を決定する。
【0110】
一つの形態において、我々が予め計算された行程の部分、職場Wkからロケーションxまでの行程の記述、又はロケーションxからホームクラスタHまでの行程の記述を決定するときに、本願に開示される行程の記述の計算のために如何なる形態をも使用する。
【0111】
行程H→W
1の到着部分をスムージングのケースで、W
1は、上述の行程の出発部分のスムージングのケースに対称する。
図14は、例示形態を示す。1404,1403及び1402は、ホームクラスタHからストップステーションクラスタsまでの行程H→sの記述を示す。1403及び1402は、行程H→sの予め計算された部分Qを示す。部分Qは、ロケーションxを含む。1401は、ストップステーションクラスタsから職場W
1までの行程の記述を示す。本方法は、ロケーションxから職場W
1(例えば1403、それから1405)までの行程の記述x→W
1を決定する。加えて、我々の方法は、ホームクラスタHからロケーションx(例えば1404)までの行程の記述H→xを決定する。最終的に、我々の方法は、以下のスムーズ化された行程H→x→W
1を生成する。
【0112】
一つの形態において、我々の方法は、職場W1での一のスムージング、及び職場Wkでの他のスムージングを実行することによって、行程の記述を構築する。
【0113】
一つの形態において、本方法は、行程W
1→W
2→…→W
kの中間部分内で、スムージングを実行する。
図15は、職場W
iから職場W
i+1、ここで1≦i<kである行程の両方の到着のスムージングの例示形態を示す。上述の形態で使用して、本方法は、少なくとも1の行程の部分を予め計算し、データベースに蓄積し、それぞれは、ストップステーションクラスタsからストップステーションクラスタs´までの行程の記述の一の部分を含む(時には、"少なくとも1の行程の部分記述"("at least one partial description of travel")として参照)。行程の部分は、sが如何なる末端ポイントロケーションにも到ることができ、またs´から到ることができる如何なる末端ポイントロケーションからの行程の一の部分として、より一般的に解釈される。職場W
i及び職場W
i+1を含むリクエストが到着した後、本方法は、少なくとも1の予め計算された部分P及び少なくとも1の予め計算された部分Qを、データベースから取得し、ここで、部分P及び部分Qは、ストップステーションクラスタs1からストップステーションクラスタs2までの行程の記述s
1→s
2の一の部分を含む。少なくとも1の予め計算された部分Pは、行程W
k→Hのスムーズ化のための上記の形態を使用して決定され、このW
kは職場W
1として解釈され、このHは職場W
i+1の予め決定された閾値内のストップステーションクラスタとして解釈される。少なくとも1の予め計算された部分Qは、H→W
kのスムーズ化のための上記形態を使用して対称的に決定され、W
kは職場W
i+1として解釈され、Hは職場W
iの予め決定された閾値内のストップステーションクラスタとして解釈される。例えば、1501, 1502, 1503, 1504及び1505は、ストップステーションクラスタs1からストップステーションクラスタs2までの行程の記述s
1→s
2を示す。1501及び1502は部分Pを示す。1504及び1505は部分Qを示す。上記の形態を使用して、本方法は、部分Pを含むロケーションx1(時に、"ロケーションx
P"("location x
P")として参照)、部分Qを含むロケーションx2(時に、"ロケーションx
Q"("location x
Q")として参照)、W
i→x1の行程の記述、及びx2→W
i+1の行程の記述を決定する。1511は、職場W
iからストップステーションクラスタs
1までの行程の記述を示す。1512は、職場W
kからコネクタc
1までの行程の記述を示す。1521は、ストップステーションクラスタs
2から職場W
i+1までの行程の記述を示す。1522は、コネクタc
2から職場W
i+1までの行程の記述を示す。本方法は、行程の記述x→H又はH→xを決定するために、上述の形態を使用して、x1→x2の行程の記述を決定する。例えば、一つの形態において、予め計算された行程の記述x1→x2が、リクエスト処理の時に、データベースから取得される。それから、本方法は、スムージングを終了し、リクエストに応答し、一つの形態では、取得された部分から、本方法は、スムーズ化された行程W
i→x1→x2→W
i+1 (例えば 1512, 1502, 1503, 1504, 及び1522)の期間を最小化する部分P及び部分Qを見つける。リクエストへの応答は、1601によって
図16中に示される。理論的に、部分Pが部分Qと重複することは可能である。しかしながら、実際には、職場W
iは、典型的には、職場W
i+1から充分に遠いために、重複は避けることができる。我々は、重複を扱うための幾つかの方法を使用する。一つの形態において、我々は、ストップステーションクラスタs
1からストップステーションクラスタs
2までの行程の記述内のコネクタc
2から上流に現れるコネクタc
1を選択する。他の形態において、我々は、2つの職場が、例えば2000m以内や2分の行程期間内など、予め決定された閾値内であるとき、最短パスアルゴリズムを使用して、職場W
iからW
i+1までの行程の記述を計算する。重複を扱う他の方法は、当業者において明らかである。一つの形態において、我々は、W
i又はW
i+1、しかし両方ではないスムージングを実行する。我々は、H→W
1及びW
k→Hのスムージングのための上述の他の形態を使用する。W
i→W
i+1のスムージングの我々の方法は、US8,417,409B2の請求項1に記載された方法を大きく改善する。
【0114】
一つの形態において、我々の方法は、2つの行程ルートのスムージングを含む行程の記述を決定する。
図17は、例示の形態を示す。本方法は、US2011/0251789A1の中間ウェイポイントのような、代表の予め決定されたセットを使用する。上述の形態を使用して、本方法は、行程の少なくとも1の部分を予め計算し、データベースに蓄積し、それぞれは、交通システム内(時には、少なくとも1の行程の部分記述として参照)の代表及びロケーションの間の行程の記述の一の部分を含む。ロケーションは、末端ポイントロケーションの任意に事前にセットされたセット中に含まれる。ロケーションの形態は、交差点、ターン、乗り物ストップ、リクエスト中に含まれるソースロケーション又はターゲットロケーション、代表、交通グラフの頂点のロケーションなどを含む。ソースロケーションsource、及びターゲットロケーションtargetを含むリクエストが到着した後、本方法は、行程のsource→w→targetに含まれる少なくとも1の代表wを決定する。この決定は、例えばUS 2011/0251789 A1のような従来技術を使用して達成される。本方法は、行程の少なくとも1の予め計算された部分Qを、データベースから取得し、それぞれは、代表からターゲットロケーションtargetまでの行程の記述の一の部分を含む。本取得は、行程W
k→Hのスムージングのため上記形態を使用して実行され、W
kは、代表wとして解釈され、Hはターゲットロケーションtargetとして解釈され、ストップステーションクラスタは予め決定された代表のセットとして解釈される。対称の方法で、本方法は、少なくとも1の予め計算された行程の部分Pを、データベースから取得し、それぞれは、ソースロケーションsourceから代表までの行程の記述の一の部分を含む。上記形態を使用して、本方法は、部分Pに含まれるロケーションx
P、及び部分Qに含まれるロケーションx
Qを決定する。次に、本方法は、H→x、及びx→Hの行程の記述を決定するための上記の形態として解釈できるsource→x
Pの行程の記述、x
Q→targetの行程の記述を決定する。例えば、一の形態において、予め計算されたsource→x
Pの行程の記述が、予め決定されたsourceの閾値内で出発し、x
Pで到着する予め計算された行程の記述を見つけることによって、決定される。同様に、一つの形態において、x
Q→targetの予め計算された行程の記述が決定される。それから、本方法は、どの部分がスムーズかを決定する。ロケーションx
P及びロケーションx
Qは、それぞれ任意に離れているかもしれず、例えばなぜなら部分P及び部分Qは、2つの異なる代表wのために決定されたためである。一つの形態において、本方法は、部分P及び部分Qが同じ代表wのために決定されたときに、それらをスムーズにする。一つの形態において、本方法は、上述のように予め決定された閾値に基づく制約を使用する。例えば、ロケーションx
P及びロケーションx
Qが例えば2000mの距離又は2分の行程期間などの予め決められた閾値内であると、本方法は、W
k→x又はx→W
1の行程の記述を決定するための上記形態を使用してx
P→x
Qの行程の記述を決定する。一つの形態において、本方法は、上述のように、予め決定された限界に基づく制約を使用する。例えば、本方法は、それぞれが最も近いx
P及びx
Qの最大で100のペアをスムージングのために選択する。一つの形態において、本方法は、交通グラフ、おおよその最短パス、粗雑グラフ中のパス、又は測地を使用して、x
P→x
Qの行程の記述を決定する。それから、本方法は、スムージングを終了し、リクエストに応答する。一つの形態では、取得された部分の間から、本方法は、source→x
P→x
Q→targetのスムーズ化された行程期間を最小化する部分P及び部分Qを見つける。この形態は
図17に示され、s
3はソースロケーション、s5はターゲットロケーション、s
4は代表w、x4はロケーションx
P、x5はロケーションx
Qを示す。我々は、上述の他の形態を使用する。スムージングの我々の方法は、US2011/0251789 A1の請求項1に記述された方法をかなり改善する。
【0115】
一つの形態において、我々の方法は、2つの行程ルートの少なくとも1のスムージングを含む行程の記述を決定する。一つの形態において、本方法は、(1)s
1→s
2, s
3→s
4 ,…, s
2k-1→s
2kのk≧2の行程ルートの配列を決定、(2)この行程ルートの少なくとも1のペアを選択、及び(3)上記の形態の1を使用してx
P→x
Qのスムーズ化された行程を介するペアの接続、によって特徴付けできる。一つの形態において、本方法は、粗雑グラフを計算し、その結果、粗雑グラフの各エッジが交通グラフ中のグラフパスに対応する。上記の形態を使用して、本方法は、少なくとも1の行程の部分を予め計算し、データベースに蓄積し、それぞれは、粗雑グラフの2つの頂点の間の交通システム内(時には、少なくとも1の行程の部分記述として参照)の行程の記述の一の部分を含む。ソースロケーション及びターゲットロケーションを含むリクエストが到着した後、本方法は、粗雑グラフ中で、本ソースロケーションの予め決定された閾値内のロケーションに対応する頂点から、本ターゲットロケーションの予め決定された閾値内のロケーションに対応する頂点までの最短パスCを計算する。粗雑グラフの頂点は、末端ポイントロケーションの形態である。次に、本方法は、交通システム内の行程ルートの少なくとも1のペアを結合することにより、最短パスCの2つのエッジに対応するスムージングを実行し、例えば、エッジの各連続ペア、それぞれから予め決定された閾値内に残る2つのエッジ、又は予め決定された制限内のエッジ以外のための行程ルートを決行させる。この目的のために、上記の形態を使用して、本方法は、データベースから少なくとも1の予め計算された行程の部分を取得する。例えば、
図17は、行程ルートs
3→s
4、及び粗雑グラフの2つの連続するエッジに対応する行程ルートs
4→s5を示し、これら2つの行程ルートは、x
4→c
4→c
5→x
5によってスムーズ化される。
図17はまた、それぞれから予め決定された閾値内に残る行程ルートs
1→s
2及びs
3→s
4のスムージングを示す。一つの形態において、本方法は、ソースロケーションからの行程のスムーズ化のために、s
1でスムージングを実行する。一つの形態において、本方法は、ターゲットロケーションへの行程をスムーズ化するために、s
2kでスムージングを実行する。それから、本方法は、スムージングを終了し、リクエストに応答し、一つの形態において、本方法は、スムーズ化された行程のこのように計算された記述の間から最短のものを見つける。一つの形態において、2以上のペアのための結合操作が、並列に実行される。我々は、上述の他の形態を使用する。2つの行程ルートの少なくとも1のスムージングを含む行程の記述を決定する他の形態は、当業者において明らかである。
【0116】
一つの形態において、現行のセクション4.5.5で述べられるスムージングは、セクション4.9.2で述べられるより一般的なケースに適用される。一つの形態において、我々は、現行のセクション4.5.5で述べられる方法を調整する。我々は、ストップステーションクラスタの代わりに、REPRESENTATIVE_SOURCE頂点、及びREPRESENTATIVE_TARGET頂点を使用し、及び当業者において明らかであるものとしてのセクション4.9.2で後述する他の調整を実行する。
【0117】
一つの形態において、我々は、最短行程中で度々生じるロケーションである代表を使用し、そのロケーションは、例えば、従来技術を使用して得られる。如何なる交通システムにおいての代表の望ましいセットを得るための方法は、多く知られている。幾つかの方法は、特許文献に出ている。CN104240163Aによって提案される議論のある最も単純な方法は、代表として、等しく配置された地理的グリッドを選択する。US8,756,014B2において提案された我々の方法は、代表として交通の乗り換え駅を選択する。他の方法は、代表として、交通システム内の、ロケーションのサブセットをランダムに選択する。また、US8,756,014B2によって提案される他の方法は、最初に、ランダムにツリーのルートをサンプルすることにより、頂点でルートされた最短パスのサブセットの平均重みを計算し、及びそれから頂点の数の1%と同じなど、最も高い平均重みで頂点の小さなセットを選択する。他の方法は、非特許文献で見られる。これらの文献は、以下の関連する技術特徴を述べる:(a)Gupta, Kosowski 及び Viennotのセクション3で述べられるリーチの考え、Exploiting Hopsets、Improved Distance Oracles for Graphs of Constant Highway Dimension and Beyond, ICALP 2019、(b)Kosowski and Viennotのセクション3.1で述べられるハブセットの構築、Beyond Highway Dimension、SODA 2017のツリースケルトンを使用した小さな距離ラベル、(c)Abraham, Delling, Fiat, Goldberg及びWerneckのセクション5.2で述べられるアクセスノードの考え、Journal of the ACM, Vol. 63(5) 2016におけるハイウェイ次元及びおおよそ効果の或る最短パスアルゴリズム、(d)Cohen, Halperin, Kaplan及びZwickの定義3.3で述べられるインラベル及びアウトラベルの考え、SIAM Journal on Computing, Vol. 32(5) 2012でのReachability and Distance Queries via 2-Hop Labels、(e)Abraham, Delling, Goldberg及びWerneckのセクション4.1及び5.4で述べられる最短パスカバーの考え、Road Networks, Microsoft Research Technical Report /SODA 2010でのハブベースラベリング最短パスアルゴリズムである。上記方法は、代表のセットの例を提供する。例は、しらみつぶしにインデントされない。他の多くの例は存在する。読者は、Sommerによる調査紙を参照し、Shortest-Path Queries in Static Networks, ACM Computing Surveys, Vol. 46(4) 2014で、これは本願開示の技術分野の基本/一般的な知識を得るために読まれる素晴らしい導入である。一つの形態において、代表のセットは以下の特徴となる、すなわち、交通システムのサブセット、そのようにして代表の数は、最大で、予め決定された率によって倍にされた交通システムのサイズであり、そのようにして、2つの末端ポイント間のルートの末端ポイントの近くの代表がある。一つの形態において、交通システムのサイズは、交通システムをモデルするグラフの頂点の数に対応する。一つの形態において、代表は、そのようなグラフの頂点に対応する。この特徴付けは、US8,756,014B2で見られ、及びまたSommerの調査紙で見られる。予め決定された率は、最大1の値を有する。例えば、セクション4.4の値に関するトレードオフを参照のこと。我々の方法は、本願の開示の時に一般に知られていない如何なる代表のセットをも含む、如何なるセットの代表をも使用する。
【0118】
一つの形態において、様々な形態が結合される。
【0119】
現在のセクション4.5.5で述べられるステップは、オプションである。一つの形態において、本方法は、スムージングを実行しない。我々のスムージングの方法は、一般的に、ルートの計算のために使用できる。
【0120】
我々は、請求項中にある選択されたフレーズの用語集を含み、及び明細書に参照を例示する。これらの参照は、しらみつぶしであることを意図していない、他の参照も存在する。参照は、意味解釈(文字そのものの解釈ではない)となる。
【0121】
本願の形態は、下記の方法を含む。夫々の請求される方法は自動化される。夫々の請求される方法は、精神的過程(如何なる請求される方法は人の心で実行されるステップでない)を含まない。前述の根拠は、時にはボックスでトラックされ、請求項での囲み線の用語は、後段で点線囲み線として使用される。
1.少なくとも1のサイトを検索又は比較する方法であって、
前記方法は、交通システム内の前記少なくとも1のサイト及び少なくとも1の場所の間の少なくとも1の行程の記述を使用しており、
前記方法は、
(a)前記交通システムに含まれる少なくとも1の代表を受信し、
(b)前記少なくとも1の場所を含むリクエストを受信し、
(c)前記少なくとも1の行程の記述を使用して得られた情報を伴う前記リクエストに応答する、
ことを含み、前記方法はステップによって特徴付けられ、ここにおいて、前記ステップは以下の事を含む、
(d)少なくとも1の行程の部分記述を決定し、それをデータベース内に蓄積し、
ここにおいて、それぞれの行程の第一の部分記述は、前記少なくとも1のサイト中に含まれる第一サイト及び前記少なくとも1の代表に含まれる第一代表の間で、前記交通システム内の行程の記述の一の部分を含み、及び
(e)前記少なくとも1のサイト内に含まれる出発/到着サイト、及び前記少なくとも1の場所内に含まれる出発/到着場所の間の前記交通システム内の行程の記述を含む前記少なくとも1の行程の記述を計算し、
ここにおいて、前記計算は、
i.前記少なくとも1の行程の部分記述から少なくとも1の行程の第二の部分記述を取得し、ここにおいて、それぞれの行程の第二の部分記述は、前記出発/到着サイト及び前記少なくとも1の代表中に含まれる第二代表の間で、前記交通システム内の行程の記述の一の部分を含み、
ii.前記出発/到着場所及び前記行程の第二の部分記述中に含まれるロケーションxの間で、前記交通システム内の行程の記述を決定し、及び、
iii.前記ロケーションx及び前記出発/到着サイトの間で、前記交通システム内の行程の記述を決定する。
2.交通システム内でソースロケーションからターゲットロケーションまでの行程の記述を決定する方法であって、
前記方法は、
(a)前記交通システム内に含まれる少なくとも1の代表を受信し、
(b)前記ソースロケーション及び前記ターゲットロケーションを含むリクエストを受信し、及び、
(c)前記行程の記述を使用して得られた情報で、前記リクエストに応答し、
前記方法はステップによって特徴付けられ、ここにおいて、前記ステップは以下の事を含む、
(d)少なくとも1の行程の部分記述を決定し、それをデータベース内に蓄積し、
ここにおいて、それぞれの行程の第一の部分記述は、前記交通システム中に含まれる末端ポイントロケーション及び前記少なくとも1の代表に含まれる第一代表の間で、前記交通システム内の行程の記述の一の部分を含み、及び
(e)以下のステップを使用して前記行程の記述を計算し、
i.少なくとも1の部分P及び少なくとも1の部分Qを決定し、ここにおいて、前記部分P及び前記部分Qは、前記交通システム内に含まれ、及びここにおいて、
A.前記部分Qは、前記ターゲットロケーションであり、及び前記部分Pは前記少なくとも1の行程の部分記述から取得され、ここにおいて、前記末端ポイントロケーションは、前記ソースロケーションであり、
B.前記部分Pは、前記ソースロケーションであり、及び前記部分Qは、前記少なくとも1の行程の部分記述から取得され、ここにおいて、前記末端ポイントロケーションは、前記ターゲットロケーションであり、又は、
C.前記部分Pは、前記少なくとも1の行程の部分記述から取得され、ここにおいて、前記末端ポイントロケーションは前記ソースロケーションであり、及び前記部分Qは前記少なくとも1の行程の部分記述から取得され、ここにおいて、前記末端ポイントロケーションは前記ターゲットロケーションであり、
ii.前記部分Pに含まれるロケーションxPから前記部分Qに含まれるロケーションxQまでの行程の記述を決定し、
iii.前記ソースロケーションから前記ロケーションxPまでの行程の記述を決定し、及び、
iv.前記ロケーションxQから前記ターゲットロケーションまでの行程の記述を決定する。
【0122】
或る形態が
図18に示され、1801はソースロケーション、1802はターゲットロケーション、1803は部分P、1804は部分Q、1805はロケーションx
P、1806はロケーションx
Q、1807はロケーションx
Pからロケーションx
Qまでの行程の記述、1808はソースロケーションから部分Pまでの行程の記述、及び1809は部分Qからターゲットロケーションまでの行程の記述を示す。
【0123】
我々の方法は、如何なる記憶媒体の形態も使用する。例えば、予め計算された行程の記述を蓄積するデータベースは、一つの形態において、例えば揮発性メモリや不揮発性メモリなどの非一時的なコンピュータで読取り可能な記憶媒体である。非一時的なコンピュータで読取り可能な記憶媒体の形態は、当該技術分野で良く知られ、及びだからここで述べる必要性はない。一つの形態において、方法は、少なくとも1のプロセッサによって実行される1以上のプログラムを蓄積するために、非一時的なコンピュータで読取り可能な記憶媒体を使用する。プロセッサの例は、CPU及びGPUを含む。プロセッサの形態は当該技術分野で良く知られ、及びだからここで述べる必要性はない。1以上のプログラムは、本願で述べられた方法の少なくとも1のステップを実行するために、少なくとも1のプロセッサによって実行される指示を含む。一つの形態において、当該指示は、例えばC++, Java又はJavaScriptなどの如何なるコンピュータプログラミング言語でも記述される。指示を記述する形態は当該技術分野で良く知られ、及びだからここで述べる必要性はない。
4.6 一つの家の検索
【0124】
我々の方法は、通勤を使用している家をいかに効果的に検索するかを教える。我々は例えば、我々が一つの家の一般的な検索リクエストを紹介する以前に、第一に幾つかの例の検索リクエストを示す。
4.6.1 重み付けされた合計リクエスト
【0125】
週に5階geo1に位置する場所に働きに行く一方の親、及び週に3回geo2に位置する場所に働きに行く他方の親のある家族を考える。この家族は、週間で短い行程期間の家を見つけたい。我々は、下記の
のように、2つのベクトルの重み付けられた合計として各ホームクラスタの、前記家族にとっての週間の行程期間を見つける。
4.6.2 最小リクエスト
【0126】
家から働くシングルマザーで、子供を学校に送っていることを考える。その母は、学校Eからどの学校でも近くなる家を発見したい。我々は、下記の
として、ベクトルの座標点最少として各ホームクラスタにおいてその子供にとっての一日の行程期間を見つけることができる。
4.6.3 一つの家の一般検索
【0127】
一つの形態において、我々の方法はリクエストを通勤パスの配列path
1, . . . , path
qとして定義し、qは何でもよく、及びファンクションドライバ:qの数のベクトルを一つの数にマップするR
q → R。本方法は行程期間ベクトル(ゼロから、予め計算されたベクトルを受信することによって、又は両方)
及び、ファンクションドライバの座標点を、各ホームクラスタのため“派生された”行程期間を伴うベクトルを生成するために、ベクトルに適用する。
【0128】
一つの形態において、前記ファンクションドライバは、重みW
1, . . . , w
qにおいて、重み付けられた数の合計
である。重みは正又は負になることができる。もし行程期間が行程のお金の料金として解釈されるのなら、例えば、もし通勤者が特定の通勤(例えば小包の配達)を実行することからの利益を得ることを予測されるなど、それなら負の重みはお金の取得として解釈される。重みは通勤パスの相対的な重要性を示すことができ、例えば、社長の通勤パスは、第一線マネージャの通勤パスよりもより高い重みを有する。
【0129】
一つの形態において、前記ファンクションドライバは、数の最小
である。
【0130】
一つの形態において、前記ファンクションドライバは、重み付けられた合計及び最小である。
【0131】
一つの形態において、前記ファンクションドライバは、例えば条件付きの
又はいかなるアルゴリズムである。
4.7 2以上の家の比較
【0132】
我々の方法は、通勤を使用する複数の家をいかに効果的に比較するかを教える。我々は、我々が一般的な比較リクエストを紹介する前に、幾つかの例に関しての方法を説明する。
4.7.1 現在の家
【0133】
現在、家に住んでいる家族を考える。前記家族のメンバーは、職場、学校、及び他の場所への特定の通勤パスを有する。前記家族は、他の家に引っ越しすることを考え、現在の家のトータルの行程期間及び他の見込みの家のトータルの行程期間を比較したい。我々の方法は、そのような比較をかなりシンプルにする。
【0134】
一つの形態において、本方法は、前記家族の現在の家Sのホームクラスタh
jを含む、全てのホームクラスタにとっての行程期間を計算する。
本方法は、それから“差分”ベクトルに応答する:本方法は、各座標
からj番目の座標での値を引く。“差分”ベクトルの座標での負の値は、前記座標に対応する家が、現在の家Sと比較してより短い行程期間を有することを示す。
【0135】
一つの形態において、本方法は前記現在の家にとっての幾つかの通勤パス、しかし他の家にとっての他の通勤パスを使用する。このように、本方法は、“万が一我々が職場を変えて、幾つかの他の家に引っ越ししたら。新しい通勤期間を我々の現在の通勤期間をどのように比較するのか”というもしかしてシナリオを家族が評価することを助ける。
4.7.2 2以上の家の一般比較
【0136】
母と父が同じ職場に(職業を変えない)通勤を続けなくてはならないが、子供は学校を変えることができる家族を考える。両親及び母方の両親という2つの家族の他の例を考える。彼らは、お互いに30分程度以内に2つの家を探したい、その結果、一つの家は病院の近く、及び他の家は特定の学校や職場の近くである。我々の方法は、より簡単に、そのような家と他の家との比較をする。
【0137】
一つの形態において、本方法は、通勤パスの範囲でのホームクラスタにとっての行程期間PathDurationsを計算する。
それから、本方法は、セクション4.6.3でのような座標点の操作をしない“一般化された”ファンクションドライバを適用し、しかし代わりに一緒に全てのq'm行程期間で操作して、そして1以上の数のベクトルを生成する。言い換えると、前記一般化されたファンクションは、幾つかのyでの
である。
4.8 検索又は比較
【0138】
一つの形態において、ファンクションドライバは、例えばランダム化されたアルゴリズムなど、どのような入力も受ける(例えば、通勤パス、最短行程パス、最短行程期間、家やユーザリクエストによって特定されるいかなる条件)いかなるアルゴリズムであり、及びそのような出力(例えば、最短行程期間によってソートされ、ユーザ条件を満たす家を含む“トップリスト”、及びユーザの状況をも満たす最短の行程を有する)をも生成する。
4.9 変形
【0139】
多くの調整や変形は前記形態の範囲及び精神から離れない従来技術の当業者において明らかである。我々は、説明のため幾つかの変形を提示する。
4.9.1 行程の延長
【0140】
一つの形態において、本方法は不完全な最短行程を計算し、そしてそれから選択されたホームクラスタにそれらを延長する。これは、追加の処理及び蓄積内で減少のため蓄積、及びベクトルvi及びv´i中での幾つかのホームクラスタによる処理を取引する。
【0141】
本方法は、交通システムの幾つかの要素であるホームコネクタを決定する。一つの形態において、前記ホームコネクタは、セクション4.4.1で記述されたクラスタとは異なるかもしれないホームクラスタ又はストップステーションクラスタである。それから、本方法は、セクション4.4のこれらと似た形態を用いて、前記ストップステーションクラスタ及び前記ホームクラスタの間の最短行程を予め計算してデータベースに蓄積する。
【0142】
リクエストが受信されるとき、本方法はリクエストに含まれる職場W及び選択されたホームクラスタの間の最短行程を計算する、この目的のため、本方法は前記職場の近所のストップステーションクラスタを決定し、セクション4.5と同じように、前記職場W及びホームクラスタの間の最短行程を計算するため、前記近所のストップステーションクラスタ及び前記ホームコネクタの間の予め計算された最短行程を取得する。一つの形態において、この計算はこれらのセクション4.5.2及び4.5.3と似たベクトル演算を使用する。それから、これらの最短行程は、前記職場W及び選択されたホームクラスタの間の最短行程を形成するため、ホームクラスタを超えて延長される。これは単純に、各ホームクラスタにとって、例えば2000m以内など、前記ホームクラスタの近所のホームコネクタを通過する最少延長行程(単なる徒歩ではないかもしれない)を見つけること、そして時には前記職場W及び前記ホームクラスタ(セクション4.5.2及び4.5.3と似た)の間の直接最短行程を見つけることにより達成され得る。一つの形態において、重複エリアで、本方法は前記ホームコネクタ及び前記ベクトルvi及びv´iを使用する。
【0143】
延長行程のパフォーマンスは、ホームコネクタの総数に比例し、そしてまた、選択されたホームクラスタの近所のホームコネクタの数に比例する。一つの形態において、前記延長は、前記2つの量が低くなるような、大都会エリアのまばらな場所に使用される。一つの形態において、本方法は、パフォーマンスコストファンクションを、(1)ホームコネクタを決定、(2)ホームクラスタの選択、及び(3)前記選択されたホームクラスタのそれぞれの近所のホームコネクタのサブセットを決定するために使用する。
4.9.2 車による通勤
【0144】
一つの形態において、我々は公共交通によるものよりむしろ、車での通勤パスの行程期間を計算する。これは、前述のセクションへの簡単な変更によって達成される。
【0145】
家にとっての交通システムを予め処理するとき、セクション4.4、公共交通システムのグラフとなるGTを取得するのに変えて、我々はカードライブシステムのグラフとなるGTを取得する。このカードライブグラフは、例えば従来技術より得ることができる。あのグラフは、道路上の地理的ロケーションを示す頂点、及び車の運転又は車の向きを変えることを示すエッジ、例えばラッシュアワーの間など一日の様々な時間での運転期間に関するデータを含むエッジなどを有する。
【0146】
我々は、GTを延長する。各ホームクラスタsにとって、我々は頂点
HOME_CLUSTER_SOURCE_s
及び
HOME_CLUSTER_TARGET_s
を追加する。我々は、各ホームクラスタを、少なくとも1つのrにおいて頂点
CONNECTOR_r
を追加することによって、例えば100mなどの閾値距離内である幾つかの道路に接続する。一つの形態において、前記頂点は閾値内である道路上でのホームクラスタロケーションの最短距離プロジェクションを示し、前記道路は前記ホームクラスタに割り当てられたカーパーキング内にあるかもしれない。前記頂点は、重み0を伴うZeroにラベル化されたエッジによって、2つのホームクラスタ頂点に接続される。前記頂点はまた、前記道路のセグメントの端点を示す頂点に接続される。ストップステーションクラスタを追加する代わりに、我々はするべきではなく、なぜなら今GTは地下鉄駅もバス停をもモデルにしておらず、我々はs´ 及びt´の集合のため頂点
REPRESENTATIVE_SOURCE_s'
及び
REPRESENTATIVE_TARGET_t'
を追加し、これらの頂点は、最短行程中でのよく生じるロケーションを示し、前記ロケーションは例えば従来技術をしようして得られる。これらの頂点は、クラスタを示す。これらの頂点は、エッジを使用する他の頂点と適切に接続される。
【0147】
我々は、前記延長GTを、可能ならセクション4.4.1で述べられたこれらに似た形態を用いて、各
REPRESENTATIVE_SOURCE_s'
から各
HOME_CLUSTER_TARGET_s
及び各
HOME_CLUSTER_SOURCE_s
から各
REPRESENTATIVE_TARGET_t'
までのグラフパスの最短期間を計算するために使用する。これらの行程期間は、セクション4.4.2で述べられたベクトルフォームvi及びv´i内に蓄積される。
【0148】
通勤パスの行程期間を計算するとき、我々はセクション4.5内での徒歩を使用する代わりに、カーライドを使用する。
【0149】
行程の出発パートのため、我々はセクション4.5.2に以下の変更を作る。walk(Hj→ W1)の代わりに、我々は例えば従来技術より得られたホームクラスタHjからW1までのカーライドの期間を使用し、一つの形態において、前記Hj及びW1の間の距離が閾値以上のとき、我々は代わりにこの期間を無限大に設定する。前記セットAは、W1から閾値距離内の頂点
REPRESENTATIVE_TARGET_t'
のセットである。各頂点si∈Aにとって、我々は例えば従来技術を使用して、siから W1までのカードライブ期間を計算する。
【0150】
行程の到着パートにとって、我々は、しかしセクション4.5.3ではない似た変更を行う。walk(Wk→Hj)の代わりに、我々は例えば従来技術より得られたW1からホームクラスタHjまでのカーライドの期間を使用し、一つの形態において、前記Wk及びHjの間の距離が閾値以上のとき、我々は代わりにこの期間を無限大に設定する。前記セットBは、Wkから閾値距離内の頂点
REPRESENTATIVE_SOURCE_s'
のセットである。各頂点si∈Bにとって、我々は例えば従来技術を使用して、W1からsi までのカードライブ期間を計算する。それから我々はこれらの変更を等式2に適用する。
【0151】
我々は、セクション4.5で述べた他の形態を使用する。例えば、我々は測地線を用いてカーライドの行程期間を推定する。
【0152】
セクション4.6の検索フレームワークは、どんな種類の乗り物が各通勤パスにとって使用されるべきかを制限することを許容するため単純に延長されることができる。結果として、例えば、我々は、週に5階geo1に位置する場所に車で働きに行く一方の親、及び週に3回geo2に位置する場所に公共交通で働きに行く他方の親のある家族にとって、各家における通勤パスの行程期間を決定することができる。
【0153】
セクション4.7の比較フレームワークは単純に延長されることができる。結果として、例えば、我々は人が車によって通勤する新しい家を検索でき、公共交通による現在の行程期間と比較をすることができる。我々の方法の結果は、引っ越しのために、車を購入するインセンティブとして使用されるかもしれない。
4.9.3 他の手段による通勤
【0154】
一つの形態において、本方法は、例えば、徒歩のみ、自転車のみ、高速バス及び徒歩のみ、地下鉄及び徒歩のみ、高速バス、地下鉄及び徒歩のみ、共有バン及び徒歩のみ、ボート、飛行機などの他の手段による通勤パスを使用する。我々は単純にセクション4.9.2で述べられたこれらに類似する変形を使用する。一つの形態において、本方法は、他の家及び行程の他の手段、及び現在の家及び現在の行程の手段を比較して利益を説明して、ユーザにこれらを推薦する。
【0155】
与えられたグラフでの最短グラフパスは、前記グラフの様々な頂点の地理的なロケーションを知ることなしに計算されることができる。このように、一つの形態において、本方法はその様々な要素が地理的ロケーションを欠いた交通システムを使用する。
【0156】
前記交通システムは、物理的に動く物体を必要としない。本方法は単に前記交通システムの要素の間のルート又はルート距離を決定することができる必要がある。このように、データを移動するコンピュータネットワークは、交通システムの一例であり、この交通システムは、ワイヤ/ライン(道路に類似して)、及びハブ/スイッチ(停止/方向変更に類似して)のこれらの交通要素から成る。交通システムの多くの他の例は、従来の当業者に明らかである。
4.9.4 行程パスの条件
【0157】
我々は、行程パスにおける様々なフィルタリング条件を単純に理解することができる。例えば、我々は地下鉄ラインの間に乗り換えがなく、しかしホームクラスタ及びステーションクラスタの間で徒歩を有するグラフGを構築できる。セクション4.9.2で述べたこれらの類似する変形に沿って、本方法は、それから通勤者が家及び職場(前記家及び前記職場は共に1つの地下鉄ラインの地下鉄駅から徒歩距離内であるという必要はない)の間の乗車の間ずっと座るとき、検索又は比較をする。単純に、我々はGを構築し、最大で一つの乗り換えに、又は地下鉄―バス乗り換え、又はバス―地下鉄乗り換え、又はタイムウインドウなしに起こる乗り換え、又は通勤者によって共通に使用される行程パスのタイプにグラフパスを限定するために最短のグラフパスアルゴリズムを変更する。行程パスをフィルタリングするための他の変形は、従来の当業者に明らかであるとして、我々の方法の範囲内になる。
4.9.5 家の条件
【0158】
一つの形態において、本方法は、家の様々な特徴のフィルタリング条件を受信し、そして前記条件に一致する特徴の家を検索又は比較する。前記特徴は、タイプ(例えば隣接する家、又は構想マンション)、取引タイプ(例えば販売又は賃貸)、価格、不動産エージェントの業務委託料、税、最大銀行ローン額、ベッドルーム又はバスルームの数、家のエリア/サイズ、窓の地理的方向、家の階数、前記建物の階数、典型的な月の管理費などである。単純に、本方法は各家の特徴リストを保持し、条件を与え、前記条件に一致する特徴の家を決定する。これら家と一致する前記行程期間は、ホームクラスタの行程期間から得られる。家をフィルタリングするための他の変形は、従来の当業者に明らかであるとして、我々の方法の範囲内になる。
4.9.6 メタ検索又は比較
【0159】
一つの形態において、本方法は、従来の検索又は比較リクエスト及び応答のアンサンブルを使用して家を検索又は比較する。これは、メタ方法(それ自体を使用する方法)をみなされる。それは、例えば提案された新しい不動産の発展の価値を評価するために有用である。
【0160】
我々は、前記メタ方法の形態を記述する。我々は、通勤パスpath
1, . . . , path
uの幾つかの数uを受信する。一つの形態において、前記通勤パスは家を検索又は比較するためにコンピュータサービスの有用なログから来て、各通勤パスは前記サービスの異なるユーザによって提供されるかもしれない。各通勤パスpath
kのため、我々はセクション4.5に従い全てのホームクラスタPathDurations(path
k)の行程期間を計算する。それから、我々は前記行程期間を処理するアグリゲータを適用する。一つの形態において、各通勤パスpath
kのため、我々は重みW
kのベクトルを受信する。一つの形態において、各重みは、ユーザがホームクラスタに対応して家をクリックする可能性であり、それは不動産資産の条件、又は前記ユーザのリクエスト内で特定される行程パスの条件によって影響されるかもしれない。それから、我々は下記公式内として、座標点の集合を計算する。
j番目の集合は、ホームクラスタH
jの平均重み付け行程期間である。一つの形態において、j番目の集合は、完全な大都会エリアのトータル行程期間に対するホームクラスタの標準化された寄与を示し、ある意味、前記大都会エリア内でのホームクラスタの中心である。なぜなら、我々の方法はPathDurations(path
k)を素早く計算し、我々は素早く前記集合を計算できる。これは、通勤に関して各不動産資産の好ましさの素早い計算を可能にする。
【0161】
メタ方法の多くの他の形態では、従来の当業者において明らかである。一つの形態において、通勤パスは家及び職場の地理的ロケーションから生成される。一つの形態において、前記重みは最も低い行程期間のホームクラスタの幾つかの数のとってはゼロでなく設定され、他はゼロに設定される。一つの形態において、データ科学者は、もしかしてシナリオを評価し、なぜなら我々の方法の有利点であり、これらのシナリオは素早く評価される。一つの形態において、前記アグリゲータは任意のアルゴリズムであり、例えば、相違、分位、累積分配ファンクション、又は閾値を超える可能性を計算するものである。
4.9.7 2以上の家を含む通勤パス
【0162】
一つの形態において、通勤パスは2以上の家を含む。これは、例えば2以上の家族のための家を一緒に検索又は比較するときに、有効である。
【0163】
一つの形態において、H1及びH2は2つのホームクラスタである。我々は、H1から出発し、しかしH1とは異なるだろうH2で終了するいかなるH1→path→H2の通勤パスの行程期間を計算することができる。我々は単純に等式1のH1に対応するj、しかし等式2のH2に対応するjを使用する。
【0164】
一つの形態において、我々は両方のベクトル(a1, . . . , am)及び(b1, . . . , bm)を予め計算し、そしてそれから我々は、単純にH1に対応する座標(a1, . . . , am)での値を、Hjに対応する座標(b1, . . . , bm)の値に加算することにより任意の2つのホームクラスタHi及びHjの行程期間、プラス前記パス(Hi及びHjから独立している)の中間パートの行程期間を見つける。我々は、m2ペアから、ホームクラスタのどんなペアの行程期間が直線O(m)空間のみを使用して定数O(1)内に見つけられることを認める。これはなぜなら行程期間の付加構造のため、前記パスがいかなる2つのホームクラスタの間のセパレータとして働くという事実である。
【0165】
一つの形態において、ホームクラスタのセットは、H1のために許可されるホームクラスタのセットが、H2のために許可されるホームクラスタのセットとは異なるかもしれない。例えば、ユーザ条件は、H1が市の東にあることを限定し、一方H2が市の西側にあることを限定する。この場合、我々はmとは異なる距離m´のベクトル(b1, . . . , bm´ )を使用する。
【0166】
より一般的には、本方法はホームクラスタH1→path1→H2→path2→ . . . → pathk-1→ Hk,k ≧ 2のいかなる配列のために行程期間を計算する。予め計算することを使用して、これはO(k)時間、及びO(m・k)空間でなされることができる。
【0167】
一つの形態において、通勤パスはこの例の通勤パスH
1→path
1→H
x→H
y→path
2→H
2内として、ホームクラスタH
x→H
yの間の直接行程を含む。この例で、我々の方法は計算を3つのパートに分割し(1)H
1→path
1→H
xの行程期間の計算、(2)H
x→H
yの行程期間の計算、及び(3)H
y→path
2→H
2の行程期間の計算である。パート(1)及び(3)は、現行のセクション4.9.7中で前述した方法を使用して実行される。パート(2)は単純に職場としてのH
x又はH
yのどちらかを観念的に扱うことにより実行できる。例えば、H
xに対応する座標でのベクトルv´
iを使用して、我々は前記ホームクラスタH
xから各ストップステーションクラスタまでの行程期間を所得して。これらは予め計算されたベクトルv´
i, 1≦i≦nの縦の一列として取得されることができる。それから我々は、セクション4.5.2に類似して、例えば
図8及び等式1をみて、完全行程を形成するH
yからH
yまでの閾値距離内で各ストップステーションクラスタから延長する。我々の方法のために予め計算されるために、前記(3)は前記閾値距離内のストップステーションクラスタの数に比例した時間内で実行される。一つの形態において、前記ホームクラスタが前もって知られているために、我々は、ホームクラスタの各ペアの間の行程期間を予め計算し、そしてそれから単純に定数O(1)時間で行程期間を取得する。自然に、類似の分割がホームクラスタの間の1以上の直接行程を含むいかなる通勤パスにも適用する。
4.9.8 空間探索
【0168】
我々の方法は、パフォーマンスの高い空間探索アルゴリズムを紹介する。通勤者が特定のコストを有する特定の通勤パスH1→path→H2に沿って移動するときのケースを考え、前記コストファンクションは、2つの家H1及びH2に依存する。通勤者は、前記コストを最小化する家H1及びH2を探す。これは、例えば家族が2人の両親の職場ロケーション(H1及びH2)を同時に変えたいとき、一方で2つの体の問題として知られる家族の現行の家のロケーション(パス内)からのトータルの通勤期間を最小化するときに有用である。
【0169】
空間探索の一つの形態では、勾配降下アルゴリズムである。コストファンクションは微分可能関数となることができ、例えば、固定パスが与えられ、前記ファンクションは入力として2つの家H1及びH2を取り、そして通勤パスH1→path→H2の行程期間によって乗算された2つの家H1及びH2の間の距離を、出力として返す(このファンクションは、例えば家及び外挿の地理的ロケーションを介した、家のペアの別々のドメインの外側に適切に延長されることができる)。勾配降下アルゴリズムの与えられたステップで、前記アルゴリズムは、与えられた家のペアのコストファンクションの勾配を計算し、そしてそれから前記アルゴリズムの次のステップのために勾配の方向に沿って家のペアを選ぶ。前記勾配は、例えば、2つの値を必要とする2点公式を使用して、コストファンクションの値を使用して計算される。一つの形態において、前記勾配降下アルゴリズムの出力は、前記勾配が水準に十分に小さいものを有する場合に家のペアである。
【0170】
一つの形態において、我々は直線O(m)空間を消費しているベクトル(a1, . . . , am) 及び(b1, . . . , bm) を予め計算し、各ステップで我々の方法は定数O(1) 時間中の勾配を計算する。このために、前記勾配降下アルゴリズムは、度々素早い進歩を作る。
【0171】
一つの形態において、我々は(a1, . . . , am)及び(b1, . . . , bm)を予め計算しない、しかしその代わりに要求に応じて、等式1及び等式2毎に必要とされる値を生産する。そのようなアプローチは、家の数がとても多くて(a1, . . . , am)又は(b1, . . . , bm)の予めの計算が実行不可能であるときに使用される。
【0172】
一つの形態において、空間探索アルゴリズムは、家の上での制約を有する。例えば、もし我々が一つの家へのラウンドトリップを要求するならば、制約はH1=H2である。我々はH1のために許容される、又はH2のために許容される地理的領域を制約する。
【0173】
一つの形態において、空間勾配アルゴリズムは、H1→path又はpath→H1の一つの家のみを含む通勤パスを使用する。他の形態において、空間探索アルゴリズムは、セクション4.9.7のような、2以上の家を含む通勤パスを使用する。
【0174】
一つの形態において、コストファンクションは、家及び職場に依存する。例えば、そのようなコストファンクションは、個人が消費された時間やお金のブレンドを最小化するために探しているときに使用されることができる。一つの形態において、前記コストファンクションは、H及びWの間の行程期間、プラスHの賃貸の料金コスト、マイナスWによって支払われる給料、可能ならば成分の相対的重要性を示す重み、である。一つの形態において、我々の方法の有利な点のために、勾配加工はそのようなコストファンクションの下で家及び職場を探すための検索するために効果的に使用される。
4.10 一般的なケース
【0175】
一つの形態において、単語“家”及び“職場”は任意の意味に関する意味を有する。例えば、人が、前記人の現在の家の近くに位置する職場を探しているケースを考える。前記人は、異なる家に引越ししたくない、しかし単に現在の家に近くの職場を見つけたい。この場合、我々の方法が単純に適用される。大都会エリアを通して人々が働くサイト(例えば様々なオフィスや工場など)の範囲が与えられると、本方法は全てのワークサイトクラスタ及び各ストップステーションクラスタの間の行程期間を計算する。このように本方法は、“通勤を使用する職場検索又は比較”方法と見做すことができる。一つの形態において、本方法はユーザの特定の仕事タイプ、又は給料レンジ、及び前記ユーザの現在の家からの行程期間に基づいて職場サイトを検索又は比較する。他の例として、本部を新しいロケーションに引っ越したい会社を考える。我々の方法は、大都会エリアを通しての前記本部の全ての新しいロケーションのトータルでの“会社の行程期間”を計算するために使用される。このように、前記会社は、どのように全ての新しいロケーションが従業員の通勤に影響するを決定する。新しいロケーションは、例えば(1)最悪のケースの通勤期間が限定され、及び(2)平均通勤期間が低く、このために個人や社会的目的がを満たしているものが選択される。
【0176】
結局、我々の記述は、主に検索又は比較目的として行程期間に関して話した。しかしながら、本方法は他のいかなる目的、例えば行程の料金コスト、メートル距離、行程パスの特定の特徴又は属性、例えば乗り換えの数、又は徒歩距離、又は例えば価格、サイズ、又はタイプなどの家の特徴などを使用することができる。一つの形態において、これは単純にグラフを構築して、適切なエッジ重みを設定することにより達成される。様々な目的は、例えば行程の料金コストによってペナルティされる行程期間を最小化する家を検索するなど、マルチ次元コストに基づくマルチ目的最適化検索に結合される。
【0177】
一般に、本方法は任意のサイトS1, . . . , Sm(サイトは前述セクションでは家と呼ばれた)及び任意の場所P1, . . . , Pk(場所は前述のセクションでは職場と呼ばれた)を使用し、本方法は幾つかの前記サイトで始まり又は到着し、また前記サイト及び前記場所を含んでいる任意のルート明細(ルート明細は前述のセクションでは通勤パスと呼ばれた)によって特定されるものとして、前記場所の幾つかを訪れるルート又はルート距離(前述のセクションではルートは工程の記述と呼ばれ、またルート距離は工程の距離と呼ばれた)を使用して前記サイトS1, . . . , Smを検索又は比較する。前記検索又は比較はセクション4.9で述べたいかなる変形も使用する。このように、本方法はルート又はルート距離、又はそれらの代表に応答する。本方法の一つの形態で計算される情報は、本方法のいかなる形態への入力として、繰り返し使用される。
4.11 コンピュータシステム
【0178】
本発明の形態の一つは、通勤を使用して不動産資産を検索又は比較するコンピュータシステムである。我々は、
図11において前記コンピュータシステムの形態を説明する。
【0179】
我々は、我々の記述中で用語“モジュール”を使用する。当該技術において前記用語は、幾つかの特定の機能を提供するコンピュータ(サブ)システムを意味する。コンピュータシステムを前記特定のモジュールに分割する我々の選択は、例示であり強制ではない。 当該技術の当業者は、前記システムは本発明の範囲から離れない他のマナーでモジュールに編成されることを理解する。
【0180】
一つの形態において、どのような通勤パスに沿った各工程は、特定の出発時間を有する。
【0181】
前記システムの1のモジュール(1101)は、データソース(1102)から交通システムに関するデータを読み、グラフGを構築する。前記構築の間、前記モジュールは不動産データソース(1103)から家に関するデータを取得し、そして他のデータソース(1104)から近くのホームクラスタ及びストップステーションクラスタの間の最短徒歩を取得する。グラフGは乗り物に関する時間データを含む。前記モジュールは、いかなる
HOME_CLUSTER_SOURCE_s
の頂点(1105)なしに前記グラフを出力し、及びまたいかなる
HOME_CLUSTER_TARGET_s
の頂点しかし反対向きのエッジを有する(1106)ものなしに前記グラフを出力する。前記モジュールはまた、いかなる与えられた地理的ロケーションからの閾値距離内のストップステーションクラスタを見つけることができる最も近い近所のデータ構造(1107)を構築する。
【0182】
しばらくの間、前記システムの他のモジュール(1109)は2つのグラフを読み、そして最短グラフパスを計算する。前記モジュールは、一つの形態では5分毎で、一日内での時間の範囲を考える。各出発時間において、前記モジュールは(1105)を使用してストップステーションクラスタからホームクラスタまでの最短行程期間を伴う一つのテーブル(1110)、及び(1106)を使用してホームクラスタからストップステーションクラスタまでの最短行程期間を伴う他のテーブル(1111)を生成する。一つの形態において、最も近い分で往復される、各行程期間がC++プログラミング言語のuint8_t タイプとして蓄積され、未知の又はあまりに大きな行程期間を示すために255の最大値を伴い保存される。一つの形態において、前記テーブルはHDDに行優先順でのHDDディスク上に展開される。一つの形態において、前記システムは、HDDディスク、SDDディスク及びメインメモリを含むキャッシュ階層を使用する。一つの形態において、前記テーブル及びそれらのパートは、例えばデルタ圧縮などのいかなる圧縮アルゴリズムを使用して圧縮される。我々は、ホームクラスタ、及びストップステーションクラスタから成るいかなるペアのため、行程期間が度々期間の間、似ていることを観察する。この類似はまた、前記ペアの近所で度々行う。一つの形態において、我々はホームクラスタの配列h1, . . . , hmを選択し、その結果、前記配列に近接するいかなるhi 及びhi+1が度々ホームクラスタの近所であり、又はストップステーションクラスタの配列s1, . . . , snを選択し、その結果、前記配列に近接するいかなるsi 及びsi+1が度々ホームクラスタの近所である。
【0183】
前記モジュール(1101)及び(1109)は連続で操作する。結果として、前記システムは出発時間が与えらえれた行程期間に関しての新鮮なデータを維持する。
【0184】
同時に、パス期間モジュール(1112)はPathDurationsを計算する。出発時間を伴う通勤パスを与えると、前記モジュール(1113)は、すでに予め計算されたいかなる関係するPathDurationsを問い合わせる。どのような失われたものもゼロから計算され、前記モジュールは、どのような家をも含まない通勤パスのパートのPathNonHomeDurationを計算するためにナビゲーションデータソース(1114)に問い合わせる。前記モジュールはまた、行程期間PathFromHomeDurations、最も近いストップステーション(1107)を問い合わせることにより、家を含むPathToHomeDurations、徒歩(1108)、及び出発時間でのホーム行程期間ベクトル(1110及び1111)を計算する。
【0185】
同時に、前記リクエスト処理モジュール(1115)は不動産資産を検索又は比較する。どのようなリクエスト(1116)もが通勤パス及び出発時間に沿った地理的ロケーション、及びドライバを含む通勤パスを含む。リクエストがユーザから受信されるとき、前記モジュールはパス期間モジュール(1112)からPathDurationsを取得して、前記ドライバに適用して、前記ドライバ(1117)の出力を示す情報を伴う前記ユーザに応答する。
【0186】
本発明の側面はハードウェアの形態、ソフトウェアの形態、又は2つの組み合わせの形態のフォームを取るかもしれない。例えばフローチャートのブロックなど、本発明のステップは、機能または最適化に応じて、規則に外れて実行され、部分的に同時に又はキャッシュから保存される。側面は、連続的なシステムのフォーム、又は並行/分配システムのフォームを取り、ここで各構成要件は幾つかの側面を、他の構成要件と共に重複に具現化し、及び構成要件は例えばいかなる種類のネットワークを使用して伝える。本発明は、特定のプログラミング言語を参照して記述されない。本発明の側面のための操作を実行しているコンピュータプログラムは、例えばC++,Java又はJavaScriptなどのいかなるプログラミング言語でも記述される。いかなるプログラムが、例えば中央処理ユニット(CPU)又はグラフィック処理ユニット(GPU)、及びメモリや蓄積装置に関連した任意のハードウェアプラットフォームで実行する。プログラムは、アンドロイド又はiOSオペレーティングシステム, 又は例えばFirefox, Chrome, Internet Explorer, 又はSafariのウェブブラウザを含み、しかしこれに限定するものではないが、1以上のソフトウェアプラットフォームで、本発明の側面を実行する。
4.12 コンピュータサービス
【0187】
本発明の形態の1つは、通勤を使用して不動産資産を検索又は比較するためのコンピュータサービスである。前記サービスは、例えばスマートフォンアプリケーション又はウェブブラウザなどのユーザアクセス装置を介してユーザに有用である。それは、本発明はこれらの装置に限定されないことは当該技術の当業者において明らかであるだろう。それは、我々の図面中のサービスの提示が、本発明の範囲を外れることなく、変更(例えば再配置、リサイズ、色や形の変更、構成要件の追加又は削除)されることは明らかであるだろう。
【0188】
一つの形態において、本サービスはスマートフォンアプリケーションを介してアクセスされる。説明のために
図12を参照のこと。ユーザはリクエストを入力する。一つの形態において、前記リクエストは以下を含む。
・例えば“3つのベッドルーム、高い建物、高い階”などの不動産資産(1201)の好ましい特徴
・通勤パス(1202,1203,“タウンゼントの学校又はジェリコ高校”1204)、出発時間(1205,1206)、及び各通勤パス(1207,1208)の頻度、及び
・ユーザの現在の家(1209)の地理的ロケーション
【0189】
応答で、前記サービスは行程期間を示す情報を返す。例えば、前記サービスは前記ユーザリクエスト(1210)に一致する不動産資産の地理的ロケーションを描写する。前記サービスは、これらの不動産資産から行程期間は、現在の家からの行程期間と比較して、いかなるかを描写する。前記サービスは、例えば価格など、各不動産資産に一致するサマリーを描写する。不動産資産は、二次元マップ上に積み重ねられ、その結果より低い行程期間を伴う不動産資産が、より高い行程期間を伴うこれらの不動産資産の上に現れる。マップ上にクラッタがあるとき、前記サービスは代わりにクラッタ又は不動産資産を描写し、そのサイズは、前記クラッタ中の不動産資産に相関する。前記クラッタは、例えば数、又はクラッタ中の不動産資産の典型特徴などのサマリーを表示する。
【0190】
一つの形態において、前記サービスは最短行程期間を伴う不動産資産を描写する。不動産資産のサマリーがまた描写される(1211)。前記不動産資産は行程期間によってソートされる。
【0191】
一つの形態において、前記サービスは領域の最小など、大都会エリアの各領域からの行程期間を示すために色を使用した“ヒートマップ”を描写する。ヒートマップは、どのような家における行程期間及びユーザの現在の家における行程期間の間の差分を描写する。一つの形態において、ヒートマップは不動産資産のユーザの要求される特徴に一致する不動産資産のみを描写する。
【0192】
一つの形態において、前記サービスは行程期間(1212)のヒストグラムを描写する。前記ヒストグラムは、一軸に行程期間、他の軸にこの行程期間を生む不動産資産の一部を有する。一つの形態において、ヒストグラムは、不動産資産のユーザの好ましい特徴に一致する不動産資産のみを描写する。一つの形態において、ユーザは、ヒストグラムを通じてヒストグラムのいかなるセクションにもスクロール(1213)でき、前記サービスはこの特定のセクションの行程期間のための結果を描写する。一つの形態において、本方法は例えば円グラフなどヒストグラムの他のフォームを使用する。
【0193】
一つの形態において、ユーザは例えばユーザスライダ(1214)を使用して、例えばトータルの徒歩期間、乗り換え回数を限定することにより、行程パスを制限する。
【0194】
一つの形態において、前記サービスは不動産資産の行程期間のサマリーを描写する。
【0195】
一つの形態において、前記サービスは以下の少なくとも一つをユーザに応答する:
(a)マップ上に描写された場所、又はサイトの地理的ロケーション
(b)場所、又はサイトのための出発時間又は到着時間
(c)サイトのサマリ:サマリーはサイトの名前または住所、サイトの価格、又はサイトのサイズの少なくとも1つを含む
(d)近所のサイトのクラスタを形成する際とのサマリ―
(e)近所のサイトのクラスタの描写、近所のサイトのクラスタ中のサイトの数に相関されている描写のサイズ
(f)ルート距離のz-インデックス順序でのサイズの積み重ね、マップ上に描写された、より短いルート距離、より高い前記積み重ね
(g)ルート又はルート距離の情報:情報は以下の少なくとも1つを含む:(i)ルート:距離、期間、料金コスト、又は待ち期間;(ii)乗り物の名前、乗り物の道路、徒歩パス、駅、ターン、又は公共交通乗り物の乗り換え駅;(iii)以下の地理的ロケーション:料金コスト、スピード、待ち期間、乗り物、乗り物道路、徒歩パス、駅、ターン、又は公共交通乗り物の乗り換え駅
(h)サイトを横切るルート距離のヒストグラム:又はマップ上に描写されたサイトを横切るルート距離のヒートマップ
(i)最少ルート距離;サイトを横切る最少ルート距離のヒストグラム;又はマップ上に描写されたサイトを横切る最少ルート距離のヒートマップ
(j)重み付けルート距離:サイトを横切る重み付けルート距離のヒストグラム;又はマップ上に描写されたサイトを横切る重み付けルート距離のヒートマップ
(k)差分ルート距離:サイトを横切る差分ルート距離のヒストグラム;又はマップ上に描写されたサイトを横切る差分ルート距離のヒートマップ
(l)ドライバによって返された出力の描写
(m)工程の料金コストの限定の下、サイトを横切るルート距離を最小化するサイト
(n)ユーザによる特定される条件により強制される上記(a)~(m)のひとつ
(o)これらのサイト、ルートの間から、サイトのトップリスト、及びルート距離によってソートされた条件を満たすルート距離
4.13 特許請求の範囲に関する注意事項
【0196】
当該技術の当業者は様々な変形を作り、また代用が本発明の範囲から離れることなしに、本質的に同等のものを伴い作られる。その上、特定の状況は、その範囲から離れることなしに、本発明の教示に適用される。従って、本発明が開示された形態を参照して述べられたという事実にも関われず、本発明はこれらの発明に限定されるべきではない。むしろ、本発明は、付属の請求の範囲内に落ちる全ての形態を含む。
4.14 用語解説
【0197】
我々は、請求の範囲内に記載の選択されたフレーズの用語解説を含み、また明細書に参照を例として示す。これらの参照は網羅的であることを意図せず、他の参照が存在する。
【手続補正書】
【提出日】2021-10-26
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
少なくとも1のサイトを検索又は比較する方法であって、
前記方法は
、前記少なくとも1のサイト及び少なくとも1の場所の間の
交通システム内の少なくとも1の行程の記述を使用しており、
前記方法は、
(a
)少なくとも1の代表を受信し、
ここにおいて、各代表は前記交通システムに含まれるロケーションであり、
(b)前記少なくとも1の場所を含むリクエストを受信し、
及び、
(c)前記少なくとも1の行程の記述を使用して得られた
検索又は比較の結果を伴う前記リクエストに応答する
、
前記方法はステップによって特徴付けられ、ここにおいて、前記ステップは以下の事を含む、
(d)少なくとも1の行程の部分記述を決定し、それを
前記リクエストが受信される前にデータベース内に蓄積し、
ここにおいて、それぞれの行程の第一の部分記述は、前記少なくとも1のサイト中に含まれる第一サイト及び前記少なくとも1の代表に含まれる第一代表の間で、前記交通システム内の行程の記述の一の部分を含み、及び
(e)前記少なくとも1のサイト内に含まれる
末端ポイントサイト、及び前記少なくとも1の場所内に含まれる
末端ポイント場所の間の前記交通システム内の行程の記述を含む前記少なくとも1の行程の記述を計算し、
ここにおいて、前記計算は、
i.前記少なくとも1の行程の部分記述から少なくとも1の行程の第二の部分記述を取得し、ここにおいて、それぞれの行程の第二の部分記述は、前記
末端ポイントサイト及び前記少なくとも1の代表中に含まれる第二代表の間で、前記交通システム内の行程の記述の一の部分を含み、
ii.前記
末端ポイント場所及び前記行程の第二の部分記述中に含まれるロケーションxの間で、前記交通システム内の行程の記述を決定し、及び、
iii.前記ロケーションx及び前記
末端ポイントサイトの間で、前記交通システム内の行程の記述を決定する。
【請求項2】
ソースロケーションからターゲットロケーションまでの
交通システム内で行程の記述を決定する方法であって、
前記方法は、
(a
)少なくとも1の代表を受信し、
ここにおいて、各代表は前記交通システムに含まれるロケーションであり、
(b)前記ソースロケーション及び前記ターゲットロケーションを含むリクエストを受信し、及び、
(c)前記行程の記
述で、前記リクエストに応答し、
前記方法はステップによって特徴付けられ、ここにおいて、前記ステップは以下の事を含む、
(d)少なくとも1の行程の部分記述を決定し、それを
前記リクエストが受信される前にデータベース内に蓄積し、
ここにおいて、それぞれの行程の第一の部分記述は、前記交通システム中に含まれる末端ポイントロケーション及び前記少なくとも1の代表に含まれる第一代表の間で、前記交通システム内の行程の記述の一の部分を含み、及び
(e)以下のステップを使用して前記行程の記述を計算し、
i.少なくとも1の部分P及び少なくとも1の部分Qを決定し、ここにおいて、前記部分P及び前記部分Qは、前記交通システム内に含まれ、及びここにおいて、
A.前記部分Qは、前記ターゲットロケーションであり、及び前記部分Pは前記少なくとも1の行程の部分記述から取得され、ここにおいて、前記末端ポイントロケーションは、前記ソースロケーションであり、
B.前記部分Pは、前記ソースロケーションであり、及び前記部分Qは、前記少なくとも1の行程の部分記述から取得され、ここにおいて、前記末端ポイントロケーションは、前記ターゲットロケーションであり、又は、
C.前記部分Pは、前記少なくとも1の行程の部分記述から取得され、ここにおいて、前記末端ポイントロケーションは前記ソースロケーションであり、及び前記部分Qは前記少なくとも1の行程の部分記述から取得され、ここにおいて、前記末端ポイントロケーションは前記ターゲットロケーションであり、
ii.前記部分Pに含まれるロケーションx
Pから前記部分Qに含まれるロケーションx
Qまでの
前記交通システム内の行程の記述を決定し、
iii.前記ソースロケーションから前記ロケーションx
Pまでの
前記交通システム内の行程の記述を決定し、及び、
iv.前記ロケーションx
Qから前記ターゲットロケーションまでの
前記交通システム内の行程の記述を決定する。
【国際調査報告】