JP4705176B2 - 経路発見システム - Google Patents

経路発見システム Download PDF

Info

Publication number
JP4705176B2
JP4705176B2 JP2009013203A JP2009013203A JP4705176B2 JP 4705176 B2 JP4705176 B2 JP 4705176B2 JP 2009013203 A JP2009013203 A JP 2009013203A JP 2009013203 A JP2009013203 A JP 2009013203A JP 4705176 B2 JP4705176 B2 JP 4705176B2
Authority
JP
Japan
Prior art keywords
tile
web
destination
origin
self
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2009013203A
Other languages
English (en)
Other versions
JP2009156873A (ja
Inventor
コウジ アマカワ
エドワード ジェイ スラニー
Original Assignee
テレ アトラス ノース アメリカ インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テレ アトラス ノース アメリカ インコーポレイテッド filed Critical テレ アトラス ノース アメリカ インコーポレイテッド
Publication of JP2009156873A publication Critical patent/JP2009156873A/ja
Application granted granted Critical
Publication of JP4705176B2 publication Critical patent/JP4705176B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination

Description

本発明は、経路発見システムに向けたものである。
(関連技術の説明)
コンピュータは、研究、用途を向上させるためにシステムをモデリングするアイデアに革命を起こしている。1つの例は、ネットワークとしてのシステムのモデリングである。ネットワークは、その最も一般的な意味において、相互接続または分岐する多数の経路を包含するものとして定義される。決定を伴う多くのシステムは、ネットワークとしてモデリングされ得る。たとえば、医療を行うための製造プロセッサまたはシステムは、決定ポイントおよび決定ポイント間のアクションからなるネットワークとしてモデリングされ得る。ソフトウェアが研究する、または、システムを使用するためにネットワーク・モデルを使用することのために作製されることができるように、このネットワークは、電子形態で表現され、プロセッサ読み取り可能な記憶媒体に記憶され得、ネットワーク・モデルを使用してシステムを研究あるいは使用するソフトウェアを創り出すことができる。
電子形態で記憶され得る有用なネットワークの別の例としては電子地図があり、電子地図は、物理的、社会的または経済的なシステムを定量化する地理的に参照される電子データを包含する。電子地図に含まれる情報の範囲は、無制限である。たとえば、電子道路地図は、要素間の距離、移動時間、ロット番号、税情報、旅行者情報、処理時間、待ち時間などを含み得る。それに加えて、コンピュータ上のファイルとして地図を記憶することにより、そのデータを操るために無制限のソフトウェア用途が可能となる。
電子地図の1つの利点は、それが地図の種々の部分と関連したコストを記憶し、決定することができるということである。コストは、最小限に抑えることができるかあるいは最大限にすることができる変数である。ここで、コストが必ずしも金銭的なコストではないということに注意されたい。代表的には、コストは整数として表現される。時には、コストは、実数または非標準数として表現され得る。コストおよび非標準数に関する付加的な情報は、1996年11月25日に出願された、米国特許出願通し番号08/756263(「Using Multiple Levels Of Costs For A Pathfinding Computation」)に見出すことができる。この米国特許出願は、参考資料としてここに援用する。コストの例としては、時間、距離、道路料金、方向転換の容易さ、風景の質などがある。
電子地図および他のネットワークは、経路発見のためにも使用され得る。この経路発見とは、起点と目的地の間のルートを計算する方法である。いくつかのシステムでは、推奨ルートを計算し、この推奨ルートを地図ディスプレイ上で強調したり、転回毎の方向(紙またはディスプレイ経由)を与えたり、あるいはこれら両方を行ったりすることによってドライバを案内する。
経路発見システムが目的地までの推奨ルートを計算しているとき、或る特定の基準に従って最も望ましいルートを見つけることによってこの計算を行う。これらの基準は、ドライバによって指定されてもよいし、または、製造の時点でデフォルトとしてセットされてもよい。しばしば、或る種のコスト、たとえば、ドライビング時間を最小限にする(または、最大にする)経路を見つけるのにシステムが使用されることになる。
経路発見のために使用される電子地図は、道路ネットワークの接続性についての情報、すなわち、道路部分が互いに接続しているあるいは接続していない状態、たとえば、普通の交差点があるとか、陸橋があるとか、転回が制限されているとかなどについての情報を含んでいなければならない。いかなる有意範囲の領域場合でも、これは非常に大きな量の情報である。電子地図は、数十あるいは数百メガバイトものデータを含み得る。このような巨大な量のデータを経済的に保持し、ユーザが地図をアップデートされたコピーと容易に取り替えることができるようにするために、多くの現今の経路発見装置(経路発見ソフトウェアを備えた汎用コンピュータ、自動車ナビゲーション・システムその他の地図用途機器を含む)は、CD−ROMを使用して電子地図データを記憶している。
CD−ROMは大量のデータを保持するけれども、そのデータにアクセスするのが比較的遅い可能性がある。データを必要とするたびに、CD−ROMがアクセスされるのを経路発見システムが待たなければならないならば、経路を計算するのに必要な時間はユーザにとって許容できないものとなる。自動車に格納されたナビゲーション式経路発見システムのユーザは、普通、経路を求めているとき、現在運転している車をどの方向に転回するかを知る必要があるのだから、非常に迅速な応答を要求するものである。これらの理由のために、経路を計算するのに必要なディスク・アクセスの回数を最小限に抑えることは非常に重要である。ここで、或る種のシステムがCD−ROM以外の周辺装置、たとえば、ハードディスク、フロッピー・ディスク、ソリッド・ステート・メモリ、DVD、ミニ・ディスクなどを使用し得ることに注意されたい。これらの他の記憶装置も同様のアクセス時間制限を持っている。
経路を計算するのに必要なディスク・アクセス回数を最小限にする1つの試みでは、CD−ROM(または他の記憶装置)上に、地図データをクラスタにまとめている。すなわち、同じ経路計算で頻繁に使用される道路セグメント・セットに付いての情報をまとめている。たとえば、同じストリートの多数の連続したセグメント、互いに交差する多数の道路セグメント、あるいは、ハイウェイに通じる多数の道路セグメントをただ1つのクラスタに記憶させるとよい。ここで、これらのクラスタが地理的なことに基づいている必要がない点に注意されたい。橋に近くない領域における川の両岸にある道路についての情報は、おそらくは、同じクラスタ内に記憶されることはないであろう。なぜならば、これらの道路は、たとえ地理的に互いに非常に接近しているとしても、経路計算中に互いに関連して使用されることがないであろうからである。広い領域にわたるハイウェイに関する情報は、経路計算が、普通、ハイウェイどうしの接続を探査するため、1つのクラスタ内に一緒に記憶されるべき良い候補である。性能を向上させるべくデータをクラスタ化する方法は多数ある。クラスタ化を適当なキャッシュ方法と一緒に使用するときには、経路発見計算に必要な情報が先に使用されたデータを含むクラスタの一部として読み込まれているキャッシュに既に存在することが多いので、経路発見のための時間が短縮される。キャッシュ戦略を使用することに関するより多くの情報は、1997年2月20日に出願された米国特許出願通し番号08/802,733、「Caching For Pathfinding Computation」に見出すことができる。この米国特許出願は、参考資料としてここに援用する。
キャッシュを使用するときでも、経路発見は冗長なプロセスのままである。計算で使用されるあらゆるクラスタは、なお少なくとも一回読み込まれる必要がある。経路発見計算がその開始時およびその最中に多数のクラスタを読み込む必要がある可能性があるため、経路発見装置のユーザは、経路発見装置が経路を計算する前にすべてのデータを読み込むために、なお、かなりの量の待ち時間を費やさなければならない。
経路発見プロセスの速度を上げる他の試みとしては、ネットワークまたは地図における或る特定の経路の事前計算がある。起点から目的地までの経路を見つけるためには、システムは、適切な事前計算された経路を選び、起点から事前計算された経路までの経路を見つけ、この事前計算された経路から目的地までの経路を見つけることになる。事前計算経路を使用することについてのより多くの論議は、1996年11月25日に出願された米国特許第特許出願通し番号08/756,258、「Method For Determining Exits and Entrances For A Region In A Network」に見出され得る。この米国特許出願は、参考資料としてここに援用する。事前計算経路を使用することは経路発見プロセスの速度を上げることになるが、起点から事前計算経路まで、そして、事前計算経路から目的地までの経路を見つけるのになお多くの処理時間を使用しなければならない。
したがって、経路発見プロセスを実施するのに必要な時間量を減らすシステムが必要である。
米国特許出願番号08/756,258
本発明は上記従来技術の問題を解決することを目的とする。
(発明の概要)
おおざっぱに言って、本発明は、ネットワークのプロセッサ読み取り可能な表現における経路を決定するシステムを提供する。経路は、起点から目的地までである。ネットワークおよび/またはネットワークのプロセッサ読み込み可能な表現は1つ以上のタイルを包含する。経路を算出する方法は、起点および目的地がただ1つのタイル内に位置するかどうかを決定することおよび/または起点および目的地が互いの近接しきい値内の複数のタイル内に位置するかどうかを決定することを包含する。第1経路探査がプロセッサを用いて実施され、起点タイルおよび起点タイルと関連した第1自己ウェブ(self web)を使用して経路を決定する。この第1経路探査は、起点および目的地がただ1つのタイル内に位置する場合にのみ実施される。第2経路探査がプロセッサを用いて実施され、起点タイル、第1自己ウェブ、目的地タイル、目的地タイルと関連した第2自己ウェブおよび近接過ぎウェブ(too-close web)を使用して経路を決定する。この第2経路探査は、起点および目的地が別々のタイル内に位置し、これら別々のタイルが互いの近接しきい値内にある場合にのみ実施される。第3経路発見探査が、プロセッサを使用して実施され、起点タイル、第1自己ウェブ、起点タイルと関連した第1周辺ウェブ、目的地タイル、第2自己ウェブ、目的地タイルと関連した第2周辺ウェブおよび出口−入口ウェブ(exit-to-entrance web)を使用して経路を決定する。この第3経路探査は、互いの近接しきい値内にない別々のタイル内に起点および目的地が位置する場合にのみ実施される。3つの経路発見探査を説明したが、起点から目的地への特定の経路を発見するには、一般的に、3つの経路発見探査の1つを実施するだけでよい。経路が決定された後、システムは経路を報告する。経路の報告は、転回毎の方向を与えたり、地図上のルートを強調したりすることである。この報告は、ディスプレイ上でも、紙でも行える。報告は、また、音声出力として経路または方向を与えたり、別のプロセスにファイルを提供したり、ポインタをファイルに与えたり、情報を別のプロセッサまたはコンピュータに与えたり、他の適当な報告方法であったりするものであってもよい。
適切なウェブおよびタイルを使用することよって、経路を計算するのに必要な時間(データにアクセスする時間を含む)はかなり短縮される。
本発明は、ソフトウェア、ハードウェアあるいはソフトウェアとハードウェアの組み合わせを使用して実施することができる。本発明のすべてまたは一部をソフトウェアで実施するとき、そのソフトウェアはプロセッサ読み取り可能な記憶媒体上に存在していてもよい。適切なプロセッサ読み取り可能な記憶媒体の例としては、1つ以上のフロッピー(登録商標)・ディスク、ハードディスク、CD−ROM、メモリICなどがある。システムがハードウェアを包含するとき、ハードウェアは、出力装置(たとえば、モニタ)、入力装置(たとえば、キーボードまたはポインティング・デバイス)、出力装置と連絡するプロセッサおよびプロセッサと連絡するプロセッサ読み取り可能な記憶媒体を包含し得る。プロセッサ読み取り可能な記憶媒体は、プロセッサをプログラミングして本発明を実施するための諸段階を実行できるコードを記憶する。本発明の経路発見プロセスは、インターネット上のウェブ・ページで実施することもできるし、複数のクライアント・マシンに通じるサーバー上で実施することもできる。
本発明のこれらおよび他の目的および利点は、本発明の好ましい実施例を図面と関連して説明している以下の詳細な説明からより明らかとなろう。
(詳細な説明)
経路を見つけるシステムは、ハードウェアおよび/またはソフトウェアで実施し得る。1つの実施例において、経路を見つけるシステムは、本願明細書で説明される機能を実施するためのプロセッサ命令を含む専用プロセッサを包含し得る。本願明細書で説明される機能を実施するために回路も開発され得る。1実施例において、経路を見つけるシステムは、経路発見システムの一部である。経路発見システムは、経路発見ソフトウェアを備えた汎用コンピュータあるいはナビゲーション・システムであってよい。ナビゲーション・システムの例が、米国特許第4,796,191号(Vehicle Navigation System and Method)、米国特許第4,914,605号(Map Display Apparatus and Method)、米国特許番号5,311,195(Combined Relative and Absolute Positioning Method and Apparatus)、米国特許出願通し番号08/747161(Navigation System Using GPS Data)に記載されている。これらは、すべて、参考資料としてここに援用する。別の実施において、経路を見つけるシステムは、汎用コンピュータ・システム上で実施するための複数のコンピュータ実行可能な命令を含む。汎用コンピュータ・システムへロードする前、ソフトウェアはコンピュータ読み込み可能な媒体、たとえば、磁気フロッピー(登録商標)・ディスク、磁気テープおよびコンパクトディスク・リードオンリー・メモリ(CD−ROM)上のコード化情報として存在してもよい。
図1は、本発明の経路を見つけるシステムを実装できる汎用コンピュータ・システムのハイレベル・ブロック図を示している。コンピュータ・システム10は、プロセッサ・ユニット12およびメイン・メモリ14を包含する。プロセッサ・ユニット12は、ただ1つのマイクロプロセッサを包含してもよいし、あるいは、マルチプロセッサ・システムのようなコンピュータ・システム10を構成するための複数のマイクロプロセッサを包含してもよい。メイン・メモリ14は、部分的に、プロセッサ・ユニット12の実行する命令およびデータを記憶する。本発明の経路を見つけるシステムは全体的にあるいは部分的にソフトウェア的に実施される場合、作動時にメイン・メモリ14は実行可能なコードを記憶する。メイン・メモリ14は、ダイナミック・ランダム・アクセス・メモリ(DRAM)ならびに高速キャッシュメモリのバンクを包含していてもよい。
コンピュータ・システム10は、さらに、大容量記憶装置16、周辺装置(単数または複数)18、入力装置(単数または複数)20、ポータブル記憶媒体ドライブ(単数または複数)22、グラフィックス・サブシステム24および出力ディスプレイ26を包含する。説明を簡略化するために、コンピュータ・システム10における構成要素は、単一のバス28を経て接続されているように図1に示してある。しかしながら、コンピュータ・システム10は、1つ以上のデータ移送手段を通して接続することができる。たとえば、プロセッサ・ユニット12およびメイン・メモリ14がローカル・マイクロプロセッサ・バスを経て接続してあってもよく、大容量記憶装置16、周辺装置(単数または複数)18、ポータブル記憶媒体ドライブ(単数または複数)22、グラフィックス・サブシステム24を1つ以上の入力/出力(I/O)バスを経て接続してもよい。大容量記憶装置16(磁気ディスク・ドライブまたは光学ディスク・ドライブで実施し得る)は、プロセッサ・ユニット12用のデータおよび命令を記憶するための不揮発性記憶装置である。1実施例において、大容量記憶装置16は、メイン・メモリ14にロードするのために、経路を決定するためのシステム・ソフトを記憶している。
ポータブル記憶媒体ドライブ22は、ポータブル不揮発性記憶装置媒体(たとえば、フロッピー・ディスク)と一緒に作動して、コンピュータ・システム10へ、そして、そこからデータ、コードを入出力する。1実施例において、経路を決定するためのシステム・ソフトは、このようなポータブル媒体上に記憶され、ポータブル記憶媒体ドライブ22を経てコンピュータ・システム10へ入力される。周辺装置(単数または複数)18は、任意タイプのコンピュータ支援装置(たとえば、入出力(I/O)インターフェイスを包含し、コンピュータ・システム10に付加機能を加えてもよい。たとえば、周辺装置(単数または複数)18は、コンピュータ・システム10をネットワーク、モデムなどにインターフェイス接続するネットワーク・インターフェイス・カードを包含していてもよい。
入力装置(単数または複数)20は、コンピュータ・システム10のユーザのためのユーザ・インターフェイスの一部を提供する。入力装置(単数または複数)20は、英数字その他のキー情報を入力するための英数字のキーパッドまたはカーソル制御装置(たとえば、マウス、トラックボール、スタイラスあるいはカーソル方向キー)を包含してもよい。テキスト情報、グラフィック情報を表示するために、コンピュータ・システム10は、グラフィックス・サブシステム24および出力ディスプレイ26を包含する。出力ディスプレイ26としては、陰極線管(CRT)ディスプレイ、液晶ディスプレイ(LCD)その他の適当なディスプレイ装置がある。グラフィックス・サブシステム24は、テキスト情報やグラフィック情報を受け取り、出力ディスプレイ26へ出力するための情報を処理する。出力ディスプレイ26は、経路発見決定の結果を報告するのに用いることができる。コンピュータ・システム10に含まれる構成要素は、汎用コンピュータ・システムにおいて普通に見出されるものであり、この技術分野で周知であるコンピュータ構成要素の幅広いカテゴリを表現することを意図している。図1のシステムは、本発明のために使うことができる1つのプラットフォームを示している。数多くの他のプラットフォームでも充分である。たとえば、Apple Computer, Incから入手できるマッキントッシュ・ベースのプラットフォーム、異なったバス構成を有するプラットフォーム、ネットワーク化プラットフォーム、マルチプロセッサ・プラットフォーム、他のパソコン、ワークステーション、メインフレーム、ナビゲーション・システムなどが可能である。
本発明は、ネットワークにおける経路を見つけるシステムに向けたものである。本発明と一緒に使用するのに適しているネットワークの1例としては、電子道路地図がある。例示のみを目的として、以下、本発明を電子地図に関連して説明する。本発明は、電子地図での使用に限定されるものではなく、本発明の実施例はネットワークの任意タイプのプロセッサ読み取り可能な表現と共に使用することができる。
電子道路地図は、地図を造るのに必要なデータを包含する1つ以上のコンピュータ・ファイルに記憶される。このデータは、経度、緯度データ、アドレス、距離、道路情報、転回制限、ドライブ時間、ハイウェイ出口数、営業的な性能使用説明書などを含み得る。上記に挙げた情報は電子地図に見出すことができるが、これらの情報のサブセットのみであるいは他の情報で電子地図を創り出すことができる。電子地図を表現しているコンピュータ・ファイルは、プロセッサ読み取り可能な記憶媒体に記憶される。
一般的に、経路発見のために使用される電子地図は、グラフを包含する。グラフは、ひとまとまりのノードおよびエッジである。ノードとは、グラフ上の決定ポイントを示す特性を有するオブジェクトである。エッジとは、2つのノードの接続部である。グラフ内のノードAからノードBへの経路は、リスト内の各ノードから次のノードまでのエッジがあるようにノードのリストとして記述される。有向グラフとは、各エッジがそれと関連したただ1つの方向を有するグラフである。所与の対になったノード間で各方向に1つずつ2つのエッジがある可能性がある。有向グラフにおいて、エッジはリンクと呼ばれる。重み付けグラフとは、各リンク(またはエッジ)がそれと関連したコストを持っているグラフである。代替案としては、コストをノードと関連付けること、コストをノードおよびリンクと関連付けること、あるいは、コストをグラフの別の要素と関連付けることがある。非有向グラフとは、各リンクが双方向性であるグラフである。非有向グラフは、各リンクが同じエンド・ポイントとではあるが異なった方向で2つのリンクを表現する有向グラフとして考えることができる。
図2Aは、東向きの一方通行道路50及び双方向道路52を示す、典型的な有向グラフであり、両方とも双方向道路54と交差している。道路50は、交差点60において道路54と交差する。道路52は、交差点70において道路54と交差する。交差点60には二つの分岐点、62及び64がある。前記分岐点の頭部は円である。前記分岐点の後部は、直線の尾部である。前記円は、前記分岐点がどこに配置されるかを表し、及び前記尾部は、移動者がどこから来て前記分岐点に到達するのかを表す。分岐点の記号は、よく見えるようにする目的で、実際の交差点から外される。例えば、分岐点62は、道路54上を交差点60に向かった北への移動を表す。分岐点64は、道路50を交差点60に向かった東への移動を表す。道路50は東向きの一方通行道路なので、交差点60には道路50上の西向きの移動を表す分岐点はない。このように、道路54を北に進み、及び交差点60に到達する移動者は、右折することしかできない。分岐点72は、道路54を南に移動することによる、交差点70への到達を表す。分岐点74は、道路52を東に移動することによる、交差点70への到達を表す。分岐点76は、道路52を西に移動することによる、交差点70への到達を表す。
リンク(link)は、分岐点間の経路を表す。例えば、分岐点64から、移動者は道路54に入るために交差点60において右折することができ、又は道路50を直進することができる。リンク86は、東に向いている道路50を交差点60から出発し、交差点60において右折し、及び道路54を南に進む移動を表す。このように、リンク86は、分岐点64を分岐点72と接続する。リンク88は、分岐点64を、道路50における次の分岐点に接続し(図2Aには記載されていない)、及び道路50を東へ、曲がることなく交差点60を直進する移動を表す。リンク89は、北に向かった道路54を交差点60から出発し、交差点60において右折し、及び道路50を東に進む移動を表す;ゆえに、リンク89は、分岐点62を、道路50における次の分岐点に接続する(図2Aには記載されていない)。図2Aは、分岐点62及び64に対して引かれたリンクだけを示す。リンクがすべての分岐点に対して引かれる場合、前記有向グラフは埋められてしまい、読みにくくなるであろう。このように、前記有向グラフは単純化され、図2Bに記載のとおり再度引かれる。
図2Bにおいて、同じ交差点におけるすべての分岐点は、以下の説明をより簡単にするために、一つの分岐点にまとめられる。(実際の使用において、本発明は、図2A又は図2Bに類似のグラフを使用することができる。)このように、分岐点100は、分岐点64及び62を表す。分岐点102は、分岐点72、74及び76を表す。前記分岐点の尾部は引かれていないことに留意されたい。前記リンクは、許容できる移動の方向を示すために使用される。リンク104は、交差点70から交差点60への移動を示し、及びリンク106は、交差点60から交差点70への移動を示す。
図2Bに記載の前記有向グラフは、プロセッサ読み取り可能記憶媒体に記憶されたデータ構造を記号的に理解するために使用される。プロセッサ読み取り可能記憶媒体は、実際には有向グラフの画像を記憶しない。むしろ、データ構造が記憶される。データ構造への各エントリは、分岐点を表す。各分岐点に対して、前記データ構造は、分岐点の場所(例えば、緯度及び経度)、隣接する分岐点(一つのリンクを介して移動されることができる分岐点)のリスト及び前記隣接する分岐点に到達することに関連する様々なコストを記憶する。本発明は、前述されたものとは異なる多くの適切なデータ構造と稼動する、ということが考えられる。さらに、本発明は有向グラフとともに使用される必要はない。本発明は、全体の地図データベース、他のネットワーク(network)、又はあらゆる他の適切な情報のサブセットとともに使用されることができる。さらに、データ構造における一つ以上のエントリは、一群のデータに分類されることができる。一群のデータは、関連データの分類である。群は性能を向上させるが、本発明は群なしで使用されることができる。
図3は、ネットワーク、例えば電子地図のプロセッサ読み取り可能表示の一部分に対する有向グラフを表す。図3に記載された前記有向グラフは、10の分岐点(A,B,C,D,E,F,G,H,I及びO)及び前記分岐点間の様々なリンクを含む。前記リンクの各々は、前記リンクの隣の数を含む。この数は、前記リンクに沿った移動のコストを表す。典型例の目的のみとしては、前記コストは、運転時間と仮定される。本発明の説明を助けるために、車の運転者は、経路発見を実行する自動車誘導システムを前記車に有すると仮定される。前記運転者は、図3に記載の有向グラフにおけるどこかにおり、及び前記誘導システムに、一つの位置から他の位置への経路を計算するように依頼することをどこかの地点で決定してもよい。経路がどのように計算されるかを説明するために、前記運転者は、本システムに起点Oから目的地Dへの経路を計算するように依頼したと仮定する。前記運転者が経路を依頼したときに、前記運転者は起点Oにいたかもしれないし、グラフにおける他の位置にいて、起点Oに向かって運転しているかもしれないし、又は起点Oの近くにはいないがまだ経路に関心を有しているかもしれない。
図4は、経路発見の探査を説明するフロー・チャートである。図4に記載の経路発見の探査は、本発明で使用することができる多くの探査方法の一つにすぎない。段階202において、本システムは、経路発見探査を初期化する。すなわち、本システムは、前記経路の起点及び目的地を記憶し、二つの待ち行列を設定する:起点優先待ち行列及び目的地優先待ち行列である。前記起点優先待ち行列は、その各々に対して、起点からの経路が既知である、分岐点の整列されたリストと、及び各分岐点に対するキーを含む。前記待ち行列は、前記キーに従って分類される。前記キーを決定するための様々な代替案がある。ある代替案においては、前記キーは、前記起点から前記分岐点への移動の最低既知コストである。代替キーは、前記起点から前記分岐点への既知の最低コストの合計に加えて、前記分岐点から前記目的地への移動の概算コストを含む。この方法に適切な、前記分岐点から前記目的地への移動のためのコストを概算するための様々な代替案がある。一例は、「直線」距離に単位距離あたりの概算コストをかけることを含む。すなわち、前記分岐点及びリンクを無視し、前記分岐点と前記目的地の間の物理的距離を決定し、及び前記距離に単位距離あたりの概算コストにかけることである。
前記目的地優先待ち行列は、その各々から前記目的地への経路が既知である、分岐点の整列されたリストと、及び各分岐点に対するキーを含む。前記待ち行列は、前記キーに従って分類される。目的地キーを決定するための多くの代替案がある。ある代替案は、前記分岐点から前記目的地への既知の最低コスト経路を使用することを含む。代替キーは、前記分岐点から前記目的地への既知の最低コストの合計に加えて、前記起点から前記分岐点への概算コストを使用することを含む。概算された残りのコストを利用する、前記起点優先待ち行列に対する上述のキーは、目的地の方向に偏った起点からの探査をする。同様に、前記目的地からの探査は、前記起点の方向に偏っている。キーを計算する他の方法は、本発明の範囲内であれば適切である。
さらに、本システムは、起点訪問リスト及び目的地訪問リストを設定する。前記起点訪問リストは、前記起点からの経路が既知であるすべての分岐点のリスト、前記起点から前記分岐点への移動に対する最低コスト、及び前記最低コストでの前記経路に沿った直前の分岐点を維持する。前記目的地訪問リストは、前記目的地への経路が既知である各分岐点の名前、前記分岐点から前記目的地への移動に対する公知の最低コスト、及び前記最低コストでの前記目的地への前記経路に沿った次の分岐点の識別を記憶する。初期化段階202が完了した後、前記起点優先待ち行列及び前記起点訪問リストは前記起点を含み、及び前記目的地優先待ち行列及び前記目的地訪問リストは、前記目的地を含む。
一度、本システムが初期化されると、本システムは、段階204において、規則に従って待ち行列を選択する。本発明に適した、待ち行列を選択するための多くの規則がある。あるシステムにおいては、最小のキーを有するエレメントを含む待ち行列が選択され、関係(tie)は任意で壊される。他のシステムでは、最小量のエレメントを含む待ち行列が選択される。待ち行列を選択するための規則の他の例は、待ち行列の間を行き来し、;又は一定数の繰り返し(又は時間帯)のために前記起点待ち行列を選択し、一定数の繰り返しのために前記目的地待ち行列に変換し、一定数の繰り返しのために前記起点待ち行列に戻ること等を含む。前記待ち行列はキーによって分類されるので、最小キーを有する分岐点は、待ち行列の先頭(待ち行列の最前部又は最上部とも称される)にあるであろう。この分岐点は、「先頭分岐点」と称される。後述の例において、待ち行列を選択するための方法は、前記起点優先待ち行列から次々と開始することである。
段階206において、本システムは選択された待ち行列の先頭分岐点に隣接する分岐点であるすべての分岐点を探す。本システムは開始したばかりなので、前記起点優先待ち行列における唯一の分岐点は、起点である。前記隣接する分岐点は、あらゆる他の分岐点を通過することなく、前記分岐点から移動されることができるそれら分岐点である。図3に関連して、起点Oに対する隣接する分岐点は、分岐点A、B及びGである。3つの隣接する分岐点があるので、本システムは任意で一つの隣接する分岐点を選択する。段階208において、本システムは、訪問リスト又は選択された隣接する分岐点に対する優先待ち行列上に、より低い既知のコストがあるか、決定する。すなわち、本システムは隣接する分岐点と先頭分岐点との間の移動のコストを決定し、及び前記コストを先頭分岐点に対してすでに既知であるコストに加える。この場合、選択された隣接する分岐点は、分岐点Aであり、起点から分岐点Aへの移動のコストは、9である。経路発見計算は開始したばかりなので、分岐点Aは訪問リスト又は起点優先待ち行列にはないので、既知のコストはない。既知であるコストはないので、段階210において、本システムは分岐点A及びそのコストを加えるために、訪問リスト及び優先待ち行列を編集する。前記方法は、追加の隣接分岐点が検討されていたかを決定するために、段階206に戻る。この場合、検討されなかった2つの隣接する分岐点:B及びGがある。
段階208において、本システムは、分岐点Bに対して既知であるより低いコストがあるか決定する。起点からBへの移動に対するコストは3であり、Bは前記優先待ち行列又は前記訪問リストには現れない。段階210において、分岐点Bは、前記優先待ち行列及び前記訪問リストに追加される。本システムは、段階206に戻り、及び分岐点Gを検討する。起点OからGへ直接行くコスト、7よりも低い既知のコストがないので、Gは前記優先待ち行列及び前記訪問リストに追加される。本システムは段階206に戻り、及び隣接する分岐点がないことを決定する;それゆえに、段階212において、現在起点である先頭分岐点は、前記優先待ち行列から外される。テーブル1は、経路発見探査におけるこの点において、前記起点優先待ち行列及び前記訪問リストの内容を反映する。前記起点優先待ち行列上に3つの分岐点:B、G及びAがある。それらのキーは、起点から前記分岐点への移動のコストを表す。前記訪問リストは、3つの欄:分岐点(Node)、コスト(Cost)及び直前分岐点(Prev.)を有する。前記分岐点欄は、分岐点識別を列挙し、前記コスト欄は起点から前記分岐点への移動の最低既知コストを列挙し、及び直前分岐点欄は、前記最低既知コストを利用した経路に沿って移動するときの、起点から列挙された分岐点への経路に沿った直前の分岐点を列挙する。前記分岐点が前記訪問リストに列挙される順番は、前記表を検索しやすくするのであれば、どのような順番でもよい。例えば、前記分岐点は、アルファベット順に列挙されることができる。ある実施形態において、前記分岐点は、数字で名前を付けられ、及び訪問リストはハッシュ・テーブル(hash table)である。
Figure 0004705176
段階214において、本システムは、停止条件が発生したか決定する。本発明に適した多くの停止条件があり、例えば、分岐点が起点優先待ち行列と目的地優先待ち行列の両方において先頭分岐点であった場合に停止する。他の停止条件は、この例で使用される停止条件であり、起点優先待ち行列における起点から先頭分岐点への移動のコストに加えて、目的地優先待ち行列の先頭分岐点から目的地への移動のコストが、最善の接続分岐点の合計コストより大きいか、又は等しい場合に停止する。接続分岐点は、前記目的地訪問リスト及び前記起点訪問リストに現れる分岐点である。接続分岐点の合計コストは、前記起点から前記接続分岐点へのコストに加え、前記接続分岐点から前記目的地へのコストである。最善接続分岐点は、最低合計コストを有する接続分岐点である。この場合において、接続分岐点はないので、停止条件は機能せず、及び段階204において本システムは待ち行列を選択する。
上述のとおり、本例における待ち行列選択アルゴリズムは、交替する;それゆえに、本システムは目的地待ち行列を選択する。段階206において、本システムは目的地Dに隣接する分岐点があるか決定する。本例においては、2つの隣接する分岐点C及びFがある。段階208において、本システムは分岐点Cを見て、より低い既知のコストがあるか決定する。それがないので、段階210においては、前記目的地優先待ち行列及び訪問リストは、分岐点C及びそのコストを加えるために編集される。前記方法は、他の隣接する分岐点、分岐点Fがあることを決定する段階206に戻る。段階208において、本システムは、Fに対してより低い既知のコストがないことを決定する。段階210において、前記目的地優先待ち行列及び前記目的地訪問リストは、分岐点Fを加えるために編集される。段階206において、本システムは、分岐点Dに隣接する分岐点が他にないことを決定し、及び分岐点Dは段階212において前記目的地優先待ち行列から除外される。テーブル2は、本方法でこの点において、前記目的地優先待ち行列及び訪問リストの状態を反映する。「次(Next)」と表示された欄は、既知の最低コストを利用した経路に沿って移動する場合に、列挙された分岐点から前記目的地への経路に沿った次の分岐点を列挙する。
Figure 0004705176
接続分岐点がないので、前記停止条件は機能せず(段階214)、及び本システムは、前記起点優先待ち行列を選択する(段階204)。テーブル1より、前記起点優先待ち行列上の先頭分岐点は、分岐点Bであることがわかる。分岐点Bに隣接する分岐点は、分岐点A及びEである。段階208において、分岐点Aに対するより低い既知のコストはない。分岐点Aはコストが9である訪問リスト上には現れないが、分岐点Bを介した前記起点から分岐点Aへの移動のコストは6である。すなわち、OからBへの移動のコストは3であり及びBからAへの移動のコストは3である。このように、OからBを介してAへ移動するコストは6であり、それはOから直接Aに移動するコストよりも低い。それゆえに、段階210において、分岐点Aへの移動のコストは6になり、及び分岐点Aに対する訪問リストにおける直前の分岐点はBであるように、前記訪問リスト及び優先待ち行列は編集される。すなわち、OからAに6のコストで到達するためには、分岐点Bを通って移動しなければならない。段階206において、本システムは他の隣接する分岐点Eがあることを決定する。段階208において、本システムはEに対するより低い既知のコストがないことを決定し、及び前記優先待ち行列及び訪問リストは、Eを含むように編集される。テーブル3は、分岐点Bが、前記優先待ち行列から除外された後(段階212)、前記起点優先待ち行列及び前記訪問リストの現在の状態を反映する。
Figure 0004705176
この点において、接続分岐点はないので、停止条件は機能せず、及び本システムは前記目的地待ち行列を選択する(段階204)。段階206において、本システムは前記待ち行列上の先頭分岐点に隣接する分岐点を探す。先頭分岐点はFなので、隣接する分岐点はE及びDである。EからFへの移動のコストは2であり、EからFを介したDへの移動のコストは6である。段階208において、本システムは、EからDへの移動のより低い既知のコストがないことを決定するので、前記訪問リスト及び優先待ち行列はそれに従って更新される。DからFを介したDへの移動のコストは8であり、それは訪問リストにおける分岐点Dと関連するゼロのコストよりも多いので、前記訪問ロット及び優先待ち行列は更新されない。段階206において、本システムは他に隣接する分岐点がないことを決定し、及びFは段階212において前記優先待ち行列から除外される。テーブル4は、本方法におけるこの点において、前記目的地待ち行列及び訪問リストの状態を反映する。
Figure 0004705176
段階214において、本システムは、停止条件が合ったか決定する。この点において、接続分岐点がある。分岐点Eは起点に対する前記訪問リスト上及び目的地に対する訪問リスト上にある。分岐点Eに対する合計コストは11である。すなわち、前記起点から分岐点Eへの移動のコストは5であり、分岐点Eから目的地へは6である。起点から、起点優先待ち行列(E)における先頭分岐点への移動のコストは5であり、及び前記目的地優先待ち行列Cの先頭分岐点から目的地への移動のコストも5であるので、停止条件には合わない。2つのコストの合計が10であり、それは11である接続分岐点に対する合計コストより低いので、停止条件は機能せず、本システムは段階204において、起点優先待ち行列を選択する。
前記起点優先待ち行列における先頭分岐点はEであり、それは2つの隣接する分岐点:C及びFを有する。段階208において、本システムは前記起点からFへの移動に対するより低いコストが既知であるかを決定する。Fは、起点優先待ち行列上にはないので、既知のコストはなく、及び7である、起点からEを介したFへの移動のコストは、前記起点優先待ち行列及び前記訪問リストに加えられる。段階206において、本システムは他の隣接する分岐点Cがあることを決定する。段階208において、本システムは起点からCへの移動に対する既知のコストがあるか決定する。前記起点からEを介したCへの移動のコストは9である。前記起点からCへの移動のための既知のより低いコストがないので、Cは前記優先待ち行列及び訪問リストに加えられる。この点では、分岐点Eに隣接するさらなる分岐点はないので、分岐点Eは待ち行列から除外される(段階212)。テーブル5は、前記方法でこの点において、前記起点優先待ち行列の現在の状態を反映する。
Figure 0004705176
段階214において、本システムは、停止条件に合ったことを決定する。この点において、3つの接続分岐点がある。接続分岐点Cの合計コストは14であり、接続分岐点Fの合計コストは11であり、及び接続分岐点Eの合計コストは11である。分岐点E及びFはすべての接続分岐点の最低合計コストを有するので、分岐点E及びFは、最善の接続分岐点であると考えられる。本発明の範囲内で様々な代替例が、「最善の接続分岐点」の他の定義を利用してもよい。前記起点から前記起点優先待ち行列上の先頭分岐点への移動のコストは6である。前記目的地優先待ち行列の先頭分岐点から前記目的地への移動のコストは5である。ゆえに、前記先頭分岐点への及び前記先頭分岐点からの移動のコストは11であり、それは最善コスト接続分岐点の合計コストと等しく、それも11である。このように、停止条件に合い、本システムは段階216において経路を形成する。
前記経路を形成する段階は、以下のとおりである。規則は、ある接続分岐点を選択する。一つの前記規則は、最善接続分岐点を選択することである。選択された接続分岐点Kは、前記起点訪問リストにおいて検索され、前記起点からの経路における直前の分岐点P1が見つけられる。P1が起点でない場合、P1は前記訪問リストにおいて検索され、及び直前の分岐点P2が見つけられる。これは、起点に到達するまで継続する。前記起点が分岐点PLとして到達されると仮定する。同様に、Kは前記目的地訪問リストにおいて検索され、及び次の分岐点N1が見つけられる。N1が目的地でない場合、N1は前記訪問リストにおいて検索される。これは、目的地に到達するまで継続する。前記目的地は、分岐点NMとして到達される。この点において、前記起点から前記目的地への経路が既知である:それは、PL(起点)からPL-1へ、PL-2へ,...,P2へ、P1へ、Kへ、N1へ,...,NM-1へ、NM(目的地)への経路である。
本例において、分岐点E及びFは、両方とも最善接続分岐点であった。本システムは、任意で分岐点Eを選択する。テーブル5において訪問リストを見ると、前記起点から分岐点Eへの移動の最善既知コストは、分岐点Bから分岐点Eへの移動に関与する。このように、形成されている経路は、BからEへ移動する。本システムは、訪問リストに分岐点Bを見つけ、及び分岐点Bへの最善の経路は、起点Oから直接来ていることを決定する。この点において、形成された経路は、OからBを介したEへの移動を含む。本システムが前記起点に到達した後、本システムは前記接続分岐点から前記目的地への経路を形成する。テーブル4における訪問リストを見ると、Eから前記目的地への最善の経路は、EからFへの移動に関与する。こうしてFが経路に加えられる。前記訪問リストは、FからDへの最善の経路が、FからDへ直接であることも示す。このように、形成された経路は、O−B−E−F−Dである。
図5は、経路探索調査を実行するための第二の方法を示すフローチャートである。ある点においては、図5に記載の方法は、図4に記載の方法の対応版として見ることができる。すなわち、図5において取られる通常の段階は、図4において取られる段階と類似する;しかしながら、図5に記載の方法は、同時に(平行して)複数の起点(及び/又は複数の目的地)を調査するために使用することができる。図3を見ると、例えば、本システムが、2つの起点O及びBからDへの経路を見つけるようにユーザが要求すると仮定する。図4に記載の段階を2回実行するよりは、本システムは、同時にOからDへ及びBからDへの経路を見つけるために、図5に記載の段階を実行することができる。
図5に記載の段階240において、本システムは初期化する。段階240は、図4に記載の段階202に類似する。すなわち、起点優先待ち行列、起点訪問リスト、目的地優先待ち行列、及び目的地訪問リストが設定されることができる。図5に記載の訪問リストと図4に記載の訪問リストとの間の相違は、各分岐点は、コスト及び各起点(又は目的地)に対する直前の欄を有するであろうことである。図3に記載の、OからDへの及びBからDへの経路を決定する例において、起点訪問リストにおける各分岐点は、2つのコスト及び2つの直前の欄を有する。
図5の処理に記載の優先待ち行列が、インデックス(Index)と称される余分の欄を有する点を除いて、図5の処理に記載の優先待ち行列は、図4の処理に記載の優先待ち行列に類似する。後述されるとおり、優先待ち行列における各分岐点に対するキーは、前記待ち行列における分岐点と前記起点の一つ(又は前記目的地の一つ)との間の移動に関連する。前記優先待ち行列における分岐点に対する前記インデックスは、前記キーに関連する特定の起点(又は目的地)を示す。
ある実施形態において、図4又は図5に記載の処理は、目的地からではなく起点から探査することによって実行されることができ;それゆえに、起点優先待ち行列及び起点訪問リストが使用されるが、目的地優先待ち行列又は目的地訪問リストは使用されない。他の実施形態において、図4及び図5に記載の処理は、起点からではなく、目的地から探査することができる;それゆえに、目的地優先待ち行列及び目的地訪問リストが使用されるが、起点優先待ち行列又は起点訪問リストは使用されない。
段階242において、本システムは、段階204に類似して、待ち行列を選択する。本システムが、目的地からではなく起点から探査する場合、待ち行列を選択する必要はなく、段階242は省略される。段階244において、本システムは、検討されていなかった他の隣接する分岐点があるか決定する。本システムは、前記優先待ち行列上の先頭分岐点に隣接する分岐点を探すであろう。他の隣接する分岐点がある場合、本システムは、すべての起点(又はすべての目的地)から、先頭分岐点を通して、隣接する分岐点へのコストを決定することを含む段階246を実行する。段階246において決定されるコストの各々は、新しいコストである。各新しいコストは、起点及び中間分岐点に関連する。段階248において、本システムはより低い又は等しいコストがすでに、新しいコストが段階246において決定された起点/中間分岐点対に対して既知であるかを決定する。もしそうであれば、本システムは段階244に戻る。もしそうでなければ、前記優先待ち行列及び訪問リストは、段階250において編集される。前記訪問リストを編集するときに、前記分岐点が前記訪問リスト上になかった場合、各新しいコストととも加えられる。前記分岐点がすでに前記訪問リスト上にある場合、前記新しいコストが加えられ、あらゆる現存のより高いコストに取って代わるが、現存するより低いコストには取って代わらない。隣接する分岐点が前記優先待ち行列上にない場合、前記優先待ち行列の編集は、前記分岐点を、新しいコストの組の最低コストに等しいキーを有する前記優先待ち行列に加えることを含む。隣接する分岐点が前記優先待ち行列上にあり、及び新しいコストの組の最低コストが、前記キーよりも低い場合、前記キーは、新しいコストの前記組の最低コストに更新される。分岐点のキーが更新される場合、前記分岐点の対応するインデックスも、更新される。
段階244において、前記優先待ち行列における先頭分岐点に隣接するさらなる分岐点がない場合、適切な優先待ち行列からの先頭分岐点は、段階252において除外され、及び段階254において、本システムは停止条件が合ったか決定する。
前記停止条件は、段階214に関連して説明された上述の停止条件のいずれでもよい。代替的に、前記優先待ち行列にさらに分岐点がないときに、前記停止条件は合う。ある実施形態において、すべての目的地が到達され、及び前記起点優先待ち行列の先頭分岐点のキーが、前記訪問リストから形成されることができる経路に沿った、あらゆる起点からあらゆる目的地への最大の既知コストよりも大きい場合、前記停止条件は合う。他の実施形態は、前文で説明された停止条件を、第一の停止条件として使用し、及び第二の停止条件の試験を受ける。前記優先が空であり、経路発見処理の間に前記優先待ち行列に加えられる最も近い起点から距離Xを超える分岐点がないときに、適切な第二の停止条件に合う。距離Xの一例は、あらゆる起点と目的地との間の直線距離の最大の2倍である。
前記停止条件が合わなかった場合、本システムは段階242に戻り、次の待ち行列を選択する。前記停止条件が合った場合、本システムは段階256において経路を形成する。前記方法は、複数の起点又は複数の目的地のために実行されるので、複数の経路が形成される。
典型的例示を目的として、ユーザは図3に記載のネットワークにおいて二つの経路:OからD及びBからDを決定したいだけだと仮定する。2つの起点があるので、両方の起点が優先待ち行列に最初に配置される。どのような順番でも良い。Oは第一の先頭分岐点であると仮定する。テーブル6は、段階240の後の前記起点優先待ち行列及び訪問リストを示す。起点Oから分岐点B及び起点Bから分岐点Oへの移動のコストは、最初に無限大に設定される。
Figure 0004705176
(Node:分岐点)
この例においては、本システムは前記起点から探査するのみであると仮定する;それゆえに、段階242において行列を選択する必要はない。段階244において、本システムは、3つの隣接する分岐点A、B及びGがあることを決定する。本システムは任意で、段階244において分岐点Aを選択し、及び前記起点から先頭分岐点を通ったAへの移動のコストを決定する。この点において、決定されることができる唯一の経路及びコストは、直接OからAへ、9のコストである。今決定されることができる、Oを通る、BからAへの経路はない。より低い既知のコストはないので、本システムは段階250において前記訪問リスト及び優先待ち行列を編集し、及び段階244に戻り、及び分岐点Bを選択する。OからBへの移動のコストは3であり(段階246)、より低い既知のコストはなく(段階248)、本システムは前記訪問リスト及び優先待ち行列を編集し(段階250)、及び本システムは分岐点Gを検討するために、段階244に戻る。OからGへの移動のコストは7であり(段階246)、より低い既知のコストはなく(段階248)、本システムは前記訪問リスト及び優先待ち行列を編集し(段階250)及び段階244に戻る。この点において、前記先頭分岐点Oへの追加の隣接分岐点はなく、前記先頭分岐点は段階252において除外され、及び前記停止追加は、段階254において試験をされる。Bは、段階250より前に、前記起点優先待ち行列にすでにあったことが留意される;しかしながら、ゼロのキーは、新しい3のキーと取り替えられる。テーブル7は以下で、計算におけるこの点において、起点訪問リストにおける前記起点優先待ち行列の状態を表す。
Figure 0004705176
この例において、すべての目的地が到達され、及び前記起点優先待ち行列の前記先頭分岐点が、あらゆる起点からあらゆる目的地への既知のコストよりも大きい場合に、前記停止条件は合う。計算におけるこの点において、目的地のいずれも到達されていない;それゆえに、前記停止条件は機能しない(段階254)。
前記優先待ち行列上にある前記先頭分岐点は、Bである。分岐点Bは、2つの隣接する分岐点A及びEを有する。段階244において、本システムは分岐点Aを検討する。BからAへの移動のコストは3である(段階248)ので、本システムはBからすべての起点への移動の既知のコストに3を加える。OからAへの移動の新しいコストは6であり、BからAへの移動の新しいコストは3である。これらの新しいコストの両方は、Oからの移動のための、9である直前の古いコスト及びBからの移動の無限大の直前の古いコストに勝るので、前記訪問リスト及び優先待ち行列は、前記新しいコストで更新される。本システムが分岐点Eを検討するとき、段階246は分岐点Bから分岐点Eへの移動のコストを2と決定するために使用されるであろう。Eへの移動の既知のコストはないので(段階248)、前記編集されたリスト及び優先待ち行列は、それに従って編集される(段階250)。前記先頭分岐点は除外され(段階252)、及び前記停止条件は試験をされる(段階254)。この点において、前記停止条件は、機能しない。テーブル8は、以下で、計算におけるこの点において、前記起点並びに優先待ち行列及び起点訪問リストの状態を反映する。
Figure 0004705176
分岐点Eは、前記優先待ち行列上の前記先頭分岐点である。分岐点Eは、2つの隣接する分岐点C及びFを有する(段階244)。第一に、本システムは分岐点Cを選択する。分岐点Eから分岐点Cへの移動のコストは4である;それゆえに、分岐点OからCへの移動のコストは9であり、及び分岐点Bから分岐点Cへの移動は6である(段階246)。Cは前記優先待ち行列又は前記訪問リストにまだないので、既知のコストはなく(段階248)、及び前記起点優先待ち行列及び訪問リストは、それに従って編集される(段階250)。本システムは、段階244へ戻り、及び分岐点Fを検討する。EからFへの移動のコストは2である;それゆえに、OからFへの移動のコストは7であり、及びBからFへは4である(段階246)。Fは前記訪問リスト又は前記優先待ち行列上にはまだない(段階248)ので、両方とも段階250においてそれに従って編集される。本システムは244に戻り、及び隣接するさらなる分岐点がないことを決定する。先頭分岐点Eは、段階252において除外され、及び前記停止条件は、段階254において機能しないことが決定される。テーブル9は以下で、計算におけるこの点において、前記起点優先待ち行列及び起点訪問リストの状態を反映する。
Figure 0004705176
分岐点Aは、前記優先待ち行列の最上部にある。分岐点Aは、3つの隣接する分岐点C、O及びBを有する。本システムは、最初に分岐点Oを選択する。分岐点Aから分岐点Oへの移動のコストは9である;このように、起点Oから前記先頭分岐点を通って起点Oへ戻る経路は15である。BからAを介したOへの経路は12である。段階248において、本システムは、すべての単一の起点に対して既知のより低いコストがないことを決定する。前記起点の一つに対して既知のより低いコストがある。すなわち、分岐点Oから分岐点Oへ到達するための、既知のコストはゼロである。これは、15である新しいコストより低い;それゆえに、前記新しいコストは、前記起点優先待ち行列又は前記訪問リストに加えられない。分岐点Bから分岐点Oへの移動の新しいコストは12であり、それは無限大の既知のコストより低い。このように、12である前記新しいコストは、段階250において前記起点訪問リストに加えられた。本システムは段階244に戻り、及び分岐点Bが検討される。AからBへの移動のコストは3である。Aを介した、起点OからBへの移動のコストは12であり、及びBからAを介したBへの移動のコストは6である。段階248において、本システムは、前記起点の各々に対して既知であるより低いコストを有することを決定し、及びそれゆえに、本システムは前記訪問リスト又は起点優先待ち行列を編集せずに、段階244に戻る。段階244において、本システムは分岐点Cを検討する。分岐点Aから分岐点Cへの移動のコストは4である。分岐点Oから分岐点Cへの移動の新しいコストは13である。分岐点Aを介した、分岐点Bから分岐点Cへの移動の新しいコストは7である。各起点に対して既知のより低いコストがあるので(段階248)、本システムは段階244に戻り、及び前記起点訪問リスト又は優先待ち行列を編集しない。段階252において、前記先頭分岐点は除外される。段階254において、前記停止条件が機能しないことが決定される。テーブル10は、計算におけるこの点において、前記起点優先待ち行列及び起点訪問リストの状態を反映する。
Figure 0004705176
分岐点Fは、前記優先待ち行列上の前記先頭分岐点である。分岐点Dは、分岐点Fに隣接する唯一の分岐点である(段階244)。段階246において、本システムは、分岐点Fから分岐点Dへの移動のコストは4であることを決定する。このように、OからDへの移動のコストは11であり、及びBからDは8である(段階246)。Dは、前記起点訪問リスト又は起点優先待ち行列にはないので(段階248)、本システムはD及びそのコストを加えるために、段階250において前記訪問リスト及び優先待ち行列を編集する。段階244において、本システムは、さらなる隣接する分岐点がないことを決定する。前記先頭分岐点は、段階252において除外される。前記停止条件は、段階254において試験をされる。テーブル11は、計算におけるこの点において、前記起点優先待ち行列及び起点訪問リストの状態を反映する。
Figure 0004705176
前記停止条件を調べるときに、本システムはすべての目的地(この場合における1)が到達されたことに注目し、及び各起点から各目的地への既知の経路がある。本システムは、前記優先待ち行列の前記先頭分岐点の前記キーは、前記訪問リストから形成されることができる経路に沿ったあらゆる起点からあらゆる目的地への、最大の既知のコストよりも大きいか、についても試験しなければならない。前記起点から前記目的地への既知のコストは、OからDがコスト11及びBからDがコスト8である;このように、最大の既知コストは11である。6は11より小さいので、前記停止条件は機能しない。
前記優先待ち行列の先頭分岐点はCである。Cに隣接する3つの分岐点:A、E及びDがあった。本システムが分岐点A、E及びDに対する段階244乃至250を実行するときに、本システムは、そのすべてがすでに既知のコストよりも大きい新しいコストを決定するであろう;それゆえに、前記優先待ち行列及び訪問リストは、これら3つの隣接する分岐点のいずれのためにも編集されないであろう。前記先頭分岐点Cが前記優先待ち行列から除外された後、新しい先頭分岐点Gに対するコストは7であり、それは11よりも低いので、前記停止条件は、機能しないであろう。
分岐点Gは、前記優先待ち行列にある先頭分岐点である。分岐点Gは、3つの隣接する分岐点:O、H及びIを有する。本システムは最初に、段階244において分岐点Hを検討する。GからHへの移動のコストは5である。OからGを介したHへの移動のコストは12である。前記訪問リストにはGからBへの移動に対するコスト/経路はないので、本システムは分岐点Gを介した分岐点Bから分岐点Hへの移動のための経路を決定することができない;それゆえに、分岐点Bから分岐点G及びHへの移動のコストは、無限大として記録される。分岐点Hへの移動に対する既知のコストはないので(段階248)、前記訪問リスト及び優先待ち行列は、段階250において編集され、及び本システムは段階244に戻る。本システムは、分岐点Iを検討する。OからGを介したIへの移動のコストは10であり、及び本システムはBからGを介したIへの移動のコストを計算することができない(段階246)。Iは、前記優先待ち行列又は訪問リストにはまだないので、既知のコストはなく(段階248)、優先待ち行列における前記訪問リストは、段階250において編集され、及び本システムは、分岐点Oを検討するために、段階244に戻る。OからGを介したOへの移動のコストは10である(段階246)。OからOへの移動に対する既知のさらに低いコストがすでにある;それゆえに、前記訪問リスト及び優先待ち行列は編集されない。段階244において、本システムは、さらに隣接する分岐点がないことを決定し、及び前記先頭分岐点は段階252において除外される。テーブル12は、計算におけるこの点において、前記優先待ち行列及び訪問リストの状態を表す。
Figure 0004705176
前記先頭分岐点は、EからDへの移動のコスト、11よりも大きくない8のキーを有するので、前記停止条件は、合わない。
前記先頭分岐点はDであり、2つの隣接する分岐点:C及びFを有する。本システムが、分岐点C及びFに対する段階244乃至250を実行するとき、見つけられたコストは既知のコストよりも高いであろう。それゆえに、前記優先待ち行列及び訪問リストは、編集されないであろう。本システムが、段階252において、先頭分岐点Dを前記優先待ち行列から除外した後、前記停止条件は、段階254において試験をされるであろう。前記優先待ち行列上の前記新しい先頭分岐点はIである。Iに対するキーは10である。10は、EからDへの経路のコスト(11である)よりも小さいので、前記停止条件は機能しない。
分岐点Gは、分岐点Iに隣接する唯一の分岐点である。Iを介した、OからGへの移動のコストは13である。Iを介したBからGへの移動のコストは既知ではないので、本システムは無限大を使用する。各起点に対してより低い(又は同等の)コストが既知であるので(段階248)、本システムは段階250を省略し、段階244に戻る。さらなる隣接する分岐点はない。分岐点Iは待ち行列の先頭から除外される(段階252)。前記新しい先頭分岐点はOであり、コストは12である。前記先頭分岐点のコストは12であり、11である、あらゆる起点からあらゆる目的地への最大既知コストよりも大きいので、前記停止条件が合う。本システムは段階256において経路を形成する。形成された経路は、B−E−F−D及びO−B−E−F−Dである。
起点分岐点及び目的地分岐点の間の距離が増すにつれて、前記起点と目的地との間の経路を決定するにあたり検討されなければならない分岐点及びリンクの数も、大いに増えることができる。その結果、電子地図上で経路発見計算を実行するシステムは、膨大な数の計算を実行する必要があるかもしれず、及び大多数のディスク・アクセスを実行する必要があるかもしれない。これは、起点と目的地との間の経路を発見するのに要求される時間を、顕著に増加させるかもしれない。本発明は、図13に記載の処理を使用して、経路発見に必要な時間を低減させることができる。図13に記載の処理は、「タイル(tile)」と称される領域に分割されたネットワーク上で使用される。一つのタイルは、いくつかの地理的関係を有する画像地図及び/又は一団のデータ(又は数群のデータ)上の領域でもよい。図6は、図3に記載の有向グラフをタイルに分割する一つの方法を示す。第一のタイルは、分岐点H、G、I及びOを含む;第二のタイルは、分岐点A及びBを含む;及び第三のタイルは分岐点C、D、E、及びFを含む。前記タイルは、地理的領域を分割することによって定義されることができる。
代替的に、タイルは、グラフの視覚的表示を見ることなく定義されることができる。例えば、タイルは一組の群でもよい。集束技術(clustering technology)の一例は、アメリカ合衆国特許第5,706,503号、「コンピュータ・データベースにおける多次元関連データを集束する方法」に見ることができ、その内容は参照のためここに採用されている。
データを群にする一つの方法は、(関連リンクがある場合に分類された)すべての分岐点を位置で分類することを含む。前記分岐点は、k−Dツリーを形成するために、空間的に分割され及び小分割される。前記分割及び小分割は、各小分割を表示するために必要とされるファイル・レコードのサイズが、名目対象値よりも下になると概算されるまで続く。これらの小分割における分岐点及びリンクの収集は、前記群を定義する。前記小分割は、空間曲線で配列される。ファイルにおける連続した群の記録は、(好ましくは、しかし必ずしもそうではない)物質界における空間的に連続した領域を表す。その順番は、自然に発生する。このように、前記空間曲線に従って配列されたすべての群を含むネットワーク・ファイルが、生成される。各タイルは、前記ネットワーク・ファイルにおいて連続している多くの群を含む。前記タイルの大きさは、それが一つのディスク・アクセスにおいて読み取られることができるように定義されなければならない。代替的な実施形態において、前記タイルは、より大きくてもよく、それゆえに、読み取られる一つのディスク・アクセスよりも多くを必要とするかもしれない。効率的にする目的で、ディスク・アクセスを低減させるためのタイルの大きさを選択することが最善である。
上述のk−Dツリーは、多次元二進ツリーと称されることもあるk次元二分検索ツリーである。この分野における興味ある一つの論文は、F.P.プレパラータ及びM.I.シャモス、「計算幾何学:導入」、スプリンガ−ヴェルラーグ(1985年)である。適切な空間曲線の一例は、ヒルベルト曲線である。
タイルに分解されたネットワークを利用することに加えて、本発明は多くのウェブ(web)も利用する。ウェブは、一組の予め計算された経路であると定義される。本発明は、4種類のウェブ:出口−入口ウェブ、周辺ウェブ、自己ウェブ及び近接過ぎウェブを使用する。出口−入口ウェブは、一つ以上の潜在的起点タイルの出口分岐点から、すべて又はいくつかの潜在的目的地タイルの出口分岐点への、予め計算された経路を含む。ある実施形態において、出口−入口ウェブに、一つのタイルの出口分岐点からすべての潜在的目的地タイルの入口点への、唯一の予め計算された経路を含ませることは、より簡単かもしれない。他の実施形態において、出口−入口ウェブは、一つの起点タイルに対する出口分岐点から、一組の潜在的目的地ファイルの入口分岐点への予め計算された経路を含み、前記組はすべての潜在的目的地タイルよりも少ない。この代替例において、起点タイルは、一つ以上の出口−入口ウェブを有するかもしれない。一つの代替例において、前記組の大きさは、出口−入口ウェブが、一つのディスク・アクセスで読み取られることができるように決定されることができる。
出口分岐点は、多くの他の場所に到達するためにタイルを出た後に使用される分岐点として考えられることができる。特定のタイルに対する前記一組の出口分岐点は、前記出口分岐点の少なくとも一つが、前記タイルを出るすべての有用な経路上にあるように選択される。前記入口分岐点は、タイルに入る途中で横断される分岐点である。前記一組の入口分岐点は、前記タイルに入るためのすべての有用な経路が、前記入口分岐点の少なくとも一つを横切るように選択される。出口及び入口分岐点の決定は、後述される。
タイルの境界は、一組の出口境界分岐点及び入口境界分岐点によって定義される。出口境界分岐点は、タイルの外側にある分岐点に伸張する外向きのリンクを有する、前記タイルにおける分岐点のすべてである。入口境界分岐点は、タイルの外側の分岐点から慎重する内向きのリンクを有する、前記タイルにおける分岐点のすべてである。分岐点は、出口境界分岐点及び入口境界分岐点の両方でもよい。
図7は、出口−入口ウェブの一例を示す。3つのタイル:タイル280、タイル282及びタイル284が図7に示されている。典型例の目的で、前記タイルは詳細を省略して示されていることに留意されたい。図7は、タイル280に対する出口−入口ウェブを示し、そこでは前記起点はタイル280にあり、前記目的地はタイル282又はタイル284にあるであろう。タイル280に対する前記出口分岐点は、分岐点N、P、R及びUを含む。タイル282に対する前記入口分岐点は、分岐点J、K及びLを含む。タイル284に対する前記入口分岐点は、分岐点W、X及びZを含む。矢印を有する線のすべては、分岐点間の可能な経路を示す。このように図7に記載のすべての経路は、タイル280の出口分岐点からタイル282又は284の入口分岐点への経路の一部である。このように、図7に記載の経路は、タイル280に対する出口−入口ウェブを具備する。
前記周辺ウェブは、タイルの境界分岐点と前記タイルの出口分岐点/入口分岐点との間の予め計算された経路を含む。タイルは、その入口分岐点に対する目的地周辺ウェブ及びその出口分岐点に対する起点周辺ウェブを有することができる。図8は、タイル282に対する起点周辺ウェブを示す。分岐点J、K、L、AE及びAFは、タイル282に対する出口分岐点を表し、及び分岐点AA、AB、AC及びADは、タイル282に対する境界分岐点を表す。矢印を有する線は、境界分岐点及び出口/入口分岐点との間の経路を示し、それゆえに前記周辺ウェブを具備する。
前記自己ウェブは、タイルの出口境界分岐点から、同じタイルの入口境界分岐点への予め計算された経路の一部を含む。タイルの内側にある経路の一部を除外することは、前記一部がすでに、前記タイルを定義するデータ記録に含まれるので、通常は最善である。自己ウェブに対する明らかな必要性の一例は、タイルが川によって半分に切断され、及び前記川を横切る唯一の橋がタイルの外側にある場合である。このように、同じタイルにおける起点から目的地への移動は、前記橋を横切るために前記タイルの外側の移動を要求するかもしれない。図9は、タイル282に対する自己ウェブの一例である。図示された経路は、境界分岐点AA、AB、AC及びADの間である。ディスク・アクセスを低減させるために、一つの実施形態は、タイルの自己ウェブ及び周辺ウェブに対するデータを結合して、両方のウェブに対する前記データが、一つのディスク・アクセスで読み取られることができるようにすることを含む。
前記近接過ぎウェブは、一つ以上の起点タイルの前記境界分岐点と、使用される出口−入口ウェブに対する前記起点タイルに近接し過ぎている一つ以上の(又はすべての)目的地タイルの前記境界分岐点との間の、予め計算された経路の一部である。各起点タイル−目的地タイル対に対しては、前記タイルの内側にある前記経路の一部を除外することは、前記一部が、前記タイルを定義するデータ記録に含まれるので、通常は最善である。近接過ぎウェブの効果的な実施形態は、一つの起点タイルの前記境界分岐点から、近接し過ぎている(又は近接しきい値内である)一組の目的地タイルの前記境界分岐点への、予め計算された経路の一部を含む。前記組は、一つのディスク・アクセスで読み取られる近接過ぎウェブを検討するに足りるだけの多くの近接過ぎ目的地タイルを含む。図10は、起点タイル286及び目的地タイル288に対する近接過ぎウェブを示す。タイル286は、境界分岐点BF、BG、BH、BI及びBJを含む。タイル288は、境界分岐点BA、BB、BC、BD及びBEを含む。前記近接過ぎウェブは、BFからBA、BGからBA、BGからBB、BGからBC及びBHからBCへの経路を含む。
図11は、タイルに対する出口又は入口分岐点を決定するための一つの方法を説明する。図11に記載の方法は、出口分岐点を見出すため一回及び入口分岐点を見出すために一回実行されることができる。出口/入口分岐点を決定するための代替的方法は、アメリカ合衆国特許出願第08/756,258号、1996年11月25日出願、リチャード・F.ポッペン、「ネットワークにおける領域に対する出口及び入口を決定するための方法」に見ることができ、その内容はここに参照のために採用されている。図11における第一の段階は、境界分岐点を識別することである(段階332)。上述のとおり、境界分岐点は、出口境界分岐点及び入口境界分岐点を含む。特定のタイルに対する前記出口境界分岐点は、前記タイルの外側の分岐点へのリンクを有する、タイルにおけるすべての分岐点である。タイルに対する前記入口境界分岐点は、前記タイルの外側の分岐点からのリンクを有する、前記タイルの内側にあるすべてのそれら分岐点である。段階332は、検討中のタイルにおける分岐点のどれもが、出口境界又は入口境界分岐点の条件のいずれかに合うか決定することを含む。
一組の出口境界分岐点の識別に加えて、一組の出口対象分岐点が、検討されるタイルに対して識別される。出口対象分岐点は、十分なコストCを招くことなく前記タイルから到達されることができない一組の分岐点である。ある方法において、空間的にコストCの外側にある(すなわち、コストCを招くことなく前記タイルから到達されることができないいくつかの分岐点を有する)タイルが認識される。前記コストCの完全に外側にあるタイルへ導くリンクを有する前記タイルのすべての出口境界分岐点は、出口対象分岐点である。
入口対象分岐点は、そこからはタイルが十分なコストを招くことなく到達されることがでない一組の分岐点である。前記のような一組は、出口対象分岐点に対するものであると定義されてもよい。十分なコストは、通常は、しかし必ずしもそうではないが、5乃至50キロメートルの間である。前記十分なコストは、試行錯誤に基づいて調整されることができる。前記対象分岐点を識別するために使用される十分なコストCは、リンクのネットワークを介した、又は直線距離としてのコストでもよいことに留意されたい。
前記出口対象分岐点を決定するための方法は、図5に記載の方法を使用し、すべての出口境界分岐点を起点として使用し、及び起点優先待ち行列を使用するだけで(前記目的地からの探査ではなく前記起点からの探査を意味する)、平行経路発見探索をランさせることである。前記探査が進行するにつれて、それが通過するすべてのタイルが認識される。前記優先待ち行列上の前記先頭分岐点に対する前記キーが、C(上述の十分なコスト)より大きいか又は等しいときに、本システムは、前記先頭分岐点が存在し、及び前記先頭分岐点がCを超えているとして印付けするタイルを認識する。前記探査は、本システムがCを超えるとして印付けされた先頭分岐点から探査するときに、本システムが、前記先頭分岐点に対して、前記先頭分岐点と同じタイルにある前記先頭分岐点から隣接する分岐点への移動を検討するのみであるように、継続する。そのように探査された、このタイルに対する境界出口分岐点であり、及び以前探査されたとは印付けされなかったタイルへのリンクを有する、このタイルにおけるあらゆる分岐点は、出口対象分岐点として印付けられる。
前記入口対象分岐点を探索するために、図5に記載の前記平行経路発見探索が、前記入口境界分岐点を目的地として使用して実行され、前記目的地優先待ち行列上で動作するのみであり、及び最終の段階において、境界出口分岐点の代わりに、境界入口分岐点を探すという点を除いて、基本的に出口対象分岐点を探索するためのものと同じプロシージャに従う。
前記境界分岐点及び対象分岐点を識別することに加え、本システムは、段階336において、前記境界分岐点と対象分岐点との間の経路を決定する。本システムが、出口分岐点を発見しようとしている場合、段階336は、出口境界分岐点と出口対象分岐点との間の経路を発見するために使用される。本システムが、入口分岐点を発見しようとしている場合、入口対照分岐点と入口境界分岐点との間の経路が決定される。経路を決定する段階は、図5に記載の平行経路探査を利用することを含むので、段階332において識別された前記出口境界分岐点は起点であり、段階334において識別された前記対象分岐点は目的地であり、及び本システムは、起点優先待ち行列を使用するだけである。前記平行経路発見処理は、前記優先待ち行列が空になるまで継続する。前記起点優先待ち行列が空であるとき、本システムはすべての可能な経路を形成する。
前記境界分岐点と前記対象分岐点との間の経路を決定した後、本システムは2つの半径R1及びR2を選択し、R1<R2及びR2≦1/2Cである。R1の例は、1/3C及び1/4Cを含む。Cの値は、対象分岐点を探索することに関して上述されたのと同じ値である。R1及びR2は、多すぎる出口分岐点を有することに対して、タイルから遠すぎて有用でない出口分岐点を有することを最適化し、及び均衡を保つために、実験的に調整されることができる。
前記2つの半径を決定した後、本システムは一対の分岐点を選択する。一対の分岐点は、境界分岐点及び対象分岐点として定義され、前記境界分岐点と対象分岐点との間の経路が存在する。段階340において、本システムは、まだ検討されていない前記対の一つを選択する。段階342において、本システムは、前記境界分岐点から前記対象分岐点へと前記経路に沿って横切り、及びすべての横切られた分岐点に印を付ける。段階342において横切られ及び印を付けられた分岐点のいずれかが、高い優先順位の分岐点である場合(段階344)、本システムは、これら高い優先順位の分岐点のいずれかが、前記2つの半径の中にあるか試験をする(段階350)。前記高い優先順位の分岐点のいずれかが、前記2つの半径(R1及びR2)の中にある場合、本システムは、前記分岐点の各々に対するスコア(score)を増やす。前記高い優先順位の分岐点のいずれも前記2つの半径の中にない場合、本システムは段階352において最善の高い優先順位の分岐点を発見し、及び段階354において前記分岐点のスコアを増やす。段階344が、横切られ及び印を付けられた分岐点のどれもが高い優先順位の分岐点ではないことを決定する場合、本システムは段階340に戻り、及び異なる対を選択する。
高い優先順位の分岐点は、比較的重要な方向選択がある分岐点であると定義される。おそらく、前記高い優先順位の分岐点は、主要道路の交差点にある。地図上の各道路又はネットワークにおけるリンクは、本当の優先順位を割り当てられる。リンクの本当の優先順位は、例えば、リンクが表す対応する道路に対する通常の運転速度に対応することができる。優先順位が高いほど、道路は速い。6の異なる種類の道路と仮定して、以下の内容は、サンプリングされた本当の優先順位を表す:小路−0、居住区道路−1、集合道路−2、幹線道路−3、アクセス制限道路−4、及び高速道路−5である。リンクの「近道優先順位(shortcut priority)」は、最大優先順位Zであると定義され、前記リンクは、本当の優先順位Xのリンクから本当の優先順位Yのリンクへの最善の経路の一部であり、及びZはX又はYのいずれかのより低い方である。リンクの「使用優先順位」は、前記リンクの前記本当の優先順位と前記リンクの前記近道優先順位との間の最大であると定義される。分岐点の優先順位は、少なくとも前記使用優先順位を有する2つ以上の前方リンクがある最大使用優先順位である。すなわち、分岐点が3つの前方リンク(すなわち、前記分岐点を去るリンク)を有する場合、使用優先順位1、1及び2では、それぞれ前記分岐点は優先順位1を割り当てられる。分岐点からの前記リンクの前記使用優先順位が1、1、2である場合、前記分岐点は、優先順位2を割り当てられる。前方リンクが一つしかない場合、前記分岐点は優先順位0である。
段階352において最善の分岐点を発見する処理は、前記2つの半径の中に入るように比例的に最も近接している分岐点を発見することを含む。すなわち、分岐点がR1の内側にある場合、本システムは、D1はR1からの分岐点の直線距離である、比例距離D1/R1を調べる。分岐点がR2の外側である場合、本システムは、D2はR2からの分岐点の距離である、比例距離D2/R2を調べる。D1における分岐点が選択される場合である、D2がR2の2倍よりも大きくない限り、最小比例距離を有する分岐点は、段階352で識別される。
図11に記載の処理が開始する前は、各分岐点のスコアは0である。図11に記載の処理が初めて実行されるときは、スコアが段階354において増える分岐点は、段階354において処理されるたびに、値が1増加する。分岐点は、多くの経路上にあるかもしれないので、それは、何度もそのスコアを増加させてもよい。システムが、適切な分岐点のスコアを増加させた後、本システムは、まだ検討されていない対がさらにあるか決定する(段階360)。さらに対がある場合、本システムは段階340に戻り、新しい対が選択される。
段階360において検討されるべき対がさらにない場合、本システムは段階362において最高スコアを有する分岐点を発見する。段階364において、段階362で識別された分岐点は、一組の潜在的出口の資格を与えられる。段階366において、段階362で識別される分岐点を通って移動するすべての経路は、段階336において発見された経路の一時的データベースから排除される。本システムは、前記一時的データベースに経路が残っているか決定する(段階368)。経路が残っている場合、本システムは段階340に戻り、検討すべき一対の境界/出口分岐点を選択する。本システムが段階368に到達すると、以前に検討された対のリストは放棄され及び初期化され、本システムが段階368から段階340に進むときに、検討される対はないと仮定される。このように段階340から段階360は、全体のデータベース(から排除された経路を引いたもの)に対して繰り返される。それゆえに、段階340から368は、一時的データベースに残された経路がなくなるまで、継続的に繰り返される。この点において、段階364は一組の多くの潜在的出口を識別する。
段階368において残っている経路がなかった後に、本システムは段階372に行き、及び重み(weight)を調整する。前記重みは、段階354においてスコアが増加した量であると定義される。最初に、各スコアは1に等しい重みだけ増加された。経路上の各分岐点が同じ重みを有するように、前記経路が再加重される。(それらの中に受入可能な分岐点がほとんどないために)カバーしにくい経路に、より大きい重みが与えられるような方法で、前記再加重が実行される。出口分岐点及びそれの関連経路が除外されるたびに、本システムは一時的な新しい重みをすべての経路に割り当てる。前記一時的な重みは、前記分岐点によってカバーされた経路の数で分割された一つである。だから、前記分岐点が3つの経路をカバーした場合、前記3つの経路の各々は、1/3である一時的重みを与えられる。すべての出口が、現在の反復に対して探索された後(すなわち、すべての経路が除外された後)、本システムは、一時的重みに対する乗法係数を探索する。前記乗法係数は、すべての対に対する、すべての一時的重みの平均の逆数である。すなわち、それは、すべての一時的重みの合計によって分割された対の数である。次に、本システムは、すべての対を再加重する。本システムは、各一時的重みに乗法係数をかけ、その積に前記本来の重みをかける。本システムは、前記対に対する新しい重みを得るために、この積の平方根を取る。すべての重みは、それに従って調整される。
段階374において、本システムは再度すべての分岐点を処理する。段階374は、検討されるべき完全な一組の経路と及びすべての対で開始するが、新しいウェイトを使用して、段階340から372へのさらなる繰返しを実行することを実際には含む。それゆえに、段階374は、新しい一組の潜在的出口を決定する。段階376において、前記新しい組の潜在的出口における分岐点の数は、すぐ前に発見された組の潜在的出口における分岐点の数に対して比較される。段階374の最近の繰返しが、以前の組よりも少ない出口を発見した場合、本システムは段階372へ戻る。段階374がより多くの出口を発見した場合、前記処理がなされ、及び本システムは、タイルに対する出口分岐点として、さらなる使用のための以前の組の出口を使用する(段階380)。入口分岐点は、出口分岐点と同様の方法で発見される;しかしながら、本システムは、入口対象分岐点と出口境界分岐点との間の経路を検討する。
上述の内容は、入口分岐点及び出口分岐点を決定するための一つの特定の方法に言及する。入口及び出口分岐点を決定するための正確な方法は、図13に記載の経路発見処理には重要ではない。合理的な一組の出口又は入口分岐点を決定するための他の適切な方法が、実質的に経路発見計算に影響を与えることなく使用されてもよい。
一度各前記出口及び入口分岐点が、各タイルに対して発見されると、前記ウェブは、各タイルに対して決定されることができる。前記特定のタイルに対する出口分岐点のすべては起点であり、及び一組の可能な目的地タイルのすべてに対するすべての入口分岐点は目的地となるように、特定のタイルに対する出口−入口ウェブは、図5に記載の平行経路発見探索方法を使用して決定される。前記出口−入口ウェブに対する調査は、起点優先待ち行列を使用し、前記目的地優先待ち行列は使用せず、及び優先待ち行列が空になるまで継続する。探査が、前記目的地待ち行列を使用しないとき、それは、起点から目的地へ向かって探査するだけである。少なくとも問題となっている特定のタイルからの近接しきい値よりも遠いすべてのタイルは、潜在的目的地タイルと考えられ、及びそれらの入口分岐点を、出口−入口ウェブを決定するための探査に含ませることができる。
前記自己ウェブは、前記出口境界分岐点を入口として、及び入口境界分岐点を目的地として使用して、図5に記載の平行経路発見探索を使用して生成される。前記自己ウェブは、起点優先待ち行列を使用して生成され、目的地優先待ち行列は使用しない。前記探査は、前記起点待ち行列が空になるまで、又はすべての目的地が到達されるまで継続し、及び前記起点優先待ち行列の前記先頭分岐点のキーは、前記訪問リストから形成されることができる経路に沿った、起点から目的地への最大既知コストより大きい。前記自己ウェブに対する探査における任意の制限は、前記タイルからの距離Dよりも大きいと考えられる経路は検討されることが許可されないという点である。典型的なDは、タイルの直径の2倍である。
前記近接過ぎウェブは、図5に記載の平行経路発見探索を使用して計算される。起点タイルの前記出口境界分岐点は、起点として使用される。前記目的地は、起点タイルに過剰に近接した目的地タイルの入口境界分岐点である。前記処理は、前記起点優先待ち行列を使用し、目的地優先待ち行列を使用しない。前記起点優先待ち行列が空になるとき、又はすべての目的地が到達された場合に、前記停止条件に合い、及び、前記起点優先待ち行列の前記先頭分岐点のキーは、前記訪問リストから形成されることができる経路に沿った、起点から目的地への最大既知コストよりも大きい。経路発見探索に課された任意の制限は、本システムは、k=2*Dである、いずれかのタイルからのkよりも多くの経路を検討することができないことであり、Dは、前記起点及び目的地タイルにおけるあらゆる2つの点の間の最大距離(直線距離)である。
図12は、特定のタイルに対する周辺ウェブを形成する処理を説明するフローチャートである。図12に記載の処理は、図11に記載の処理の後に実行され、及び図11に記載の処理の間に決定されるデータを利用する。段階400において、本システムは最も高いスコアを有する出口分岐点を発見する。前記スコアは、図11に記載の段階354において増加された最終スコアである。段階402において、本システムは前記出口を通過する全ての経路を決定する。本システムは、図11に記載の方法から、すでに前記経路を知っている。前記経路の各々は、段階404において印付けされる。印付けされた経路の各々の関連部分は、段階406において周辺ウェブに追加される。前記関連部分は、境界分岐点と出口/入口分岐点の間の区間である。段階408において、本システムは、検討されなかった出口/入口分岐点があるか決定する。すべての前記分岐点が検討された場合、本システムは実行され、周辺ウェブは完成される。検討されなかった出口/入口分岐点がある場合、本システムは段階400に戻り、まだ検討されていない出口/入口分岐点の組を調べ、最も高いスコアを有する出口/入口分岐点を発見する。
図13は、本発明の経路発見計算のフローチャートである。前記経路発見計算はプロセッサを使用して、タイルに分割され、さらに上述の各ウェブを含むことによって強化されたネットワークのプロセッサ読み取り可能表示の上で実行される。段階450において、本システムは起点の表示を受信する。段階452において、本システムは目的地の表示を受信する。前記起点及び目的地の表示を受信することは、キーボード(keyboard)、マウス(mouse)、ライトペン(light pen)、音声認識技術等を使用した、前記起点及び目的地のユーザ帰属計算を含むことができる。本発明がソフトウエア使用して実施される場合、前記起点及び目的地の表示の受信は、経路発見処理を実行し、起源及び/又は目的地パラメータを通過させ、又は起源/目的地情報への一つ以上のポインタ(pointers)を通過させる適切な機能への呼び出しを含むことができる。さらに起源及び目的地の表示を受信することは、永久的にハードウエアに組み込まれた、又は永久的に記憶された起源あるいは目的地の読み取りを含むことができる。
起点と目的地を受信した後、本システムは、起点及び目的地が同じタイルにあるか試験する(段階454)。前記起点及び目的地が同じタイルにある場合、本システムは段階456に記載の同じタイル方法を使用して、前記起点から前記目的地までの経路を決定する。前記起点及び目的地が同じタイルにない場合、本システムは、段階458において、前記起点タイル(起点が存在するタイル)が目的地タイル(目的地が存在するタイル)の近接しきい値内にあるか決定する。前記タイルがお互いの近接しきい値内にあるかの試験は、近接過ぎウェブ又は出口−入口ウェブを使用することが適切か決定するための多くの適切な試験の一つでもよい。一つの試験は、前記起点タイルの出口分岐点が、目的地タイルの入口分岐点の一定のコスト以内にあるか決定することである。前記一定コストは実験的に決定されることができる。もう一つの試験は、前記起点タイルの出口分岐点が、前記出口タイルの入口分岐点よりも、目的地タイルにより近いか決定することである。第三の試験は、起点タイルの近接しきい値内にあるすべてのタイルを、出口対象タイルで境界を定められた区域内にあるタイルとして識別する。代替的に、起点タイルに近接し過ぎているタイルは、出口対象分岐点を発見する処理の間に探査されるタイルである。
前記タイルが互いの近接しきい値内にある場合、本システムは段階460の処理を実行する。前記タイルが互いの近接しきい値内にない場合、本システムは段階462の処理を実行する。段階456、段階460又は段階462のいずれかが完了した後、本システムは段階464へ進み、前記経路が報告される(段階464)。前記経路を報告する段階は、表示画面、印刷出力又は音声出力において、ユーザに順次指示を描き、地図上の経路を目立たせ、前記指示のファイルを生成し、前記経路のファイルを生成し、ファイルへのポインタを生成し、機能呼び出しの一部として前記経路を戻り、経路発見処理から経路発見処理を呼び出す処理へデータを転送すること等を含むことができる。
図14は、図13に記載の段階456をより詳細に説明するフローチャートである。図14に記載の方法は、起源と目的地が同じタイルの中にあるときに、実行される。段階480において、本システムは前記起点と目的地のタイルに対するデータを読み取る。段階482において、本システムは自己ウェブに対するデータを読み取る。「自己ウェブ」、「出口−入口ウェブ」、「周辺ウェブ」、及び「近接過ぎウェブ」等の用語は、ウェブを形成するデータと及び実際の図示された分岐点並びにリンクの両方を表す。さらに、プロセッサが「自己ウェブを読み取る」又は「自己ウェブを表すデータを読み取る」と言うことは適切であり、及び同じことである。タイルを読み取る、自己ウェブを読み取る、タイルに対するデータを読み取る、又は自己ウェブに対するデータを読み取るという文によって、適切なデータが読み取られることを意味する。一つの実施形態において、前記タイルやウェブを含むネットワークに対するデータは、CD−ROMに記憶される。
適切なデータが段階480及び482において読み取られた後、本システムは、段階484において起点から探査し、及び段階486において目的地から探査する。段階484及び486の両方において使用される探査方法は、図4に記載された方法であり、後述のとおり制限される。段階484及び486は個別の起点と目的地の優先待ち行列を使用して同時に実行され、又は独立して実行されることができる。前記起点からの調査は、(目的地優先待ち行列ではなく)起点優先待ち行列を使用すること、及び前記タイルと前記自己ウェブ内の分岐点を検討することのみを含む。段階486における目的地からの探査は、(起点優先待ち行列ではなく)目的地優先待ち行列を使用し、及び前記タイル及び前記自己ウェブにおける分岐点を検討することを含む。代替例として、前記起点からの探査は、自己ウェブを使用することができ、及び前記目的地からの調査は使用しない。両方の探査は、適切な優先待ち行列が空になるか、又は十分な接続分岐点が見つかるまで継続する。両方の探査が完了した後、本システムは経路を形成する(段階488)。前記経路は、上述のような最善の接続分岐点を利用し、前記経路は前記起点から前記目的地までの移動のコストを最小にする。図14に記載の段階は図示されているものとは異なる順番で実行されることができることに留意されたい。例えば、段階484及び486は、同時に又は逆の順番で実施されることができる。段階480及び482は、段階450及び452より先に、段階450及び452と同時に又は別の適切な時に実施されることができる。
図15は出口−入口ウェブを使用して経路を発見するための段階(図13に記載の段階462)を説明するフローチャートである。段階500において、本システムは前記起点タイルを読み取る。段階502において、本システムは前記起点自己ウェブを読み取る。段階504において、本システムは起点周辺ウェブを読み取る。段階502及び504の動作は、単一の段階に結合されることができることに留意されたい。段階506において、本システムは目的地タイルを読み取る。段階508において、本システムは目的地自己ウェブを読み取る。段階510において、本システムは目的地周辺ウェブを読み取る。段階512において、本システムは前記起点タイル及び前記目的地タイルに対する適切な出口−入口ウェブを読み取る。段階514において、本システムは起点から探査する。段階516において、本システムは目的地から探索する。段階518において、経路が形成される。
段階514は、図4に記載の処理を使用した経路調査、起点優先待ち行列(目的地優先待ち行列ではない)、起点タイル、起点自己ウェブ及び起点周辺ウェブを含む。段階516は、図4に記載の方法を使用した目的地からの探査、目的地優先待ち行列(起点優先待ち行列ではない)、目的地タイル、目的地周辺ウェブ、目的地自己ウェブ、及び起点及び目的地の対に対する出口−入口ウェブを利用することを含む。段階514及び516の探査は、それぞれの優先待ち行列が空になるまで、又は十分な(例えば10の)接続分岐点が発見されるまで継続することに留意されたい。段階518において形成された経路は、上述のように最善の接続分岐点を利用する経路である。さらに、図15に記載の段階は、異なる順番で実行されることができる;例えば、段階514及び516は逆の順番、又は同時に実行されることができる。データ読み取りの段階もまた、図13に記載の段階450乃至454より先に又はそれらと同時に実行されることができる。
図16は、近接しきい値内にある二つのタイルの間の経路を決定する段階(図13に記載の段階460)を説明するフローチャートである。段階540において、本システムは起点タイルを読み取る。段階542において、本システムは起点タイルに対する自己ウェブを読み取る。段階544において、本システムは目的地タイルを読み取る。段階546において、本システムは目的地タイルに対する自己ウェブを読み取る。段階548において、本システムは目的地タイルと起点タイルの対に対する近接過ぎウェブを読み取る。段階550において、本システムは起点から探査する。段階552において、本システムは目的地から探査する。段階554において、経路が形成される。
段階550における起点からの探査は、起点優先待ち行列(目的地優先待ち行列ではない)、起点タイル及び前記起点タイルに対する自己ウェブを使用して、図4に記載の処理を実行することを含む。段階552において、目的地から探査する段階は、目的地優先待ち行列(起点優先待ち行列ではない)、目的地タイル、目的地タイルに対する自己ウェブ、及び近接過ぎウェブを使用して、図4に記載の処理を実行することを含む。両方の探査は、前記優先待ち行列が空になるか又は十分な(例えば10の)な接続分岐点が発見されるまで継続する。段階554において形成された経路は、上述のように、最善の接続分岐点を通過することを含む。図14及び図15に記載の処理と同様に、図16に記載の段階は、図面において図示された以外の適切な順番によって実行されることができる。
本発明の説明のために上述された例は、道路の電子地図のためのものであるが、本発明はまた、ネットワークの適切なプロセッサ読み取り可能表示に対しても適用される。適切なネットワークは、製造処理のグラフ、協同一貫旅行計画(例えば航空機、鉄道、自動車、バス、等による地点間の旅行を表すグラフ)医学的治療を供給するためのシステム等を含む。例えば、前記ネットワークが製造処理を表す場合、前記分岐点は処理における決定点(すなわち、製造業者の製品を輸送するための駅、又は使用する半導体処理)を表してもよく、及び前記リンクは処理時間又は製造コストを表すことができる。
本発明の前述の詳細は、説明及び描写の目的で述べられた。本発明を、徹底的にし、又は開示された正確な形態に限定することを目的とはしておらず、及び、上述の教示の内容を鑑みて、多くの修正や変更が可能であることが明らかである。上述された実施形態は、本発明の理念及びそれによって他の当業者が、様々な実施形態で、且つ考慮される特定の使用に適した様々な変形とともに本発明を最大に利用することができるようにするためのその実践的な応用を、うまく説明するために選択された。本発明の範囲は、添付の特許請求の範囲によって定義されることを意図する。
なお、本発明の特徴を列挙すれば次の通りである。
1. 起点から目的地までネットワークのプロセッサ読み取り可能な表現における経路を決定する方法であって、前記ネットワークの前記プロセッサ読み取り可能な表現が1つ以上のタイルを包含している方法において、前記起点および前記目的地がただ1つのタイル内に位置しているかどうかを決定する段階と、前記起点および前記目的地が互いの近接閾値内の複数のタイル内に位置しているかどうかを決定する段階と、前記起点および前記目的地がただ1つのタイル内に位置している場合に第1セットの1つまたはそれ以上のウェブを使用して前記経路を決定するようにプロセッサで第1経路探査を実施する段階と、前記起点および前記目的地が互いの近接閾値内の複数のタイル内に位置する場合に第2セットの1つまたはそれ以上のウェブを使用して前記経路を決定するようにプロセッサで第2経路探査を実施する段階と、前記起点および前記目的地が互いの近接閾値内にない別々のタイル内に位置している場合に第3セットの1つまたはそれ以上のウェブを使用して前記経路を決定するようにプロセッサで第3経路探査を実施する段階と、前記経路を報告する段階とを包含することを特徴とする方法。
2. 請求項1による方法において、前記第1経路探査が少なくとも起点タイルおよび前記起点タイルと関連した第1自己ウェブを使用することを特徴とする方法。
3. 請求項2による方法において、第1経路探査を実施する前記階段が、前記起点タイル内部で前記起点から探査する段階と、前記起点タイルおよび前記第1自己ウェブ内で前記目的地から探査する段階とを包含することを特徴とする方法。
4. 請求項1による方法において、前記第2経路探査が、少なくとも起点タイル、この起点タイルと関連した第1自己ウェブ、目的地タイル、この目的地タイルと関連した第2自己ウェブおよび近接過ぎウェブを使用することを特徴とする方法。
5. 請求項4による方法において、第2経路探査を実施する前記階段が、前記起点タイルおよび前記第1自己ウェブを使用して前記起点から探査する段階と、前記目的地タイル、前記第2自己ウェブおよび前記近接過ぎウェブを使用して前記目的地から探査する段階とを包含することを特徴とする方法。
6. 請求項1による方法において、前記第3経路探査が、少なくとも起点タイル、この起点タイルと関連した第1近接ウェブ、目的地タイル、この目的地タイルと関連した第2近接ウェブおよび出口−入口ウェブを使用することを特徴とする方法。
7. 請求項6による方法において、前記第3経路探査が、付加的に、前記起点タイルと関連した第1自己ウェブおよび前記目的地タイルと関連した第2自己ウェブを使用し、前記第1自己ウェブのためのデータと前記第1近接ウェブのためのデータを組み合わせることを特徴とする方法。
8. 請求項1による方法において、前記第3経路探査が、起点タイル、この起点タイルと関連した第1自己ウェブ、前記起点タイルと関連した第1近接ウェブ、目的地タイル、この目的地タイルと関連した第2自己ウェブ、前記目的地タイルと関連した第2近接ウェブおよび出口−入口ウェブを使用することを特徴とする方法。
9. 請求項8による方法において、第3経路探査を実施する前記階段が、前記起点タイル、前記第1近接ウェブおよび前記第1自己ウェブを使用して前記起点から探査する段階と、前記目的地タイル、前記第2近接ウェブ、前記第2自己ウェブおよび前記出口−入口ウェブを使用して前記目的地から探査する段階とを包含することを特徴とする方法。
10. 請求項9による方法において、前記目的地から探査する前記階段が、優先順位待ち行列が空になるまで行われることを特徴とする方法。
11. 請求項8による方法において、第3経路探査を実施する前記段階が、前記経路を構築する段階を包含することを特徴とする方法。
12. 請求項1による方法において、さらに、前記起点の指標を受け取る段階と、前記目的地の指標を受け取る段階とを包含することを特徴とする方法。
13. 請求項1による方法において、ネットワークの前記プロセッサ読み取り可能な表現が電子地図であることを特徴とする方法。
14. 請求項1による方法において、前記第1経路探査が少なくとも起点タイルおよびこの起点タイルと関連した第1自己ウェブを使用し、前記第2経路探査が、少なくとも起点タイル、この起点タイルと関連した第1自己ウェブ、目的地タイル、この目的地タイルと関連した第2自己ウェブおよび近接過ぎウェブを使用し、前記第3経路探査が、少なくとも起点タイル、この起点タイルと関連した第1自己ウェブ、前記起点タイルと関連した第1近接ウェブ、目的地タイル、この目的地タイルと関連した第2自己ウェブ、前記目的地タイルと関連した第2近接ウェブおよび出口−入口ウェブを使用することを特徴とする方法。
15. 請求項14による方法において、さらに、前記起点の指標を受け取る段階と、前記目的地の指標を受け取る段階を包含することを特徴とする方法。
16. 起点から目的地までの電子道路地図における経路を決定する方法であって、前記電子地図が1つ以上のタイルを包含しており、前記起点を表現するデータが電子地図における第1タイルの部分である方法において、少なくとも前記第1タイルのためのデータを読み込む段階と、前記目的地が前記第1タイル内にない場合に少なくとも第2タイルのためのデータを読み込む段階と、前記目的地が前記第2タイル内にある場合および前記第1タイルが前記第2タイルの近接閾値内にない場合に少なくとも出口−入口ウェブ、第1近接ウェブのためのデータおよび第2近接ウェブのためのデータを読み込む段階と、前記目的地が前記第1タイル内にある場合に少なくとも第1自己ウェブのためのデータを読み込む段階と、前記目的地が第2タイル内にあり、前記第1タイルが前記第2タイルの近接閾値内にある場合に第1自己ウェブ、第2自己ウェブのためのデータおよび近接過ぎウェブのためのデータを読み込む段階と、プロセッサおよび少なくとも読み込んだ前記データを使用して1つ以上の経路探査を実施する段階と、前記経路を報告する段階とを包含することを特徴とする方法。
17. 起点から目的地までの電子地図における経路を決定するプロセッサを使用する方法であって、前記電子地図が1つ以上のタイルを包含している方法において、前記起点および前記目的地がただ1つのタイル内に位置するかどうかを決定する段階と、前記起点および前記目的地が互いの近接閾値内のタイル内に位置するかどうかを決定する段階と、前記起点および前記目的地が互いの近接閾値内にない別々のタイル内に位置する場合に前記経路を決定するように、1つ以上のウェブを使用して、経路探査を実施する段階であり、少なくとも起点タイル、この起点タイルと関連した第1近接ウェブ、目的地タイル、この目的地タイルと関連した第2近接ウェブおよび出口−入口ウェブを使用する段階と、前記経路を報告する段階とを包含することを特徴とする方法。
18. 請求項17による方法において、経路探査を実施する前記階段が、前記起点から前記第1近接ウェブへの経路を決定する段階と、前記第2近接ウェブから前記目的地への経路を決定する段階と、前記第1近接ウェブから前記第2近接ウェブへの経路を決定する段階とを包含することを特徴とする方法。
19. 起点から目的地までの電子地図における経路を決定する方法であり、前記電子地図がタイルに分割されたデータを包含している段階に置いて、前記起点および前記目的地が1セットの境界ノードを包含する第1タイル内にあることを決定する段階と、前記第1タイルのためのデータを読み込む段階と、前記第1タイルと関連した第1自己ウェブのためのデータを読み込む段階と、プロセッサを使用し、前記第1タイルのための前記データおよび前記自己ウェブのための前記データを使用して前記起点から前記目的地までを探査し、前記起点から前記目的地までの経路を決定する段階と、前記経路を報告する段階とを包含することを特徴とする方法。
20. 請求項19による方法において、さらに、前記電子地図における起点の指標を受け取る段階と、前記電子地図における目的地の指標を受け取る段階とを包含することを特徴とする方法。
21. 請求項19による方法において、前記探査階段が、前記起点からの第1探査および前記目的地からの第2探査を包含することを特徴とする方法。
22. 請求項21による方法において、前記第1探査が前記第1タイルのための前記データを使用し、前記第2探査が前記第1タイルのための前記データおよび前記第1自己ウェブのための前記データを使用することを特徴とする方法。
23. プロセッサ読み取り可能なコードを具体化したプロセッサ読み取り可能な記憶媒体であり、前記プロセッサ読み取り可能コードがプロセッサをプログラミングして次の方法を実施させ得るものであるプロセッサ読み取り可能な記憶媒体であって、この方法が、前記起点および前記目的地がただ1つのタイル内に位置するかどうかを決定する段階と、前記起点および前記目的地が互いの近接閾値内の複数のタイル内に位置するかどうかを決定する段階と、前記起点および前記目的地がただ1つのタイル内に位置する場合に第1セットの1つ以上のウェブを使用して前記経路を決定するようにプロセッサで第1経路探査を実施する段階と、前記起点および前記目的地が互いの近接閾値内の複数のタイル内に位置する場合に第2セットの1つ以上のウェブを使用して前記経路を決定するようにプロセッサで第2経路探査を実施する段階と、前記起点および前記目的地が互いの近接閾値内にない別々のタイル内に位置する場合に第3セットの1つ以上のウェブを使用して前記経路を決定するようにプロセッサで第3経路探査を実施する段階とを包含することを特徴とするプロセッサ読み取り可能な記憶媒体。
24. 請求項23によるプロセッサ読み取り可能な記憶媒体において、前記方法が、前記経路を報告する段階を包含することを特徴とするプロセッサ読み取り可能な記憶媒体。
25. 請求項23によるプロセッサ読み取り可能な記憶媒体において、前記第1経路探査が、少なくとも起点タイルおよび前記起点タイルと関連した第1自己ウェブを使用することを特徴とするプロセッサ読み取り可能な記憶媒体。
26. 請求項25によるプロセッサ読み取り可能な記憶媒体において、第1経路探査を実施する前記階段が、前記起点タイル内部で前記起点から探査する段階と、前記起点タイルおよび前記第1自己ウェブ内で前記目的地から探査する段階とを包含することを特徴とするプロセッサ読み取り可能な記憶媒体。
27. 請求項23によるプロセッサ読み取り可能な記憶媒体において、前記第2経路探査が、少なくとも起点タイル、この起点タイルと関連した第1自己ウェブ、目的地タイル、この目的地タイルと関連した第2自己ウェブおよび近接過ぎウェブを使用することを特徴とするプロセッサ読み取り可能な記憶媒体。
28. 請求項23によるプロセッサ読み取り可能な記憶媒体において、前記第3経路探査が、少なくとも起点タイル、この起点タイルと関連した第1近接ウェブ、目的地タイル、前記目的地タイルと関連した第2近接ウェブおよび出口−入口ウェブを使用することを特徴とするプロセッサ読み取り可能な記憶媒体。
29. 請求項28によるプロセッサ読み取り可能な記憶媒体において、第3経路探査を実施する前記階段が、少なくとも前記起点タイル、前記第1近接ウェブを使用して前記起点から探査する段階と、少なくとも前記目的地タイル、前記第2近接ウェブおよび前記出口−入口ウェブを使用して前記目的地から探査する段階とを包含することを特徴とするプロセッサ読み取り可能な記憶媒体。
30. 請求項23によるプロセッサ読み取り可能な記憶媒体において、ネットワークの前記プロセッサ読み取り可能な表現が電子地図であることを特徴とするプロセッサ読み取り可能な記憶媒体。
31. プロセッサ読み取り可能なコードを具体化したプロセッサ読み取り可能な記憶媒体であり、前記プロセッサ読み取り可能コードが、プロセッサをプログラミングして、起点から目的地までの電子地図における経路を決定する方法を実施するようになっており、前記電子地図が複数のタイルを包含しているプロセッサ読み取り可能な記憶媒体において、前記方法が、前記起点および前記目的地がただ1つのタイル内に位置するかどうかを決定する段階と、前記起点および前記目的地が互いの近接閾値内の複数のタイル内に位置するかどうかを決定する段階と、前記起点および前記目的地が互いの近接閾値内にない別々のタイル内に位置する場合に前記経路を決定するように、1つ以上のウェブを使用して経路探査を実施する段階であり、少なくとも起点タイル、この起点タイルと関連した第1近接ウェブ、目的地タイル、この目的地タイルと関連した第2近接ウェブおよび出口−入口ウェブを使用する階段と、前記経路を報告する段階とを包含することを特徴とするプロセッサ読み取り可能な記憶媒体。
32. 起点から目的地までの電子地図における経路を決定する装置であって、前記電子地図が1つ以上のタイルを包含している装置において、出力装置と、この出力装置と連絡するプロセッサと、コードを記憶するためのプロセッサ読み取り可能な記憶媒体であり、前記プロセッサと連絡するプロセッサ読み取り可能な記憶媒体とを包含し、前記コードが、前記プロセッサをプログラミングして以下の段階を実施することができるようになっており、諸段階が、前記起点および前記目的地がただ1つのタイル内に位置するかどうかを決定する段階と、前記起点および前記目的地が互いの近接閾値内の複数のタイル内に位置するかどうかを決定する段階と、前記起点および前記目的地がただ1つのタイル内に位置する場合に第1セットの1つ以上のウェブを使用して前記経路を決定するようにプロセッサで第1経路探査を実施する段階と、前記起点および前記目的地が互いの近接閾値内の複数のタイル内に位置する場合に第2セットの1つ以上のウェブを使用して前記経路を決定するようにプロセッサで第2経路探査を実施する段階と、前記起点および前記目的地が互いの近接閾値内にない別々のタイル内に位置している場合に第3セットの1つ以上のウェブを使用して前記経路を決定するようにプロセッサで第3経路探査を実施する段階と、前記経路を報告する段階とを包含することを特徴とする装置。
33. 請求項32による装置において、前記第1経路探査が、少なくとも起点タイルおよびこの起点タイルと関連した第1自己ウェブを使用することを特徴とする装置。
34. 請求項32による装置において、前記第2経路探査が、少なくとも起点タイル、この起点タイルと関連した第1自己ウェブ、目的地タイル、この目的地タイルと関連した第2自己ウェブおよび近接過ぎウェブを使用することを特徴とする装置。
35. 請求項32による装置において、前記第3経路探査が、少なくとも起点タイル、この起点タイルと関連した第1近接ウェブ、目的地タイル、この目的地タイルと関連した第2近接ウェブおよび出口−入口ウェブを使用することを特徴とする装置。
36. 起点から目的地までの電子地図における経路を決定するのにプロセッサを使用する方法であり、前記電子地図が1つ以上のタイルを包含している方法において、前記起点および前記目的地が互いの近接閾値内の複数のタイル内に位置しているかどうかを決定する段階と、少なくとも起点タイル、近接過ぎウェブおよび目的地タイルを使用して前記経路を決定するように1つ以上のウェブを使用して経路探査を実施する段階と、前記経路を報告する段階とを包含することを特徴とする方法。
37. 請求項36による方法において、経路探査を実施する前記段階が、付加的に、前記起点タイルと関連した第1自己ウェブおよび前記目的地タイルと関連した第2自己ウェブを使用し、経路探査を実施する前記階段が、前記起点タイルおよび前記第1自己ウェブを使用して前記起点から探査する段階と、前記目的地タイル、前記第2自己ウェブおよび前記近接過ぎウェブを使用して前記目的地から探査する段階とを包含することを特徴とする方法。
38. 起点から目的地までの電子地図における経路を決定するのにプロセッサを使用する方法であり、前記電子地図が1つ以上のタイルを包含している方法において、少なくとも第1タイル、事前計算された経路の第1ウェブおよび事前計算された経路の第2ウェブのためのデータを読み込む段階であり、前記起点が前記第1タイル内にある段階と、前記起点から前記目的地までの前記経路を見つけるように経路発見探査を実施する段階で、前記経路が、前記第1タイル、前記第1ウェブおよび前記第2ウェブ内を横切っている段階と、前記経路を報告する段階とを包含することを特徴とする方法。
図1は、本発明を実施するのに使用され得る1つの原型ハードウェア・アーキテクチャのブロック図である。 図2Aは、電子地図の一部を表現している有向グラフの1例である。 図2Bは、電子地図の一部を表現している有向グラフの第2の例である。 図3は、ネットワークの1例である。 図4は、経路発見探査を実施する第1方法を記載しているフローチャートである。 図5は、経路発見探査を実施する第2方法を記載しているフローチャートである。 図6は、図3のネットワークをどのようにしてタイルに分割肢得るかを示す1例である。 図7は、出口−入口ウェブを示す。 図8は、周辺ウェブを示す。 図9は、自己ウェブを示す。 図10は、近接過ぎウェブを示す。 図11は、出口ノードを決定する方法を記載しているフローチャートである。 図12は、周辺ウェブを創作する方法を記載しているフローチャートである。 図13は、経路を決定する方法を記載しているフローチャートである。 図14は、図13のステップ456を記載しているフローチャートである。 図15は、図13のステップ462を記載しているフローチャートである。 図16は、図13のステップ460を記載しているフローチャートである。

Claims (12)

  1. 起点から目的地までの電子道路地図における経路をプロセッサにより決定する方法であって、前記電子地図が1つ以上のタイルを包含し、該方法が、プロセッサにより実行される段階であって、
    前記起点と前記目的地が、(1)ただ1つのタイル内に位置するか、(2)互いの近接しきい値内の複数のタイル内に位置するか、(3)ただ1つのタイル内にも、互いの近接しきい値内の複数のタイル内にも位置しないか、どうかを決定する段階と、
    前記(1)の場合、少なくとも起点が位置するタイルである起点タイルと、該起点タイルに関連した第1自己ウェブを使用し、
    前記(2)の場合、少なくとも起点タイルと、該起点タイルに関連した第1自己ウェブと、目的地が位置するタイルである目的地タイルと該目的地タイルに関連した第2自己ウェブと、近接過ぎウェブと、を使用し、
    前記(3)の場合、少なくとも起点タイルと、該起点タイルに関連した第1自己ウェブと、該起点タイルに関連した第1周辺ウェブと、目的地タイルと該目的地タイルに関連した第2自己ウェブと、該目的地タイルに関連した第2周辺ウェブと、出口−入口ウェブと、を使用し、
    前記経路を決定するように経路探査を実施する段階と、
    前記経路を報告する段階と、を有し、
    前記近接過ぎウェブは、予め計算された経路であって、起点タイルの境界ノードと目的地タイルの境界ノード間の予め計算された経路の一部を含み、
    前記出口−入口ウェブは、予め計算された経路であって、前記起点タイルの出口ノードから前記目的地タイルの入口ノードまでの予め計算された経路を含
    タイルの前記境界ノードは、当該タイルの外側にあるノードとのリンクを有する当該タイル内のノードであり、
    タイルに関連する前記自己ウェブは、当該タイル内の境界ノード間の予め計算された経路の一部を含み、かつ当該タイルの外側を通る経路を含み、
    タイルの前記出口ノードは、当該タイルを出る経路上の、当該タイルを出た後に通るノードであり、
    タイルの前記入口ノードは、当該タイルに入る経路上の、当該タイルに入る途中で通るノードであり、
    タイルに関連する前記周辺ウェブは、前記境界ノードと、前記入口ノード又は前記出口ノードとの間の予め計算された経路を含む、方法。
  2. 少なくとも起点タイルと該起点タイルに関連した第1自己ウェブを使用して経路探査を実施する前記段階が、
    前記起点タイル内部で前記起点から探査する段階と、
    前記起点タイルおよび前記第1自己ウェブ内で前記目的地から探査する段階と、を有する請求項1の方法。
  3. 少なくとも起点タイルと該起点タイルに関連した第1自己ウェブと、目的地タイルと該目的地タイルに関連した第2自己ウェブと近接過ぎウェブとを使用して経路探査を実施する前記段階が、
    前記起点タイルおよび前記第1自己ウェブを使用して前記起点から探査する段階と、
    前記目的地タイル、前記第2自己ウェブおよび前記近接過ぎウェブを使用して前記目的地から探査する段階と、
    を有する請求項1の方法。
  4. 少なくとも起点タイルと該起点タイルに関連した第1自己ウェブと、該起点タイルに関連した第1周辺ウェブと、目的地タイルと該目的地タイルに関連した第2自己ウェブと、該目的地タイルに関連した第2周辺ウェブと出口−入口ウェブとを使用する経路探査において、
    前記第1自己ウェブのためのデータと前記第1周辺ウェブのためのデータを組み合わせる、
    請求項1の方法。
  5. 少なくとも起点タイルと該起点タイルに関連した第1自己ウェブと、該起点タイルに関連した第1周辺ウェブと、目的地タイルと該目的地タイルに関連した第2自己ウェブと、該目的地タイルに関連した第2周辺ウェブと出口−入口ウェブとを使用して経路探査を実施する前記段階が、
    前記起点タイル、前記第1周辺ウェブおよび前記第1自己ウェブを使用して前記起点から探査する段階と、
    前記目的地タイル、前記第2周辺ウェブ、前記第2自己ウェブおよび前記出口−入口ウェブを使用して前記目的地から探査する段階と、
    を有する請求項4の方法。
  6. 更に、前記起点の指定を受け取る段階と、
    前記目的地の指定を受け取る段階と、
    を有する請求項1の方法。
  7. プロセッサ読み取り可能なコードを具体化したプロセッサ読み取り可能な記憶媒体であり、前記プロセッサ読み取り可能コードがプロセッサをプログラミングして次の方法を実施させ得るものであるプロセッサ読み取り可能な記憶媒体であって、この方法が、
    起点から目的地までの電子道路地図における経路をプロセッサにより決定する方法であって、前記電子地図が1つ以上のタイルを包含し、該方法が、プロセッサにより実行される段階であって、
    前記起点と前記目的地が、(1)ただ1つのタイル内に位置するか、(2)互いの近接しきい値内の複数のタイル内に位置するか、(3)ただ1つのタイル内にも、互いの近接しきい値内の複数のタイル内にも位置しないか、どうかを決定する段階と、
    前記(1)の場合、少なくとも起点が位置するタイルである起点タイルと、該起点タイルに関連した第1自己ウェブを使用し、
    前記(2)の場合、少なくとも起点タイルと、該起点タイルに関連した第1自己ウェブと、目的地が位置するタイルである目的地タイルと該目的地タイルに関連した第2自己ウェブと、近接過ぎウェブと、を使用し、
    前記(3)の場合、少なくとも起点タイルと、該起点タイルに関連した第1自己ウェブと、該起点タイルに関連した第1周辺ウェブと、目的地タイルと該目的地タイルに関連した第2自己ウェブと、該目的地タイルに関連した第2周辺ウェブと、出口−入口ウェブと、を使用し、
    前記経路を決定するように経路探査を実施する段階と、
    前記経路を報告する段階と、を有し、
    前記近接過ぎウェブは、予め計算された経路であって、起点タイルの境界ノードと目的地タイルの境界ノード間の予め計算された経路の一部を含み、
    前記出口−入口ウェブは、予め計算された経路であって、前記起点タイルの出口ノードから前記目的地タイルの入口ノードまでの予め計算された経路を含
    タイルの前記境界ノードは、当該タイルの外側にあるノードとのリンクを有する当該タイル内のノードであり、
    タイルに関連する前記自己ウェブは、当該タイル内の境界ノード間の予め計算された経路の一部を含み、かつ当該タイルの外側を通る経路を含み、
    タイルの前記出口ノードは、当該タイルを出る経路上の、当該タイルを出た後に通るノードであり、
    タイルの前記入口ノードは、当該タイルに入る経路上の、当該タイルに入る途中で通るノードであり、
    タイルに関連する前記周辺ウェブは、前記境界ノードと、前記入口ノード又は前記出口ノードとの間の予め計算された経路を含む、プロセッサ読み取り可能な記憶媒体。
  8. 少なくとも起点タイルと該起点タイルに関連した第1自己ウェブを使用して経路探査を実施する前記段階が、
    前記起点タイル内部で前記起点から探査する段階と、
    前記起点タイルおよび前記第1自己ウェブ内で前記目的地から探査する段階と、を有する請求項のプロセッサ読み取り可能な記憶媒体。
  9. 少なくとも起点タイルと該起点タイルに関連した第1自己ウェブと、目的地タイルと該目的地タイルに関連した第2自己ウェブと近接過ぎウェブとを使用して経路探査を実施する前記段階が、
    前記起点タイルおよび前記第1自己ウェブを使用して前記起点から探査する段階と、
    前記目的地タイル、前記第2自己ウェブおよび前記近接過ぎウェブを使用して前記目的地から探査する段階と、
    を有する請求項のプロセッサ読み取り可能な記憶媒体。
  10. 少なくとも起点タイルと該起点タイルに関連した第1自己ウェブと、該起点タイルに関連した第1周辺ウェブと、目的地タイルと該目的地タイルに関連した第2自己ウェブと、該目的地タイルに関連した第2周辺ウェブと出口−入口ウェブとを使用する経路探査において、
    前記第1自己ウェブのためのデータと前記第1周辺ウェブのためのデータを組み合わせる、
    請求項のプロセッサ読み取り可能な記憶媒体。
  11. 少なくとも起点タイルと該起点タイルに関連した第1自己ウェブと、該起点タイルに関連した第1周辺ウェブと、目的地タイルと該目的地タイルに関連した第2自己ウェブと、該目的地タイルに関連した第2周辺ウェブと出口−入口ウェブとを使用して経路探査を実施する前記段階が、
    前記起点タイル、前記第1周辺ウェブおよび前記第1自己ウェブを使用して前記起点から探査する段階と、
    前記目的地タイル、前記第2周辺ウェブ、前記第2自己ウェブおよび前記出口−入口ウェブを使用して前記目的地から探査する段階と、
    を有する請求項10のプロセッサ読み取り可能な記憶媒体。
  12. 起点から目的地までの電子道路地図における経路を決定する装置であって、前記電子地図が1つ以上のタイルを包含している装置において、
    出力装置と、
    この出力装置と連絡するプロセッサと、
    コードを記憶するためのプロセッサ読み取り可能な記憶媒体であり、前記プロセッサと連絡するプロセッサ読み取り可能な記憶媒体と、を包含し、
    前記コードが、前記プロセッサをプログラミングして以下の段階を実施することができるようになっており、該段階が、プロセッサにより実行される段階であって、
    前記起点と前記目的地が、(1)ただ1つのタイル内に位置するか、(2)互いの近接しきい値内の複数のタイル内に位置するか、(3)ただ1つのタイル内にも、互いの近接しきい値内の複数のタイル内にも位置しないか、どうかを決定する段階と、
    前記(1)の場合、少なくとも起点が位置するタイルである起点タイルと、該起点タイルに関連した第1自己ウェブを使用し、
    前記(2)の場合、少なくとも起点タイルと、該起点タイルに関連した第1自己ウェブと、目的地が位置するタイルである目的地タイルと該目的地タイルに関連した第2自己ウェブと、近接過ぎウェブと、を使用し、
    前記(3)の場合、少なくとも起点タイルと、該起点タイルに関連した第1自己ウェブと、該起点タイルに関連した第1周辺ウェブと、目的地タイルと該目的地タイルに関連した第2自己ウェブと、該目的地タイルに関連した第2周辺ウェブと、出口−入口ウェブと、を使用し、
    前記経路を決定するように経路探査を実施する段階と、
    前記経路を報告する段階と、を有し、
    前記近接過ぎウェブは、予め計算された経路であって、起点タイルの境界ノードと目的地タイルの境界ノード間の予め計算された経路の一部を含み、
    前記出口−入口ウェブは、予め計算された経路であって、前記起点タイルの出口ノードから前記目的地タイルの入口ノードまでの予め計算された経路を含
    タイルの前記境界ノードは、当該タイルの外側にあるノードとのリンクを有する当該タイル内のノードであり、
    タイルに関連する前記自己ウェブは、当該タイル内の境界ノード間の予め計算された経路の一部を含み、かつ当該タイルの外側を通る経路を含み、
    タイルの前記出口ノードは、当該タイルを出る経路上の、当該タイルを出た後に通るノードであり、
    タイルの前記入口ノードは、当該タイルに入る経路上の、当該タイルに入る途中で通るノードであり、
    タイルに関連する前記周辺ウェブは、前記境界ノードと、前記入口ノード又は前記出口ノードとの間の予め計算された経路を含む、装置。
JP2009013203A 1998-02-13 2009-01-23 経路発見システム Expired - Lifetime JP4705176B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/023,504 US6016485A (en) 1998-02-13 1998-02-13 System for pathfinding
US09/023,504 1998-02-13

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000531803A Division JP2002503817A (ja) 1998-02-13 1999-02-08 経路発見システム

Publications (2)

Publication Number Publication Date
JP2009156873A JP2009156873A (ja) 2009-07-16
JP4705176B2 true JP4705176B2 (ja) 2011-06-22

Family

ID=21815477

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000531803A Pending JP2002503817A (ja) 1998-02-13 1999-02-08 経路発見システム
JP2009013203A Expired - Lifetime JP4705176B2 (ja) 1998-02-13 2009-01-23 経路発見システム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2000531803A Pending JP2002503817A (ja) 1998-02-13 1999-02-08 経路発見システム

Country Status (8)

Country Link
US (1) US6016485A (ja)
EP (1) EP1062616B1 (ja)
JP (2) JP2002503817A (ja)
AT (1) ATE347712T1 (ja)
AU (1) AU2662199A (ja)
CA (1) CA2320159C (ja)
DE (1) DE69934301T2 (ja)
WO (1) WO1999041692A1 (ja)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US6073076A (en) * 1998-03-27 2000-06-06 Navigation Technologies Corporation Memory management for navigation system
US6259988B1 (en) * 1998-07-20 2001-07-10 Lockheed Martin Corporation Real-time mission adaptable route planner
US6885937B1 (en) * 1998-12-10 2005-04-26 Tele Atlas North America, Inc. Shortcut generator
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
WO2000072225A1 (en) * 1999-05-21 2000-11-30 Etak, Inc. Computing sign text for branches of an electronic map network
US7428525B1 (en) 1999-11-12 2008-09-23 Tele Atlas North America, Inc. Virtual street addressing radius
US6826472B1 (en) * 1999-12-10 2004-11-30 Tele Atlas North America, Inc. Method and apparatus to generate driving guides
US6480785B1 (en) 2000-09-06 2002-11-12 Vindigo, Inc. System for determining a route and presenting navigational instructions therefor
WO2002069100A2 (en) * 2001-02-26 2002-09-06 Alk Technologies, Inc. Thin-client navigation and route guidance system
US6477460B2 (en) * 2001-02-27 2002-11-05 Metro One Telecommunications, Inc. Process and system for the annotation of machine-generated directions with easily recognized landmarks and other relevant information
US20030074226A1 (en) * 2001-10-15 2003-04-17 Chris Rostron Actuarial data processing system and an actuarial method
US8620777B2 (en) * 2001-11-19 2013-12-31 Hewlett-Packard Development Company, L.P. Methods, software modules and software application for logging transaction-tax-related transactions
US20050131805A1 (en) * 2001-11-19 2005-06-16 Wolfgang Bross Software interface, method and computer program product product for linking a business application to a component of a computer-based transaction tax processing system
US6545637B1 (en) 2001-12-20 2003-04-08 Garmin, Ltd. Systems and methods for a navigational device with improved route calculation capabilities
US6892135B1 (en) 2001-12-21 2005-05-10 Garmin Ltd. Navigation system, method and device with automatic next turn page
US6847890B1 (en) 2001-12-21 2005-01-25 Garmin Ltd. Guidance with feature accounting for insignificant roads
US7277794B1 (en) 2001-12-21 2007-10-02 Garmin Ltd. Guidance with feature accounting for insignificant roads
US7221287B2 (en) 2002-03-05 2007-05-22 Triangle Software Llc Three-dimensional traffic report
US20040006424A1 (en) * 2002-06-28 2004-01-08 Joyce Glenn J. Control system for tracking and targeting multiple autonomous objects
US8649975B2 (en) * 2002-08-29 2014-02-11 Mapquest, Inc. Automated route determination
US20040044465A1 (en) * 2002-08-29 2004-03-04 Nesbitt David W. Automated route determination based on day of route traversal
US7133771B1 (en) 2002-08-29 2006-11-07 America Online, Inc. Automated route determination to avoid a particular maneuver
US7474960B1 (en) 2002-12-30 2009-01-06 Mapquest, Inc. Presenting a travel route
US7321824B1 (en) 2002-12-30 2008-01-22 Aol Llc Presenting a travel route using more than one presentation style
US7818116B1 (en) 2002-12-30 2010-10-19 Mapquest, Inc. Presenting a travel route in a ground-based vehicle
SG119169A1 (en) * 2003-01-20 2006-02-28 Nanyang Polytechnic Path searching system using multiple groups of cooperating agents and method thereof
WO2005013063A2 (en) 2003-07-25 2005-02-10 Landsonar, Inc. System and method for determining recommended departure time
US20050134504A1 (en) * 2003-12-22 2005-06-23 Lear Corporation Vehicle appliance having hands-free telephone, global positioning system, and satellite communications modules combined in a common architecture for providing complete telematics functions
RU2007104707A (ru) 2004-07-09 2008-08-20 Аол Ллк (Us) Устранение неоднозначности неоднозначных символов
US7315844B2 (en) * 2004-10-08 2008-01-01 International Business Machines Corporation System, method and program to estimate cost of a product and/or service
US7908080B2 (en) 2004-12-31 2011-03-15 Google Inc. Transportation routing
US20060235610A1 (en) * 2005-04-14 2006-10-19 Honeywell International Inc. Map-based trajectory generation
KR101165311B1 (ko) * 2005-07-13 2012-07-18 엔에이치엔(주) 다면적인 관계 설정을 촉진하기 위한 온라인상 휴먼네트워크 관리 시스템 및 방법
ATE527518T1 (de) 2005-11-09 2011-10-15 Harman Becker Automotive Sys Bestimmung einer optimalen route mit karten- kacheln
US20080167802A1 (en) * 2005-12-07 2008-07-10 Mototaka Yoshioka Route information display device and route information display method
CN101430208B (zh) * 2005-12-07 2011-09-14 松下电器产业株式会社 路线信息显示装置以及路线信息显示方法
JP2007280000A (ja) * 2006-04-06 2007-10-25 Hitachi Ltd 人脈分析検索方法及び人脈分析検索システム
EP1867952B1 (en) * 2006-06-13 2009-12-09 Harman/Becker Automotive Systems GmbH Optimum route determination employing an estimation function
US9448081B2 (en) * 2008-06-24 2016-09-20 Tomtom North America, Inc. Methods and systems for dynamically adaptive road network hierarchy and routing
DE102009014978A1 (de) * 2008-10-10 2010-04-29 Eads Deutschland Gmbh Rechenzeiteffiziente Routenbestimmung entlang mehrerer vorgegebener Wegpunkte mit dazwischenliegenden gegebenen Verbindungsstrecken
KR101179299B1 (ko) * 2008-12-03 2012-09-03 한국전자통신연구원 시분할 접속을 이용한 메쉬 센서 네트워크에서 모니터링 응용을 위한 저전력 센서 노드 및 이의 라우팅 방법
US9046924B2 (en) * 2009-03-04 2015-06-02 Pelmorex Canada Inc. Gesture based interaction with traffic data
US8982116B2 (en) * 2009-03-04 2015-03-17 Pelmorex Canada Inc. Touch screen based interaction with traffic data
US8619072B2 (en) 2009-03-04 2013-12-31 Triangle Software Llc Controlling a three-dimensional virtual broadcast presentation
US8150620B2 (en) * 2009-04-14 2012-04-03 Alpine Electronics, Inc. Route search method and apparatus for navigation system utilizing map data of XML format
US9257042B2 (en) 2010-03-11 2016-02-09 Inrix, Inc. Learning road feature delay times based on aggregate driver behavior
CN102262687B (zh) * 2010-05-29 2013-07-24 比亚迪股份有限公司 一种线束网络中的路径查找方法和线长计算方法
CA2823827C (en) 2010-11-14 2018-08-28 Triangle Software Llc Crowd sourced traffic reporting
US8738559B2 (en) * 2011-01-24 2014-05-27 Microsoft Corporation Graph partitioning with natural cuts
JP5785415B2 (ja) * 2011-03-29 2015-09-30 株式会社デンソーアイティーラボラトリ 経路案内生成装置、方法及びシステム
EP2710571B1 (en) 2011-05-18 2019-11-20 Muddy River, Series 97 of Allied Security Trust 1 System for providing traffic data and driving efficiency data
US8548738B1 (en) * 2011-07-08 2013-10-01 Google Inc. Constructing paths based on a particle model
WO2013113029A1 (en) 2012-01-27 2013-08-01 Triangle Software, Llc Estimating time travel distributions on signalized arterials
US10223909B2 (en) 2012-10-18 2019-03-05 Uber Technologies, Inc. Estimating time travel distributions on signalized arterials
WO2016184501A1 (en) * 2015-05-19 2016-11-24 Fleetmatics Development Limited System and method for accelerating route search
US10060753B2 (en) * 2016-08-17 2018-08-28 Apple Inc. On-demand shortcut computation for routing
US10018476B2 (en) 2016-08-17 2018-07-10 Apple Inc. Live traffic routing
IL253769B (en) 2017-07-31 2022-03-01 Israel Aerospace Ind Ltd Planning a path in motion
CN110543728B (zh) * 2019-09-05 2023-03-21 大连理工大学 一种城市交通路网关键路口发现方法
WO2021090971A1 (ko) * 2019-11-06 2021-05-14 엘지전자 주식회사 경로 제공 장치 및 그것의 경로 제공 방법
US11725954B2 (en) * 2020-08-07 2023-08-15 Waymo Llc Pre-computing routes for autonomous vehicles using map shards
CN113902002B (zh) * 2021-09-30 2022-11-04 北京百度网讯科技有限公司 用于训练站点出入口确定模型的方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07110238A (ja) * 1993-10-08 1995-04-25 Sumitomo Electric Ind Ltd 経路計算装置
JPH09218047A (ja) * 1996-02-08 1997-08-19 Mitsubishi Electric Corp 車両経路算出装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4796191A (en) * 1984-06-07 1989-01-03 Etak, Inc. Vehicle navigational system and method
US4914605A (en) * 1984-10-22 1990-04-03 Etak, Inc. Apparatus and method for displaying a map
US5031093A (en) * 1986-12-22 1991-07-09 Nec Corporation System for establishing route by selecting minimum of time-independent link parameters of incremental values
DE3719017A1 (de) * 1987-06-06 1988-12-15 Bosch Gmbh Robert Verfahren und vorrichtung zur bestimmung einer fahrtroute zwischen einem startpunkt und einem zielpunkt
EP0346492B1 (en) * 1987-12-28 1995-05-03 Aisin Aw Co., Ltd. Route search method for navigation system
US5170353A (en) * 1988-11-17 1992-12-08 U.S. Philips Corporation Bucket-oriented route planning method, and navigation system comprising a route planner for carrying out such a method
DE69129892T2 (de) * 1990-11-09 1999-03-18 Sumitomo Electric Industries Vorrichtung für eine günstige Route-Auswahl
US5274560A (en) * 1990-12-03 1993-12-28 Audio Navigation Systems, Inc. Sensor free vehicle navigation system utilizing a voice input/output interface for routing a driver from his source point to his destination point
US5592389A (en) * 1990-12-03 1997-01-07 Ans, Llp Navigation system utilizing audio CD player for data storage
JP2874397B2 (ja) * 1991-03-19 1999-03-24 松下電器産業株式会社 経路選出装置
US5285391A (en) * 1991-08-05 1994-02-08 Motorola, Inc. Multiple layer road memory storage device and route planning system
JP2771911B2 (ja) * 1991-08-09 1998-07-02 三菱電機株式会社 車載用ナビゲーション装置
US5311195A (en) * 1991-08-30 1994-05-10 Etak, Inc. Combined relative and absolute positioning method and apparatus
JP3289375B2 (ja) * 1993-03-24 2002-06-04 株式会社デンソー 車体速度推定装置及び推定車体速度を用いたタイヤ状態検知装置
JP3027899B2 (ja) * 1993-05-12 2000-04-04 松下電器産業株式会社 推奨経路案内装置
JPH0727568A (ja) * 1993-07-09 1995-01-27 Zanabui Informatics:Kk 経路誘導装置および経路探索方法
DE69331054T2 (de) * 1993-07-30 2002-06-20 Ibm Verfahren und Gerät zur automatischen Verteilung einer Netztopologie in Haupt- und Nebentopologie
US5557522A (en) * 1993-09-10 1996-09-17 Nissan Motor Co., Ltd. Apparatus and method for guiding vehicle occupant to travel from present position of vehicle to set destination through display unit
EP0660569A1 (en) * 1993-12-22 1995-06-28 International Business Machines Corporation Method and system for improving the processing time of the path selection in a high speed packet switching network
US5485455A (en) * 1994-01-28 1996-01-16 Cabletron Systems, Inc. Network having secure fast packet switching and guaranteed quality of service
US5706503A (en) * 1994-05-18 1998-01-06 Etak Inc Method of clustering multi-dimensional related data in a computer database by combining the two verticles of a graph connected by an edge having the highest score
JP3374208B2 (ja) * 1995-07-06 2003-02-04 株式会社日立ユニシアオートモティブ 車両懸架装置
US5729458A (en) * 1995-12-29 1998-03-17 Etak, Inc. Cost zones
US5916299A (en) * 1996-11-25 1999-06-29 Etak, Inc. Method for determining exits and entrances for a region in a network
US5893081A (en) * 1996-11-25 1999-04-06 Etak, Inc. Using multiple levels of costs for a pathfinding computation
US5978730A (en) * 1997-02-20 1999-11-02 Sony Corporation Caching for pathfinding computation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07110238A (ja) * 1993-10-08 1995-04-25 Sumitomo Electric Ind Ltd 経路計算装置
JPH09218047A (ja) * 1996-02-08 1997-08-19 Mitsubishi Electric Corp 車両経路算出装置

Also Published As

Publication number Publication date
EP1062616B1 (en) 2006-12-06
AU2662199A (en) 1999-08-30
WO1999041692A1 (en) 1999-08-19
EP1062616A1 (en) 2000-12-27
US6016485A (en) 2000-01-18
CA2320159C (en) 2008-04-01
DE69934301D1 (de) 2007-01-18
ATE347712T1 (de) 2006-12-15
JP2002503817A (ja) 2002-02-05
DE69934301T2 (de) 2007-06-21
WO1999041692A8 (en) 1999-09-23
EP1062616A4 (en) 2002-04-24
CA2320159A1 (en) 1999-08-19
JP2009156873A (ja) 2009-07-16

Similar Documents

Publication Publication Date Title
JP4705176B2 (ja) 経路発見システム
US6038509A (en) System for recalculating a path
JP4975711B2 (ja) 経路発見計算のための複数のコストレベルの使用
US5272638A (en) Systems and methods for planning the scheduling travel routes
US6377887B1 (en) Caching for pathfinding computation
JP7264357B2 (ja) 交通システム内でのサイト及び場所の間のルート又はルート距離を使用してサイトを検索又は比較するための方法及び装置
US6487497B2 (en) Method and system for route calculation in a navigation application
US6249742B1 (en) Method and system for providing a preview of a route calculated with a navigation system
US6885937B1 (en) Shortcut generator
Egenhofer What's special about spatial? Database requirements for vehicle navigation in geographic space
JPH1091755A (ja) トポロジー構造の図形表現の記憶装置
JP2006308579A (ja) アフィニティのための地図データを編成する方法及びそれを使用するためのアプリケーション
CN112797995B (zh) 具有时空特性态势信息的车辆应急导航方法
CN111337044A (zh) 一种基于通行权值的城市道路路径规划方法
US10535256B1 (en) Method and apparatus for traffic-aware stochastic routing and navigation
JP7144818B2 (ja) 交通システム内でのサイト及び場所の間のルート又はルート距離を使用してサイトを検索又は比較するための方法及び装置
JP3488050B2 (ja) 位置検索結果表示方法および装置
Chandrasekara et al. Landmarks based route planning and linear path generation for mobile navigation applications
JP2902209B2 (ja) 経路探索方法
Das et al. A revisit to the planar subdivision graph: free space detection in a dynamic environment with polygonal obstacles
KR102148349B1 (ko) 온톨로지를 이용한 자가 운전 여행객을 위한 컨텍스트 인식 경로 탐색 알고리즘
Wu Incremental routing algorithms for dynamic transportation networks
Ma et al. HiAccess: A parallel method for measuring high-resolution spatial accessibility in real time
Ling et al. OptiTour: Tourist Transit Optimizer
Hooi et al. The Drive Smart Application

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100215

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100315

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100409

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101026

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110310

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371