JP2001507143A - ネットワーク内の領域の出口および入口を決定する方法 - Google Patents

ネットワーク内の領域の出口および入口を決定する方法

Info

Publication number
JP2001507143A
JP2001507143A JP52471298A JP52471298A JP2001507143A JP 2001507143 A JP2001507143 A JP 2001507143A JP 52471298 A JP52471298 A JP 52471298A JP 52471298 A JP52471298 A JP 52471298A JP 2001507143 A JP2001507143 A JP 2001507143A
Authority
JP
Japan
Prior art keywords
node
nodes
priority queue
target
boundary
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.)
Pending
Application number
JP52471298A
Other languages
English (en)
Other versions
JP2001507143A5 (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 JP2001507143A publication Critical patent/JP2001507143A/ja
Publication of JP2001507143A5 publication Critical patent/JP2001507143A5/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 ネットワークにおいて第1領域内の始点(O)と第2領域内の終点(A,B,C,D,E,F,G,H,I)との間の経路を発見するためのシステム(12,16,18,20,24,26)。この経路を発見する際、システム(12,16,18,20,24,26)は三つの経路、即ち始点(O)と第1領域についての出口ノード(A,B,C,D,E,F,G,H,I)との間の経路(303)、第2領域についての入口ノード(A,B,C,D,E,F,G,H,I)と終点(A,B,C,D,E,F,G,H,I)との間の経路(304)、および出口ノード(A,B,C,D,E,F,G,H,I)と入口ノード(A,B,C,D,E,F,G,H,I)との間の経路(305)を発見する。この三つの経路を合成して始点(O)と終点(A,B,C,D,E,F,G,H,I)との間の経路(306)を作成する。領域についての出口ノード(A,B,C,D,E,F,G,H,I)もしくは入口ノード(A,B,C,D,E,F,G,H,I)として使用するためのノードの集合(A,B,C,D,E,F,G,H,I)は、その領域(310)についての境界ノードの集合(B1,B2,B3,B4,B5)およびターゲットノード(ET)の集合(311)を特定することで特定できる。ターゲットノードはそれぞれ領域から十分なコストだけ離れている。ターゲットノード(ET)の集合は出口ノード(A,B,C,D,E,F,G,H,I)もしくは入口ノード(A,B,C,D,E,F,G,H,I)の集合として機能する。ターゲットノードの集合を、出口ノード(A,B,C,D,E,F,G,H,I)もしくは入口ノード(A,B,C,D,E,F,G,H,I)の集合としての機能が改善されるように修正(309)できる。

Description

【発明の詳細な説明】 ネットワーク内の領域の出口および入口を決定する方法 関連出願・特許の相互参照 本出願は下記の出願に関連する。 本出願と同日付けで出願された、リチャード・エフ・ポッペンによる米国特許出 願「経路発見計算のための複数のコストレベルの使用」(弁護士整理No.ET AK7717) この関連出願を本出願の一部を構成するものとしてここに援用する。 発明の背景 発明の分野 本発明はネットワーク内の領域の出口および入口を決定するシステムに関する 。 関連技術 コンピュータは、システムの高度な研究および利用を可能にするためにそのシ ステムをモデル化するというアイデアに変革をもたらした。その一例は、システ ムをネットワークとしてモデル化する事である。最も一般的な意味では、ネット ワークは相互接続および分岐のための多くの経路を含むものであると定義されて いる。決定を必要とする多くのシステムはネットワークとしてモデル化できる。 例えば、製造工程もしくは医学療法を提供するシステムは、決定点および決定点 間のアクションから成るネットワークとしてモデル化できる。このネットワーク を電子的な形で表し、処理装置が読取可能な記憶媒体に保存することができ、こ れにより、このネットワークモデルを用いてシステムを研究または使用するため のソフトウェアの開発を可能にする。 電子的な形で保存できる有益なネットワークの一例として電子地図がある。こ れは、地理学的に参照される、物理的、社会的、もしくは経済的なシステムを量 的に表した電子データを含む。電子地図に含まれる情報の範囲には制限が無く、 例えば、要素間の距離、移動時間、割り当て番号(lot number)、税金情報、ツー リスト情報、処理時間、待ち時間などを含むことが出きる。更に、地図をコン ピュータ上にファイルとして保存することで、無制限のアプリケーションソフト によるそのデータの操作を可能にする。コンピュータが読取可能な地理地図の一 利点は、地図上の種々のノードおよびリンクに関連するコストを保存および決定 できることである。そのようなコストの例として、時間、距離、支払った料金、 曲がり易さ、風景の質などがある。 電子地図は、他のネットワークと同様に、経路発見に使用できる。経路発見と は始点と終点との間のルートを計算する方法である。経路発見に使用するコンピ ュータ読取可能地図は、道路ネットワークの接続性に関する情報を有している必 要があり、その情報には各道路がどのように相互に接続しているか、また接続し ていないかという情報が含まれる。例えば、そのような情報には、どこに通常の 交差点があるか、どこに立体交差があるか、どこの方向転換が制限されているか 等が含まれる。この情報をコスト情報と合成することで特定のコストパラメータ を持つルートを決定することができる。 経路を発見する処理には膨大な量の計算を必要とすることがある。そのような 計算の速度を改善するいくつかの方式が開発されている。これらの方式の内のい くつかのものは、経路発見探索で考慮する要素の数を減少させる。その他の方式 は、処理すべきデータをファイルにクラスタ化もしくはパック化する方法を提供 しており、これにより、処理が早めるられるであろう。しかし、先行技術による 、処理時間を短縮しようとする試みは、多くの大規模データベースのサイズの元 では充分でなかった。 従って、経路発見処理の実行に必要な計算時間を更に短縮するシステムに対す るニーズがある。 発明の要約 本発明は、大まかに説明すると、計算時間を短縮するための経路発見計算にお いて使用するノードの集合を構築するシステムを提供することである。ノードの 集合は、処理装置で読取可能な媒体に記憶される、コンピュータで読取可能に表 現したネットワークにおける第1領域と関連付けられる。システムは、動作中、 第1領域において境界ノードの集合を特定し、ターゲットノードの集合を特定す る。ターゲットノードの集合における各ノードは、第1領域から十分なコストだ け離れている。 特定されるノードの集合は、第1タイルの出口ノードの集合であることができ る。十分なコストという条件は、第1領域からの経路がターゲットノードの集合 における各ノードに到達するために、少なくともCである所定のコストを要する 場合に満たされる。或いは、コストが十分であるということは、ターゲットノー ドの集合における各ノードがある領域に存在し、第1領域からの経路は、少なく ともCである所定のコストを要せずして上記領域内のいずれのノードにも到達で きないことを意味する。 特定されるノードの集合は、第1領域の入口ノードの集合であることができる 。十分なコストという条件は、ターゲットノードの集合における任意のノードか らの経路が第1領域に到達するためには、少なくともCである所定のコストを要 する場合に満たされる。或いは、コストが十分であるということは、ターゲット ノードの集合における各ノードがある領域に存在し、この領域内の全てのノード からの経路は、少なくともCである所定のコストを要せずして第1領域に到達で きないことを意味する。 システムは、第1領域に関連するノードを特定するために、ターゲットノード の集合を修正できる。システムは、以下の処理の一つ以上の処理を実行してター ゲットノードの集合を修正する。境界ノードの集合におけるノードと、ターゲッ トノードの集合におけるノードとの間の経路を決定する。ターゲットノードの集 合におけるノードを境界ノードの集合におけるノードの集合によってマークする 。ターゲットノードの集合におけるノードをプッシュバックして、フォークノー ドを特定する。フォークノードは、境界ノードの集合におけるノードの集合によ りマークされる。境界ノードの集合における上記ノードの集合は、プッシュバッ クされたノードもマークしている。次いで、フォークノードをターゲットノード の集合に追加して、プッシュバックされたノードをターゲットノードの集合から 削除する。更に、ターゲットノードの集合におけるノードをディスチャージする 。 第1領域内の始点ノードと第2領域内の終点ノードとの間の経路を発見するた めに、以下の処理を実行するようにしてもよい。始点と第1領域の出口ノードと の間に第1経路を発見する。第2領域の入口ノードと終点との間に第2経路を発 見する。出口ノードと入口ノードとの間に第3経路を発見する。これら3つの経 路を合成し、始点から終点までの経路を構築する。 図面の簡単な説明 図1は、本発明の実施に使用可能なハードウェアアーキテクチャの一例を示すブ ロック図である。 図2Aは、電子地図の一部分を表す有向グラフ(directed graph)の一番目の例 である。 図2Bは、電子地図の一部分を表す有向グラフの二番目の例である。 図3は、ネットワークの一例である。 図4は、始点と終点との間の経路を計算する方法を記載したフローチャートであ る。 図5は、タイルに分割されたネットワーク内の始点と終点との間の経路を計算す る本発明による方法を記載したフローチャートである。 図6は、図3におけるネットワークがどのようにしてタイルに分割されるかの一 例である。 図7Aは、ネットワーク内のタイルの出口および入口ノードを特定する本発明に よる方法を記載したフローチャートである。 図7Bは、ネットワーク内のタイルの出口および入口ノードを特定する本発明に よる方法を記載したフローチャートである。 図8Aは、本発明の一実施例におけるターゲットノードの集まりを特定する方法 を記載したフローチャートである。 図8Bは、図8Aに示された方法の一様相を示す。 図9は、本発明の別の実施例における、ターゲットノードの集まりを特定する方 法を記載したフローチャートである。 図10は、本発明の一実施例における、図7Bで特定された境界ノードとターゲ ットノードとの間の経路を決定する方法を記載したフローチャートである。 図11Aは、本発明の別の実施例における、図7Bで特定された境界ノードとタ ーゲットノードとの間の経路を決定する方法を記載したフローチャートである。 図11Bは、図11Aに示された方法の一様相を示す。 図11Cは、ターゲットノードならびにターゲットノードと境界ノードとの間の 経路を決定する別の方法を示す。 図12は、ノードをプッシュバックする本発明による方法を記載したフローチャ ートである。 図13は、ターゲットノードに関連するノードおよびリンクの集合を示す。 図14は、ターゲットノードをディスチャージする方法を記載したフローチャー トである。 図15は、ターゲットノードをディスチャージするのに使用するプッシュバック 手順を記載したフローチャートである。 図16は、完全フリーディスチャージを実行する方法を記載したフローチャート である。 詳細な説明 図1は、本発明の実施に使用可能なハードウェアアーキテクチャの一例を示す ブロック図である。ハードウェアはCPU12を含む。このCPU12は、イン テル80486互換CPU、ペンティアムプロセッサ、もしくはその他の適切な プロセッサであることができる。CPU12は、CPUバス14に接続されるア ドレス、データ、およびコントロールバスラインを有する。また、CPUバス1 4は、いずれもシステム制御論理回路20によって制御されるキャッシュメモリ 16および主記憶装置18に接続される。システム制御論理回路20はCPUバ ス14およびコントロール、アドレス、データバスラインから成るバス22に接 続されている。システムBIOSの入ったROM24および周辺装置26がバス 22に接続されている。周辺装置26はフロッピー、ハードディスクドライブ、 CD−ROMドライブもしくはその他の周辺装置を含むことができる。キャッシ ュメモリ16、DRAMメモリ18、ROM24、CD−ROM、およびフロッ ピーディスクはいずれも処理装置で読取可能な記憶装置(または媒体)である。 本発明の種々の実施例は、様々な種類のソフトウェアを使用して記載してある方 法を実行する。このソフトウェアは、処理装置で読取可能な、任意の適切な記憶 装置に存在することができる。図1には描かれていないが、このハードウェアは 、表示装置およびキーボードもしくはポインティングデバイス等の入力装置を含 む。図1のシステムは本発明に使用可能な一つのプラットフォームを示す。他の 多くのプラットフォームであってもよく、例えば、アップルコンピュータ社から 入手可能なマッキントッシュベースのプラットフォーム、異なるバス構造を有す るプラットフォーム、ネットワーク型プラットフォーム、マルチプロセッサプラ ットフォーム、その他のパーソナルコンピュータ、ワークステーション、メイン フレーム、ナビゲーションシステム等である。 処理装置で読取可能に表現したネットワーク、例えば電子地図は、地図を構成 するのに必要なデータを含んだ一つ以上のコンピュータファイルに保存される。 このデータには、経度および緯度データ、住所、距離、方向転換の制限、運転時 間、高速道路出口番号、土地の商用利用の説明等を含むことができる。上述の情 報は電子地図中に見ることができるが、上述した情報の一部分のみもしくは他の 情報を有する電子地図を作成することが可能である。 通常、経路発見に使用する、処理装置で読取可能に表現したネットワークには グラフが含まれる。グラフはノードとエッジの集合である。ノードはプロパティ を有するオブジェクトで、グラフ上の決定点を表わす。エッジは二つのノード間 の接続である。グラフ中のノードAからノードBへの経路は、ノードのリストと して記載される。このリストは、リスト中の各ノードから次のノードへのエッジ が存在するように記載される。有向グラフとは、グラフ内の各エッジがそれに関 連する単一の方向を有するグラフである。ある一組のノード間には、各方向に一 つづつ、二つのエッジがある場合もある。有向グラフ中では、エッジはリンクと 呼ばれる。重み付きグラフとは、グラフ内の各リンク(またはエッジ)がそれに 関連するコストを有するグラフである。本発明の実施例は、コストをノード、ま たはノードおよびリンクと関連付けたり、コストをグラフの他の要素と関連付け たりする方法を提供するものである。 ネットワークを使用して、物理的,経済的,社会的システム等のいくつかの異 なる環境を表すことがある。例えば、製造工程をネットワークとして表すことが できる。その場合、各ノードは製造工程中のステージを表し、各リンク(または エッジ)は製造工程の一つのステージからもう一つのステージへと移動するため に採り得る別のアプローチを表す。 また、地理地図をネットワークとして表すことができる。図2Aは有向グラフ を含んだネットワークの一例を表す。このグラフは、東行きの一方通行路50お よび対面通行路52を表し、どちらも対面通行路54と交差している。道路50 は交差点60で道路54と交差する。道路52は交差点70で道路54と交差す る。交差点60には二つのノード62および64がある。ノードの頭は丸である 。ノードの後部は直線尾部である。丸はノードがどこに位置するかを表し、尾部 は移動者がどこから来てそのノードへたどり着くであろうかを表す。見やすくす るため、ノード記号は実際の交差点からずらした位置にある。例えば、ノード6 2は、道路54上における、交差点60へ向かう北行きの移動を表す。ノード6 4は、道路50上における、交差点60へ向かう東行きの移動を表す。交差点6 0には西行きの移動を表すノードは無く、これは道路50が東行きの一方通行路 であるからである。そのため、道路54上を北へ進む移動者は、交差点60に着 くと右折することしかできない。ノード72は、道路54上を南へ移動すること で交差点70に着くことを表す。ノード74は、道路52上を東へ移動すること で交差点70に着くことを表す。ノード76は、道路52上を西へ移動すること で交差点70に着くことを表す。 リンクはノード間における経路を表す。例えば、ノード64から、移動者は交 差点60を右折することで道路54へ入ることができ、また、道路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の有向グラフを、コンピュータで読取可能な記憶媒体に保存されたデー タ構造を抽象的に理解するために使用する。コンピュータ読取可能な記憶媒体は 、実際に有向グラフのイメージを保存するわけではない。正確に言えば、データ 構造を保存する。データ構造内の各項目はノードを表す。データ構造は、各ノー ドについて、ノードの位置(例えば緯度および経度)、隣接するノード(一つのリ ンクを経由して移動できるノード)のリスト、および隣接するノードへの移動に 関連する種々のコストを保存する。本発明は、前述したデータ構造とは異なる、 多くの適切なデータ構造でもうまく実施できるものと考えられる。更に、本発明 は有向グラフについての使用に限定されるものではない。本発明は地図データベ ース全体、もしくは他の適切な情報の部分集合(subset)に使用できる。 図3は、コンピュータで読取可能に表現したネットワーク、例えば電子地図の 一部分についての有向グラフを表す。便宜上、本発明の様相を電子地図を用いて 説明する。しかし、本発明は電子地図についての使用に限定されるものではなく 、本発明の実施例は、処理装置で読取可能に表現した任意の形式のネットワーク を使用することができる。 図3に描かれた有向グラフには、10個のノード(A、B、C、D、E、F、 G、H、I、およびO)およびノード間の種々のリンクが含まれる。各リンクは そのリンクに隣接して数字が示されている。この数字はそのリンクに沿った移動 のコストを表す。例えば、コストを運転時間と仮定する。本発明の説明を容易に するため、車の運転者が、経路発見を実行する自動ナビゲーションシステムを有 しているものと仮定する。運転者は、図3の有向グラフ中のいずれかの場所に位 置している。運転者は、任意の地点で、ナビゲーションシステムに対して、ある 場所から他の場所への経路を計算するように求めることができる。経路がどのよ うに計算されるかを説明するため、運転者がシステムに対して始点Oから終点D への経路を計算するように求めたものと仮定する。 図4は経路発見計算(経路発見探索とも呼ばれる)の一形式を説明するフロー チャートである。図6の経路発見計算は、Edsger W.Dijkstraによる方法に少な くとも部分的に基づいており本発明に使用可能な多くの経路発見方法の内の一つ にすぎない。Dijkstraの方法を論じている参考文献として、M.N.S.SwamyとK.Thu lasiramanらによる「Graphs,Networks,and Algorithms,John Wiley & Sons(1981 )」が挙げられる。システムは、ステップ202において経路発見計算を初期化 する。即ち、システムは、経路の始点および終点を記憶し、二つのキュー、即ち 始点優先キュー(origin priority queue)および終点優先キュー(destination priority queue)をセットアップする。始点優先キューは、始点からの経路が 分かっているノードを整列したリスト、および各ノードについてのキーから成る 。このキューはキーに従ってソートされる。キーの決定には種々の異なる方法が ある。一方法では、キーは、始点からノードまでの移動についての既知の最低コ ストである。別の方法におけるキーは、始点からノードまでの既知の最短距離に ノードから終点までの移動に要する見積もりコストを加えたものである。本方法 に適した、ノードから終点までの移動に要するコストを見積る方法には種々のも のがある。その一例は、「烏が飛ぶであろう」("As-the-Crow-Flies")直線距離 に単位距離当たりの見積もりコストを乗ずる方法である。即ち、ノードおよびリ ンクを無視して、ノードと終点との間の物理的な距離を測定し、その距離に単位 距離当たりの見積もりコストを乗ずるのである。 終点優先キューは、終点までの経路が分かっているノードを整列したリスト、 および各ノードについてのキーから成る。このキューはキーに従ってソートされ る。終点キーの決定には多くの方法がある。一方法は、ノードから終点までの既 知の最低コストの経路を使用することである。もう別の方法におけるキーは、ノ ードから終点までの既知のコストに、始点からノードまでの見積もりコストを加 えた合計を使用する。見積もった残りのコストを使用する上述のキーは、始点か ら終点の方向へ偏奇する探索を発生する。同様に、終点からの探索は始点の方向 へ偏奇する。本発明の範囲内であれば、他の方法でキーを計算してもよい。 更に、システムは始点訪問済みリスト(origin visited list)および終点訪 問済みリスト(destination visited list)をセットアップする。始点訪問済み リストは、始点からの経路が分かっている全てのノードのリスト、始点からその ノードまでの移動の最低コスト、およびコストが最低の経路に沿った直前のノー ドを保持する。終点訪問済みリストは終点までの経路が分かっている各ノードの 名前、そのノードから終点までの移動の既知の最低コスト、およびコストが最低 の経路に沿った次のノードの識別情報を記憶する。ステップ202による初期化 が完了すると、これらの訪問済みリストは空になり、始点優先キューには始点が 含まれ、終点優先キューには終点が含まれる。 システムが初期化されると、システムは所定のルールに従いステップ204に おいてキューを選択する。本発明に適したキュー選択ルールには多くのものが存 在する。あるシステムにおいては、最小のキーを有する要素を含んだキューが選 択され要素間の結びつきは任意に断たれる。別のルールのシステムにおいては、 キューに含まれる要素の数が最も少ないキューが選択される。キュー選択ルール のその他の例としては、キューを交互に切り換え、ある期間は始点キューを選択 し、別の期間は終点キューに切換え、更に別の期間は始点キューに再び切換える ことが挙げられる。キューはキーによってソートされるので、最小のキーを有す るノードがキューの先頭(キューの前部またはキューのトップとも言う)に来る 。このノードをヘッドノードと呼ぶ。後述の例では、キューが選択される方法と してキューを切換える方法を使用し、始点優先キューから開始される。 システムは、ステップ206において、選択したキューのヘッドノードに隣接 する全てのノードを探索する。システムは開始したばかりなので、始点優先キュ ー中に存在する唯一のノードは始点である。隣接ノードとは、始点から、他のど のノードも通過せずに移動できるノードである。始点Oの隣接ノードは、ノード A、B、およびGである。3つの隣接ノードがあるため、システムは任意に一つ の隣接ノードを選択する。システムは、ステップ208において、選択した隣接 ノードについて、より低いコストが訪問済みリストおよび優先キュー上に既に存 在するかどうかを判断する。つまり、システムは、隣接ノードおよびヘッドノー ドのデータを読み込むことで、これら二つのノード間の移動コストを判断し、そ のコストをヘッドノードについての既知のコストに加える。この場合、選択され た隣接ノードはノードAである。始点からノードAまでの移動のコストは9であ る。経路発見計算は始まったばかりなので、ノードAは訪問済みリストおよび始 点優先キュー上になく、既知のコストは存在しない。既知のコストが存在しない ので、システムは、ステップ210において、訪問済みリストおよび優先キュー にノードAおよびそのコストを追加して編集する。その後、ステップ206へ戻 り、検討されていない隣接ノードが他にないかどうかを判断する。この場合、二 つの隣接ノードBおよびGが未検討である。 システムはステップ208において、ノードBについて、より低いコストが無 いかどうかを判断する。始点からBまでの移動のコストは3であり、Bは優先キ ューおよび訪問済みリスト上に存在しない。ステップ210において、ノードB を優先キューおよび訪問済みリストに追加する。システムはステップ206へ戻 って、ノードGについて検討する。始点OからGへと直接行く場合のコスト、即 ち7よりも低い既知のコストは存在しないため、Gを優先キューおよび訪問済み リストに加える。システムはステップ206へ戻って、隣接するノードが無いこ とを判断する。従って、ステップ212において、ヘッドノード、即ちこの時点 では始点、を優先キューから取り除く。 表1は、経路発見計算におけるこの時点での始点優先キューおよび訪問済みリ ストの内容を表す。始点優先キューにはB、G、およびAの3つのノードがある 。これらのキーは始点からそのノードまでの移動のコストを表す。訪問済みリス トはノード、コスト、およびPREVの3つの欄を有する。ノード欄はノード識 別情報を列記する。コスト欄は始点からそのノードまでの移動についての既知の 最小コストを列記する。PREV欄は既知の最小コストを利用して経路に沿って 移動した時の、始点からノードまでの経路に沿った直前のノードを列記する。 システムはステップ214において、停止条件が発生したかどうかを判断する 。本発明に適した停止条件には多くのものがある。例えば、あるノードが、始点 優先キューおよび終点優先キューの何れにおいてもヘッドノードであるときに停 止する。他の停止条件は、始点から始点優先キュー内のヘッドノードまでの移動 のコストに終点キューのヘッドノードから終点までの移動のコストを加えたコス トが最適コネクションノードの総コスト以上である場合に停止する。この停止条 件が本実施例において使用する停止条件である。コネクションノードとは、終点 訪問済みリストおよび始点訪問済みリストに現れるノードである。コネクション ノードの総コストとは、始点からコネクションノードまでのコストにコネクショ ンノードから終点までのコストを加えたコストである。最適コネクションノード とは、最小の総コストを有するコネクションノードである。本事例においてコネ クションノードは存在せず、停止条件は満たされておらず、システムはステップ 204においてキューを選択する。 上述のように、本実施例における優先キュー選択アルゴリズムは単純な切換え 方式であるため、システムは終点キューを選択する。システムはステップ206 において、終点Dに隣接するノードがあるかどうかを判断する。本実施例におい て、二つの隣接ノードCおよびFがある。システムはステップ208においてノ ードCに着目し、より低い既知のコストがあるかどうかを判断する。そのような コストは存在しないので、ステップ210において、終点優先キューおよび訪問 済みリストにノードCおよびそのコストを追加して編集する。その後、ステップ 206へ戻って、もう一つの隣接ノード、即ちノードFがあることを判断する。 システムはステップ208において、Fについて、より低い既知のコストが無い ことを判断する。ステップ210において、終点優先キューおよび終点訪問済み リストにノードFを追加して編集する。システムはステップ206において、ノ ードDに隣接するノードがこれ以上無いことを判断し、ステップ212において 、ノードDを終点優先キューから取り除く。表2は、この時点での終点優先キュ ーおよび訪問済みリストの状態を表す。 コネクションノードが存在しないため、停止条件は満たされず(ステップ21 4)、システムは始点優先キューを選択する。表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)後の始点優先キューおよび訪問済みリストの状態を表す。 この時点で、コネクションノードは存在しないため、停止条件は満たされず、 システムは終点キューを選択する(ステップ204)。システムはステップ206 において、終点キュー上のヘッドノードに隣接するノードを探索する。ヘッドノ ードはノードFなので、ノードEが唯一の隣接ノードとなる。EからFまでの移 動のコストは2である。従つて、EからFを経由してDに至る移動のコストは6 である。システムはステップ208において、EからDまでの移動について、よ り低い既知のコストが無いことを判断し、それに従って、訪問済みリストおよび 優先キューを更新する。システムはステップ206において、他に隣接ノードが 無いことを判断し、ステップ212においてFを優先キューから取り除く。表4 は、本方法におけるこの時点での終点優先キューおよび訪問済みリストの状態を 表す。 システムはステップ214において停止条件が満たされたかどうかを判断する 。この時点では、コネクションノードが存在する。ノードEが始点および終点の 訪問済みリスト上に存在する。ノードEについての総コストは11である。つま り、始点からノードEまでの移動のコストは5であり、ノードEから終点までの 移動のコストは6である。始点から始点優先キューにおけるヘッドノード(E) まで の移動のコストは5であり、また、終点優先キューにおけるヘッドノード(C) から終点までの移動のコストも5である。従って、停止条件は満たされない。こ の二つのコストの合計は10であり、コネクションノードの総コストである11 よりも低いため、停止条件は満たされず、システムはステップ204において、 始点優先キューを選択する。 始点優先キューにおけるヘッドノードはノードEであり、二つの隣接ノードC およびFを有する。システムはステップ208において、始点からFまでの移動 に関して、より低いコストが既に分かっているかどうかを判断する。Fは、始点 訪問済みリスト中に存在しないため、既知のコストは無く、始点からEを経由し てFに至る移動のコスト、即ち7が始点優先キューおよび訪問済みリストに追加 される。システムはステップ206において、もう一つの隣接ノード、即ちCが あることを判断し、システムはステップ208において、始点からCまでの移動 に関する既知のコストがあるかどうかを判断する。始点からEを経由してCに至 る移動のコストは9である。始点からCまでの移動に関して、より低いコストが 存在しないため、Cを優先キューおよび訪問済みリストに追加する。この時点で は、ノードEに隣接するノードはこれ以上存在せず、ノードEをキューから取り 除く(ステップ212)。表5は、本方法におけるこの時点での始点優先キューの 状態を表す。 システムはステップ214において、停止条件が満たされたことを判断する。こ の時点では、3つのコネクションノードが存在する。コネクションノードCの総 コストは14、コネクションノードFの総コストは11、そしてコネクションノ ードEの総コストは11である。EおよびFは、全てのコネクションノードの中 で最も低い総コストを有するので、ノードEおよびFが最適コネクションノード とみなされる。本発明の範囲に属する種々の代替方法では、他の定義の「最適な コネクションノード」を利用できる。始点から始点優先キュー上のヘッドノード までの移動のコストは6である。終点優先キューのヘッドノードから終点までの 移動のコストは5である。従って、ヘッドノードまでおよびヘッドノードからの 移動のコストは11であり、最適なコネクションノードの総コストである11に 等しい。その結果、停止条件が満たされ、システムはステップ216において、 経路を構築する。 経路を構築するステップは以下の通りである。あるルールが適当なコネクショ ンノードを選択する。その様なルールの一つは、総コスト(始点からの既知の経 路のコストと終点までの既知の経路のコストとの合計)を最小にするコネクショ ンノードKを選択する。始点訪問済みリストにおいてノードKを探索し、始点か らの経路上の直前のノードP1を発見する。P1が始点でなければ、訪問済みリス トにおいてP1を探索し、始点からの経路上の直前のノードP2を発見する。始点 に着くまでこの探索を繰り返す。始点に着いたと仮定し、この始点をノードPL とする。同様に、終点訪問済みリストにおいてKを探索し、終点までの経路上の 次ノードN1を発見する。N1が終点でなければ、訪問済みリストにおいてN1を 探索する。終点に着くまでこの探索を繰り返す。終点に着いたと仮定し、この終 点をノードNMとする。この時点で始点から終点までの経路がわかる。その経路 とは、PL(始点)からPL-1へ、PL-2へ、・・・、P2へ、P1へ、Kへ、N1へ 、N2へ、・・・NM-1へ、NM(終点)への経路である。 本実施例において、EおよびFはいずれも最適コネクションノードである。シ ステムは、任意的にノードEを選択する。表5における訪問済みリストを参照し 、始点からノードEまでの移動についての最適な既知のコストにはノードBから ノードEまでの移動が含まれることを判断する。従って、構築される経路ではB からEへの移動が行われる。システムは、訪問済みリストにおいてノードBを発 見し、ノードBまでの最適な経路は始点Oからの直接の経路であることを判断す る。 この時点で、構築された経路はOからBを経由してEに至る移動を含む。システ ムは始点に着くと、コネクションノードから終点までの経路を作る。表4におけ る訪問済みリストを参照し、Eから終点までの最適な経路にはEからFまでの移 動が含まれることを判断する。また、訪問済みリストは、FからDまでの最適な 経路がFからDまで直接移動する経路であることを表す。従って、O−B−E− F−Dの経路が構築される。 始点ノードと終点ノードとの間の距離が大きくなるにつれ、始点と終点との間 の経路を判断する際に考慮すべきノードおよびリンクの数が非常に大きなものに なる可能性がある。その結果、電子地図上で経路発見を実行するシステムは膨大 な数の計算を必要とすることがある。それ故、始点と終点との間の経路の発見に 必要な時間を大幅に増やす怖れがある。図5は、始点と終点との間の経路の発見 に必要な時間を減少させるのに使用可能な手順を示すフローチャートである。図 5に示す手順は、「タイル」と呼ぶ領域に分割されたネットワークに使用できる 。 図6は、図3における有向グラフをタイルに分割する一つの方法を示す。第1 タイルは、ノードH、G、I、およびOから成る。第2タイルは、ノードAおよ びBから成り、第3タイルはノードC、D、E、およびFから成る。図5に示す 方法は、経路発見手順を、いくつかの、より小さな経路発見作業に分割する。各 経路発見作業の結果は合成され、始点と終点との間の経路が構築される。本発明 によれば、各小規模経路発見作業を実行する総時間は、単一の経路発見作業の実 行に必要な時間よりも短いであろう。 図5に示す経路発見手順は、はじめに、ステップ300において初期化を行う 。初期化実行中に、ネットワークにおける始点ノードおよび終点ノードの設定を 行う。これらのノードは種々の方法で設定され、電子地図のユーザからの入力を 受け取ることを含む。初期化後、ステップ301において、始点から終点に着く ためのコストが少なくともスレッショルドコストと等しくなるかどうかを判断す る。或いは、スレッショルドコストが始点を含むタイルと終点を含むタイルとの 間に存在するかどうかを判断する。スレッショルドコストの条件が満たされた場 合、始点から終点を接続する経路の計算は、その計算をいくつかの小さな計算に 分割することで早く終了する。この条件が満たされなかった場合、計算を分割し ても 時間は短縮されない。 測定するコストのタイプは、使用するネットワークのタイプによって判断する 。例えば、ネットワークが電子地図であれば、コストは運転時間もしくは他の地 理的変数になる。 スレッショルドコストの条件が満たされない場合、ステップ302において、 図4に示す手順を使用して始点と終点との間の経路の発見が行われる。スレッシ ョルドコストの条件が満たされる場合、ステップ303において、始点と始点を 含むタイルに関連した出口ノードとを結合する経路を発見できる。この始点と出 口ノードとの間の経路を発見するのに、図4に示す経路発見手順を使用しても良 い。この場合、出口ノードを終点として処理を行う。 出口ノードとは始点のタイルの境界上もしくは境界の近くにあるノードである 。タイルの境界は、出口境界ノードおよび入口境界ノードの集合で定義される。 出口境界ノードとは、タイル外のノードヘ延び出たリンクを有する、タイル内の 全てのノードである。入口境界ノードとは、タイル外のノードから延び入ってく るリンクを有する全てのノードである。あるノードは出口境界ノードでもあり、 入口境界ノードでもあることができる。 次に、ステップ304において、終点と終点を含むタイルに関連した入口ノー ドとの間の経路を発見する。入口ノードとは、終点のタイルの境界上もしくは境 界の近くにあるノードである。この終点と入口ノードとの間の経路を発見するの に、図4に示す経路発見手順を使用しても良い。この場合、入口ノードを始点と して処理を行う。 ステップ305において、出口ノードと入口ノードとの間の経路を発見する。 出口ノードと入口ノードとの間の経路を発見するために、図4に示す経路発見手 順を使用できる。或いは、出口ノードと入口ノードとの間の経路を、ネットワー クにおける各出口ノードと各入口ノードとの間の経路についての所定のリストを 含んだテーブルから検索できる。この経路テーブルは、ネットワークと同様の、 処理装置で読取可能な媒体、もしくは異なる、処理装置で読取可能な媒体に保存 できる。この経路テーブルは、図4に示す手順を使用して作成することができる 。 始点から出口ノード、入口ノードから終点、および出口ノードから入口ノード の経路を発見すると、ステップ306において、これらの経路を合成して始点か ら終点までの経路が得られる。しかし、図5に示す手順を効率的に実行するには 、ネットワークにおける各タイルに適切な、出口ノードおよび入口ノードを選択 することが重要である。更に、図5の方法に使用するために出口ノードの集合か ら適切な出口ノードを効率的に選択でき、入口ノードの集合から適切な入口ノー ドを効率的に選択できることは有用である。ある集合から出口/入口ノードを選 択する一つ方法としてコストの最小化がある。 図7Aは、タイルの出口ノードもしくはタイルの入口ノードのいずれかを特定 するのに使用できる手順を示す。出口ノードを発見する手順を開始するために、 ステップ310において、出口境界ノードの集合が特定される。次に、ステップ 311において、出口ターゲットノードの集合が特定される。各出口ターゲット ノードは出口ノードとして機能できる。 更に、ステップ309において、出口ターゲットノードの集合を修正する。修 正された出口ターゲットノードの集合は、ステップ311において最初に特定さ れた出口ターゲットノードよりも優れた出口ノードの集合を提供できる。最初の 出口ターゲットノードの集合の修正に利用できる方法の一つは、出口ターゲット ノードの数を減少させることである。その結果、始点と終点との間の経路の発見 に必要な計算時間が短縮される。或いは、出口ターゲットノードを修正し、前の 出口ターゲットノードよりも低いコストだけタイルから離れている出口ターゲッ トノードを提供できる。本発明によれば、出口ターゲットノードの集合に、その 他の多くのタイプの修正を施すことができる。 図7Aに示す手順は、図1に示すシステムにより実行され、このシステムは処 理装置で読取可能な媒体に記憶された命令を実行し、媒体に記憶されたデータを 処理する。図7Bは、図7Aに描かれた、出口ノードもしくは入口ノードを特定 する方法の、より詳細な実施例を示す。 図7Bに示す方法に従って出口ノードの集合を特定する際、ステップ310に おいて、タイルについての出口境界ノードの集合を特定する。出口境界ノードは 以下の手順によって特定できる。ステップ317において、タイル内のあるノー ドを選択する。ステップ318において、選択したノードが出口境界ノードであ るかどうかを判断する。この判断は、選択したノードがタイル外のノードへ延び たリンクを有するかどうかの判断により実行される。選択したノードが出口境界 ノードではないと判断した場合、ステップ320において、タイル内に他に検査 していないノードがないかどうかを判断する。検査していないノードが残ってい る場合、新たなノードを選択し(ステップ317)、検査を行う(ステップ318) 。 選択したノードが出口境界ノードであると判断した場合、そのノードを、ステ ップ319において、出口境界ノードの集合に加える。出口境界ノードの集合は データ構造内に保持できる。ノードを出口境界ノードの集合に加えた後、ステッ プ320において、上述のように、タイル内に未検査のノードが残っていないか どうかを判断する。 出口境界ノードの集合を特定した後、ステップ311において、タイルについ ての出口ターゲットノードの集合を特定する。出口ターゲットノードの集合もデ ータ構造内に保持できる。出口ターゲットノードとは、十分なコストをかけない とタイルから到達できないノードを言う。以下に詳細に述べるが、入口ノードを 発見する場合、入口ターゲットノードが特定される。入口ターゲットノードとは 、そのノードから十分なコストをかけないとタイルにつくことのできないノード を言う。本発明の一実施例においては、出口ターゲットノードの十分コストおよ び入口ターゲットノードの十分コストの合計が、図5において既に特定したスレ ッショルドコスト以下になるように十分コストが選択される。その結果、図5中 のステップ303、304、305および306を使用して特定した、出口ター ゲットノードの集合内の一つのノードおよび入口ターゲットノードの集合内の一 つのノードを通過する始点から終点までの経路のコストは、少なくとも図5のス テップ302および図4に記載された手順を使用して発見された始点と終点との 間の経路のコストと同じ程度低くなる。 本発明の一実施例においては、出口ターゲットノードの集合についての十分コ ストは、始点のタイルからのコストが少なくとも所定の値Cになるように選択さ れる。タイルが電子地図内にある場合、十分コストは、移動時間、移動費用、お よび道路の好みを含む、無数の方法で測定され得る。例えば、Cを10マイルな どの特定の距離にすることができる。 図8Aは、十分コストを有する出口ターゲットノードの集合を特定する手順の フローチャートを示す。最初に、システムはステップ330において、図4中の ステップ202について既に記栽したように、始点優先キューおよび始点訪問済 みリストを初期化する。しかし、この手順では、各出口境界ノードは始点として 処理されるため、始点優先キューには、ステップ310において特定した各出口 境界ノードが格納される。この各出口境界ノードにはキー値0が与えられる。 次に、ステップ331を実行する。ステップ331において実行する手順を図 8Bに示す。図8B中、ステップ331Aにおいて、図4中のステップ206に ついて記載したように、始点優先キューのヘッドノードに隣接するノードを特定 する。隣接ノードがない場合、図4中のステップ212について記載したように 、ステップ331Dにおいて始点優先キューのヘッドノードが取り除かれ、ステ ップ331を終了する。隣接ノードがある場合、ステップ331Aにおいて、隣 接ノードの内の一つを選択する。システムはステップ331Bにおいて、隣接ノ ードについて、訪問済みリストもしくは優先キュー上に、この隣接ノードと出口 境界ノードの内の一つとの間の移動について、より低いコストが分かっているか どうかを判断する。この判断は、図4中のステップ208について記載した方法 と同様の方法で行われる。即ち、ヘッドノードのキー値をヘッドノードから隣接 ノードまでの移動のコストに加えたコストを計算し、計算したコストを既知のコ ストと比較する。より低いコストを発見すると、システムはステップ331Aへ 移動して、更に他の隣接ノードがあるかどうかを判断する。隣接ノードが残って いる場合、新たに一つのノードを選択し、ステップ331Bにおいて、このノー ドへの経路のコストを評価する。 ステップ331Bにおいて、より低いコストの経路が発見されなかった場合、 ステップ331Cにおいて、図4中のステップ210について記載したように、 優先キューおよび訪問済みリストへ隣接ノードを追加するか更新する。優先キュ ーおよび訪問済みリストを更新した後、システムはステップ331Aへ戻り、更 に他の隣接ノードが存在するかどうかを判断する。 ステップ331の後、ステップ332において、始点優先キューのヘッドノー ドのキー値が少なくとも値Cであるかどうかを判断する。Cは所定のコスト値で ある。この条件が満たされなかった場合、ステップ331を繰り返す。ステップ 332において条件が満たされた場合、始点訪問済みリストに列記された、少な くとも値Cを有するノードが出口ターゲットノードとなる。 本発明の別の実施例においては、出口ターゲットノードの集合の十分コストは 、評価されるノードが、出口境界ノードのタイルから少なくとも値Cの所定のコ ストをかけないとつくことのできないタイル内に存在することを意味するように 選択される。図9は、このような、別の十分コストを使用した、出口ターゲット ノードの集合を特定する手順のフローチャートを示す。システムは最初に、ステ ップ334において、図4中のステップ202について記載したように、始点優 先キューおよび始点訪問済みリストを初期化する。しかし、この手順では、各出 口境界ノードは始点として処理されるため、始点優先キューにはステップ310 において特定した各出口境界ノードが格納される。各境界ノードにはキー値0が 与えられる。 次に、システムはステップ331を実行する。ステップ331は、図8Aおよ び図8Bについて既に記載したステップ331と同一である。ステップ331を 実行した後、システムはステップ336において、始点優先キューが空であるか どうかを判断する。キューが空である場合、全ての出口ターゲットノードが特定 されたことになる。優先キューが空ではない場合、ステップ337において、優 先キューの先頭にあるノードが少なくとも値Cであるキー値を有するかどうかを 判断する。このキー値がCよりも少ない場合、ステップ331の手順を繰り返す 。 キー値が少なくとも値Cであると判断された場合、ステップ338において、 出口境界ノードのタイルからヘッドノードのタイルにおける任意のノードに着く ためのコストがCよりも少ないコストであるかどうかを判断する。Cよりも少な いコストで着くことのできるノードがヘッドノードのタイル内にない場合、ステ ップ399において、優先キュー中のヘッドノードを出口ターゲットノードの集 合に追加する。その他の場合、ステップ331を繰り返す。ステップ339にお いて、ヘッドノードを出口ターゲットノードに追加した後、ステップ340にお いて、始点優先キューの先頭にあるノードを始点優先キューから取り除く。ステ ップ340においてヘッドノードを取り除いた後、システムはステップ336へ 戻り、優先キューが空であるかどうかを判断する。 図7Aのステップ311において設定された出口ターゲットノードの集合を出 口ノードの集合として使用できる。しかし、図7Aに示すように、ステップ30 9において、出口ターゲットノードの集合を修正して、より優れた出口ノードの 集合を提供できる。本発明の一実施例においては、図7Bに示すように、各出口 ターゲットノードと各出口境界ノードとの間に存在する経路を発見し(ステップ 312)、出口ターゲットノードの集合をマークして(ステップ313)、この出 口ターゲットノードの集合をプッシュバックする(ステップ314)ことで出口 境界ノードの集合を修正できる。更に、一つ以上の出口ターゲットノードをディ スチャージして(ステップ316)出口ターゲットノードを更に修正することを 決定できる。 図7Bに示すように、ステップ312において、各出口境界ノードから各出口 ターゲットノードまでの経路が判断できる。出口境界ノードと出口ターゲットノ ードとの間の経路を発見できない場合があり、それは、ネットワークがそのよう な経路を含まないためである。出口ターゲットノードと出口境界ノードとの間の 経路の特定を開始するために、ステップ321において、ある出口境界ノードを 出口境界ノードの集合から選択する。次に、ステップ322において、選択した 出口境界ノードから各出口ターゲットノードまでの経路を発見する。 図10は、本発明の一実施例におけるステップ322を実行する手順を示す。 この手順の中で、システムはステップ350において、図4中のステップ202 について記載したように、始点優先キューおよび始点訪問済みリストを初期化す る。しかし、ステップ350においては、ステップ321において選択した出口 境界ノードが始点優先キューに格納され、出口境界ノードにはキー値0が与えら れる。初期化後、図8Aおよび8Bに関して既に記載したように、ステップ33 1を実行する。 ステップ331を実行した後、ステップ352において、出口ターゲットノー ドの集合内の各ノードが始点優先キューの先頭に来たかどうか、また、優先キュ ーが空であるかどうかを判断する。各出口ターゲットノードが優先キューの先頭 に到達した場合、もしくは優先キューが空であった場合、選択された出口境界ノ ードについて、存在する全ての経路が特定されたことになり、ステップ322を 終了する。各出口ターゲットノードが始点優先キューの先頭に来ていない場合、 および優先キューが空ではない場合、ステップ353において、始点優先キュー のヘッドノードが出口ターゲットノードであるかどうかを判断する。このノード が出口ターゲットノードである場合、ステップ354において、このノードを優 先キューより取り除き、システムはステップ352へ戻って、新たなヘッドノー ドを調べる。その他の場合、ステップ331を繰り返す。 ステップ322が終了すると、ステップ323において、ステップ322が全 ての出口境界ノードに対して実行されたかどうかを判断する。ステップ322に おいて使用されていない出口境界ノードがある場合、システムはステップ321 へ戻って、新たな出口境界ノードを選択する。その他の場合、ステップ312を 終了する。ステップ312を完了すると、各出口境界ノードから各出口ターゲッ トノードまでの最低コストの経路がわかり、その経路を始点訪問済みリスト中の データより構築できる。 本発明の別の実施例においては、出口ターゲットノードと出口境界ノードとの 間の経路の発見に、図7B中のステップ312および図10の代わりとして、図 11Aに示す手順を使用できる。図11A中に示す方法においては、複数の出口 境界ノードと複数の出口ターゲットノードとの間の複数の経路を同時に発見でき る。 出口境界ノードの集合と出口ターゲットノードの集合が特定されると、ステッ プ399において、出口境界ノードの集合からノードの集合を選択する。選択さ れた出口境界ノードの集合には、一つの出口境界ノード、全ての出口境界ノード 、もしくは他の任意の数の出口境界ノードを含むことができる。次に、ステップ 400において、図4中のステップ202において記載したように、始点優先キ ューおよび訪問済みリストを初期化しする。しかし、始点優先キューおよび訪問 済みリストには、いずれもステップ399において選択された全ての出口境界ノ ードが格納される。各出口境界ノードは始点とみなされるため、優先キュー中で キー値0が与えられる。 更に、ステップ400において、図4のステップ202において初期化された 始点訪問済みリストとは異なる形で始点訪問済みリストが構築される。ステップ 202における始点訪問済みリストのように、ステップ400における訪問済み リストはノード欄を有する。しかし、ステップ400における訪問済みリストに は、各ノード項目に対して、ステップ399において選択された各出口境界ノー ドのノード項目についてのコスト項目および直前ノード項目(PREV)が含ま れる。訪問済みリスト中のノードと、選択された出口境界ノードの内の一つのノ ードとの間に経路が特定できなかった場合、各コスト項目および直前ノード項目 に経路がないことを示す値が与えられる。訪問済みリストを初期化すると、選択 された各出口境界ノードが列記されるだろう。 始点優先キューおよび始点訪問済みリストが初期化された後、ステップ401 において、経路発見手順を実行する。図11Bはステップ401において実行さ れ得る経路発見の一手順を示す。図11B中のステップ401Aにおいて、図4 中のステップ206について記載したように、始点優先キュー中のヘッドノード に隣接するノードを特定する。隣接ノードがない場合、ステップ401Dにおい て、図4中のステップ212について記載したように、始点優先キュー中のヘッ ドノードを削除し、ステップ401を終了する。隣接ノードがある場合、ステッ プ401Aにおいて、隣接ノードの内の一つを選択する。システムは、ステップ 401Bにおいて、各隣接ノードについて、隣接ノードと選択された出口境界ノ ードの内の任意のものとの間の移動について、より低い既知のコストが訪問済み リストもしくは優先キュー上にあるかどうかを判断する。この解析は、図4中の ステップ208において実行された単一始点の解析と同様の方法で各出口境界ノ ードについて実行される。選択された各出口境界ノードについて、より低いコス トの経路が発見された場合、システムは、ステップ401Aへ移行して、更に隣 接ノードが残っていないかどうかを判断する。隣接ノードが残っていた場合、新 たに一つの隣接ノードを選択し、ステップ401Bにおいて、その経路のコスト を評価する。 ステップ401Bにおいて、隣接ノードと選択された出口境界ノードの内の任 意のもの間により低いコストの経路が発見されなかった場合、ステップ401C において、優先キューおよび訪問済みリストに隣接ノードを追加するか更新を行 う。ステップ401Cは、図4中のステップ210と同様の方式で実行されるが 、以下の変更が含まれる。訪問済みリストへ隣接ノードが追加されるかもしくは 更新された時は、新たに発見された、出口境界ノードへの低コストの経路に関連 するコストおよび直前ノードだけが追加される。優先キュー中に隣接ノードが追 加または更新された時は、以下のルールに従ってキー値が隣接ノードに与えられ る。隣接ノードが優先キューの先頭に一度も来たことがない場合、キー値は隣接 ノードに関連した最低コストに等しく、それ以外では、キー値は、隣接ノードが 前に優先キューの先頭に到達した以後に修正された最低コストに等しい。優先キ ューおよび訪問済みリストの更新後、システムはステップ401へ戻って、更に 隣接ノードが存在しないかどうかを判断する。 ステップ401が完了すると、ステップ402において、優先キューが空であ るかどうか判断する。優先キューが空である場合、ステップ405において、選 択可能な出口境界ノードが残っていないかどうかを判断する。出口境界ノードが 残っている場合、システムはステップ309へ戻って出口境界ノードのグループ を選択する。その他の場合、出口境界ノードと出口ターゲットノードとの間の経 路は全て特定されていて、訪問済みリスト中に格納されているので、この手順は 完了したとみなされる。 優先キューが空でない場合、ステップ403において、優先キューのヘッドノ ードが出口ターゲットノードであるかどうかを判断する。ヘッドノードが出口タ ーゲットノードである場合、ステップ404において、このノードを取り除き、 システムはステップ402において、優先キューが空であるかどうかを判断する 。ヘッドノードが出口ターゲットノードではない場合、システムは戻ってステッ プ401を実行する。 本発明の一実施例においては、出口ターゲットノードを特定するステップ(ス テップ311)および出口境界ノードと出口ターゲットノードとの間の経路を発 見するステップ(ステップ312)を、図11Cに示す手順を実行することによ り同時に行うことができる。システムは最初に、図11A中のステップ400に ついて記載した方法と同様の方法で、ステップ400において始点優先キューお よび始点訪問済みリストを初期化する。しかし、始点優先キューには、ステップ 310において特定した全ての出口境界ノードが格納される。各出口境界ノード は始点とみなされ、優先キューにおいて、キー値0が与えられる。 次に、図11A中のステップ401について記載した方法と同様の方法で、ス テップ401を実行する。ステップ401の実行後、ステップ402において、 優先キューが空であるかどうかの判断を行う。優先キューが空でない場合、ステ ップ410において、優先キューのヘッドノードが出口ターゲットノードとして 適格かどうかの判断を行う。始点訪問済みリスト中の各出口境界ノードについて のコスト項目が、既知の経路がないことを示す値であるか、もしくは十分コスト であると考えられる所定のコスト値以上であるかのいずれかの場合に、このヘッ ドノードは出口ターゲットノードの資格がある。ヘッドノードが出口ターゲット ノードとして適格でなかった場合、システムは戻ってステップ401を実行する 。ヘッドノードがターゲットノードとして適格である場合、ステップ404にお いて、ヘッドノードを優先キューから取り除く。ヘッドノードを取り除いた後、 システムは戻ってステップ402を実行し、優先キューが空であるかどうかを判 断する。 優先キューが空である場合、処理を完了する。出口ターゲットノードの集合は 完全に特定されていて、始点優先キューにおけるデータは、出口境界ノードから 出口ターゲットノードまでの経路を提供する。出口ターゲットノードの集合は、 ステップ410においてターゲットノードとして適格とされた、訪問済みリスト 中に列記されたノードから成る。 出口境界ノードと出口ターゲットノードとの間の経路が決定されると、ステッ プ313において、出口ターゲットノードは出口境界ノードによりマークされる 。出口ターゲットノードをマークする作業は、出口ターゲットノードを出口境界 ノードの集合と関連付けることにより行われる。例えば、処理装置で読取可能な 媒体の中に、出口ターゲットノードと各出口ターゲットノードに関連する境界ノ ードの集合とのリストを有するデータ構造を作成できる。 本発明の一実施例においては、各出口ターゲットノードは、ステップ310に おいて特定された全ての出口境界ノードによりマークされる。本発明の他の実施 例においては、各出口ターゲットノードは、より限定された出口境界ノードの集 合によりマークされる。より限定された出口境界ノードの集合には、ステップ3 12において特定された、出口境界ノードと出口ターゲットノードとの間の経路 中に、他の出口境界ノードが存在しないような各出口ターゲットノードだけが含 まれる。 出口ターゲットノードがマークされると、境界ノードについて、各出口ターゲ ットノードをプッシュバックすることができる。プッシュバックすることにより 、出口ターゲットノードの集合に存在するノードが、出口境界ノードのタイルと の間の移動のコストがより小さいノードと置き換えられる。更に、プッシュバッ クすることにより、出口ターゲットノードの集合におけるノード数が削減され、 より限定された出口ノードの集合を提供できる。その結果、経路発見の計算時間 を短縮できる。 出口ターゲットノードをプッシュバックする一手順を図7Bのステップ314 に示す。ステップ313においてマークが完了すると、ステップ324において プッシュバックする出口ターゲットノードを検索する。ステップ325において 、この選択した出口ターゲットノードをプッシュバックする。ノードをプッシュ バックした後、ステップ326において、プッシュバックされていないノードが ターゲットノードの集合の中にないかどうかを判断する。全ての出口ターゲット ノードがプッシュバックされていた場合、プッシュバック手順は完了する。その 他の場合、システムはステップ324へ戻って、別の出口ターゲットノードを選 択する。 図12は、ステップ325において使用可能な、出口ターゲットノードをプッ シュバックする手順を示す。図13は、B1、B2、B3、B4、およびB5の 一連の出口境界ノードによりマークされる出口ターゲットノード(ET)の一例 を示す。図13にはまた、ステップ312において生成された始点訪問済みリス トから判断されるいくつかの経路が含まれる。 出口ターゲットノードが選択される(ステップ324)と、フォークノード変 数を定義する。この変数はステップ359において、選択した出口ターゲットノ ードに初期化される。ステップ312において特定された、出口ターゲットノー ドと出口ターゲットノードをマークする出口境界ノードとの間を延びる各経路中 で、フォークノードに最も近いノードをステップ360において特定する。ステ ップ360において特定されるノードは、ステップ312において作成された始 点訪問済みリストから検索できる。図13の場合、ステップ359においてノー ドETをフォークノードに設定する。境界ノードB1〜B5の各ノードからフォ ークノードまで延びている経路中で、フォークノードに最も近いノードであるノ ードP0を、ステップ360において選択する。 フォークノードに最も近いノードを特定した後、ステップ361において、ス テップ360で選択した各ノードが同一であるかどうかの判断を行う。同一であ る場合、ステップ360において選択したノードが境界ノードであるかどうかを 判断する(ステップ362)。ステップ360において特定したノードが同一のも のでない場合、もしくはノードが同一且つそのノードがステップ362において 出口境界ノードであると判断された場合、フォークノードを出口ターゲットノー ドの集合に追加して、ステップ324において選択した出口ターゲットノードを 出口ターゲットノードの集合から削除する(ステップ363)。フォークノードを 追加した後、ステップ364において、削除した出口ターゲットノードをマーク していた出口境界ノードにより、このフォークノードをマークする。ステップ3 61において、ノードが同一でないと判断され、可変フォークノードが出口ター ゲットノードに設定されている場合、出口ターゲットノードは修正されない。 ステップ360において選択したノードが同一且つそのノードが出口境界ノー ドではない場合、ステップ360において特定したノードをフォークノードに設 定する(ステップ365)。図13の場合、ステップ365において、ノードP0 をフォークノードに設定する。ステップ365においてフォークノードを設定し た後、システムはステップ360へ戻って、再度フォークノードに最も近いノー ドを特定する。図13の場合、ステップ360において、ノードP1を特定する 。図13に示す出口ターゲットノード(ET)を完全にプッシュバックした後、 出口ターゲットノードを(ET)を出口ターゲットノードの集合から削除する。 次いで、ノードP2をフォークノードに設定し、出口ターゲットノードの集合に 追加して、出口境界ノードB1,B2,B3,B4およびB5によりマークする 。 本発明の他の実施例においては、プッシュバック手順は更に限定される。例え ば、出口ターゲットノードと出口境界ノードとの間の経路から、ただ一つのノー ドを取り除いた後にプッシュバックを終了することができる。この場合、出口境 界ノードの集合において、図13に示す出口ターゲットノード(ET)は、ノー ドP2ではなくノードP1と置き換えられる。図12は、プッシュバックがどの 様に実行されるかの一つの例に過ぎない。 ステップ314において出口ターゲットノードをプッシュバックした後、その 結果として得られる出口ターゲットノードの集合は元の出口ターゲットノードの 集合よりも小さくなるであろう。この削減された出口ターゲットノードの集合を タイルの出口ノードの集合として使用できる。 ディスチャージにより、出口ターゲットノードの更なる修正を実現できる。デ ィスチャージにより、出口ターゲットノードの集合は、出口ターゲットノードと 出口境界ノードのタイルとの間の平均移動コストが減少するように修正される。 図7Bに示すように、出口ターゲットノードのプッシュバックを完了する(ステ ップ314)と、ステップ315において、出口ターゲットノードをディスチャ ージするどうかを判断する。いずれの出口ターゲットもディスチャージしないと 判断した場合、出口ターゲットノードの集合に対する修正(ステップ309)を 完了し、出口ターゲットノードの集合を出口ノードとして使用する。 しかし、ステップ315において、出口ターゲットノードをディスチャージす ると判断した場合、ステップ316においてディスチャージを実行する。図14 は、ステップ316における、出口ターゲットノードのディスチャージの一手順 を示したに過ぎない。始めに、ステップ370において、ステップ312で発見 した経路中に、少なくとも二つの異なるノードからのリンクを有する出口ターゲ ットノードを特定する。次に、ステップ371において、特定した出口ターゲッ トノードを出口ターゲットノードの集合から削除する。出口ターゲットを削除し た後、ステップ372において、ディスチャージノードの集合を特定する。ディ スチャージノードは、ステップ312で特定した経路中で、削除した出口ターゲ ットノードに接続している各ノードから成る。続いて、ステップ373において 、各ディスチャージノードをプッシュバックする。 各ディスチャージノードをプッシュバックする場合、図15に示すプッシュバ ック手順を使用できる。ステップ379において、初期化手順としてディスチャ ージノードのうちの一つをフォークノードに設定する。ステップ312において 特定した、フォークノードと削除した出口ターゲットノードをマークする出口境 界ノードとの間を延びる全ての経路中で、フォークノードに最も近い各ノードを ステップ380において特定する。ステップ381において、これらのノードが 同一であるかどうかを判断する。これらのノードが同一である場合、ステップ3 82において、ステップ380において特定したノードのいずれかが境界ノード であるかどうかを判断する。ステップ380において特定したノードが同一でな いか、これらのノードのうちの一つが境界ノードである場合、ステップ383に おいて、フォークノードがまだ出口ターゲットノードの集合のメンバでなければ このフォークノードを出口ターゲットノードの集合に追加する。次いで、ステッ プ384において、削除した出口ターゲットノードをマークしていた出口境界ノ ードにより、フォークノードのマークを行う。この出口境界ノードは、ステップ 312において特定した経路を通ってフォークノードから着くことのできるノー ドである。フォークノードがすでに出口ターゲットノードの集合のメンバであり 、完全にマークされている場合、フォークノードはマークされない。 ステップ380において特定したノードが同一であり、いずれも出口境界ノー ドではない場合、ステップ385において、ステップ380で特定したノードを フォークノードに設定する。システムはステップ380へ戻って、上述の手順を 実行する。ステップ373において各ディスチャージノードのプッシュバックを 終了すると、ステップ315において、別の出口ターゲットノードをディスチャ ージするかどうかを判断する。 図13中のノードP2が、プッシュバックを通して出口ターゲットノードの集 合に追加された後、このノードをディスチャージした場合、以下の結果になる。 ノードP2は出口ターゲットノードの集合から削除される。ノードP3およびP 4がディスチャージノードとして特定され、プッシュバックされる。その結果、 ノードP3が出口ターゲットノードの集合に追加され、出口境界ノードB1、B 2およびB3によりマークされる。ノードP4は出口ターゲットノードの集合に 追加されない。ノードP11が出口ターゲットノードの集合に追加され出口境界 ノードB4およびB5によりマークされる。 ディスチャージするかどうかを判断するのに多くの異なる条件もしくは条件の 組合せを選択できる。本発明の一実施例においては、出口ターゲットノードに対 してディスチャージすることによって出口ターゲットノードの総数が増加しない 限り、ディスチャージを継続的に実行する。ディスチャージを実行しても出口タ ーゲットノードの総数を増加させないという条件の付いたディスチャージを、完 全フリーディスチャージと呼べる。 図16は完全フリーディスチャージを実行する方法の一例を示す。始めに、ス テップ391において、いずれかの出口ターゲットノードが、ディスチャージさ れることにより出口ターゲットノードの総数を減少させ得るかどうかを判断する 。減少させ得る場合、ステップ394において、減少を可能とする一つの出口タ ーゲットノードを選択する。次に、ステップ393において、ステップ394で 選択したノードをディスチャージする。 減少が不可能な場合、ステップ392において、出口ターゲットノードの総数 を変化させずに出口ターゲットノードのいずれかをディスチャージできるどうか を判断する。出口ターゲットノードの総数を同じに保つことができる場合、ステ ップ395において、その様な結果を可能にする一つの出口ターゲットノードを 選択する。次に、ステップ393において、ステップ395で選択したノードを ディスチャージする。ステップ393の後、システムは戻ってステップ391を 実行する。ステップ392において、出口ターゲットノードの数を同じに保つこ とができないと判断された場合、完全フリーディスチャージを終了する。 本発明の別の実施例においては、全ての出口ターゲットノードとタイルとの間 の距離が、所定のコスト以下の距離になるまで、出口ターゲットノードをディス チャージできる。このような実施例においては、タイルからの距離のコストが最 大である出口ターゲットノードが常に最初に選択され、ディスチャージされる。 本発明の更に別の実施例においては、選択した出口ターゲットノードのディス チャージスコアを計算する。ディスチャージスコアは、選択した出口ターゲット ノードと、それに関連するタイルとの間の移動の総コストから、タイルと、選択 した出口ターゲットノードをディスチャージすることにより新しく作られる各出 口ターゲットノードとの間の移動のコストを減じたものに等しい。従って、ディ スチャージスコアは、選択した出口ターゲットノードをディスチャージすること により、出口ターゲットノードの集合から除去される総コストを表す。このよう な本発明の実施例においては、全ての出口ノードのディスチャージスコアが所定 値以下となるまで、ディスチャージを実行するであろう。 移動コストもしくはディスチャージスコアなどの条件に基づいた単一ディスチ ャージを完全フリーディスチャージに続いて実行できる。単一ディスチャージの 実行後、単一ディスチャージにより引き起こされた出口ターゲットノードの集合 の変化を利用して、完全フリーディスチャージを再び実行できる。この手順は、 単一ディスチャージを開始させるような条件が存在しなくなるまで、継続的に繰 り返すことができる。 図7Aおよび7Bに示す手順を使用して入口ノードの集合も特定できる。この 手順は、出口ノードを特定するために記載した手順のごく一部を修正したもので ある。図7Aおよび7Bに示す手順は、図1に示すシステムにより実行でき、こ のシステムは、コンピュータで読取可能な媒体に記憶されたデータを処理したり 命令を実行したりする。本発明の一実施例においては、電子地図におけるタイル の入口ノードを特定できる。 ステップ310において、出口境界ノードを特定したのと同様の方法で入口境 界ノードの集合を特定する。入口ノードを特定する手順の全体を通して、出口境 界ノードの代わりに入口境界ノードを使用する。 ステップ311において、入口ターゲットノードの集合を特定する。入口ター ゲットノードとは、そのノードから、タイルに到達するのに十分なコストのかか るノードをいう。入口ノードを特定する手順の全体を通して、出口ターゲットノ ードの代わりに入口ターゲットノードを使用する。本発明の一実施例において、 十分なコストは、タイルからのコストが少なくともCであるように選択される。 このような入口ターゲットノードの集合を得るために、図8Aおよび8Bに示す 方法を使用できる。しかし、終点優先キューおよび終点訪問済みリストが始点優 先キューおよび始点訪問済みリストの代わりとして使用される。 本発明の別の実施例においては、十分コストは、ノードがあるタイル内に存在 し、このタイル内のいずれのノードも、入口境界ノードのタイルまでの経路のコ ストがC以上となることを意味するように選択される。その様な入口ターゲット ノードを得るために、図9に示す手順を使用できる。しかし、終点優先キューお よび終点訪問済みリストが始点優先キューおよび始点訪問済みリストの代わりと して使用される。更に、ステップ338において、ヘッドノードのタイル内の任 意のノードから入口境界ノードのタイルまでの経路を、Cよりも少ないコストで 構築できるかどうかを判断する。ステップ311を完了した後、入口ターゲット ノードの集合を入口ノードの集合として使用する。 ステップ312において、入口ターゲットノードから入口境界ノードまでの経 路を発見する。この経路発見は、図10に記載した手順を実行することにより行 われる。しかし、終点優先キューおよび終点訪問済みリストが始点優先キューお よび始点訪問済みリストの代わりに使用され、また、経路発見手順において、各 入口境界ノードは終点として働く。また、図11A、11B、および11Cに示 す手順を実行することにより、このような経路の集合を特定できる。更に、経路 発見手順において、終点優先キューおよび終点訪問済みリストを使用し、入口境 界ノードが終点として働く。 入口ターゲットノードをマークする際、出口ターゲットノードについてさきに 記載したように、ステップ313において、各入口ターゲットノードは、対応す る入口境界ノードの集合によりマークされる。ステップ314において入口ター ゲットノードをプッシュバックする際、各入口ターゲットノードを図12および 13で示す方法でプッシュバックできる。入口ターゲットノードの場合、図13 に示すノード間のリンクを単に反転させ、このリンクが境界ノードに向かって延 びるようする。また、入口境界ノードを出口境界ノードの代わりに使用する。プ ッシュバックを完了した後、入口ターゲットノードの集合を入口ノードの集合と して使用する。 ステップ315において、入口ターゲットノードに対してディスチャージを実 行するかどうかを判断する。ディスチャージを実行することが望ましい場合、ス テップ316において、出口ターゲットノードについて既に記載した方法と同様 の方法で実行できる。しかし、入口境界ノードが出口境界ノードの代わりに使用 され、ネットワークのリンクが入口ターゲットノードから遠ざかる方向に、入口 境界ノードに向かって延びている。 以上の本発明の詳細な説明は、例示および説明を目的として示したものである 。本発明を完全に表したものではなく、また、開示された通りのものに限定され るものではない。また、上記の教示に鑑みて、多くの変形および変更を施すこと が可能である。記載した実施例は、本発明の原理および実際的なアプリケーショ ンを最もよく説明し、これにより、当業者が種々の実施形態でかつ予想される特 定の使用に適した種々の変形を加えて本発明を最適に利用できるようにするため に選択したものである。本発明の範囲は添付のクレームによって定義されるもの である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(GH,KE,LS,MW,S D,SZ,UG,ZW),EA(AM,AZ,BY,KG ,KZ,MD,RU,TJ,TM),AL,AM,AT ,AU,AZ,BA,BB,BG,BR,BY,CA, CH,CN,CU,CZ,DE,DK,EE,ES,F I,GB,GE,GH,HU,ID,IL,IS,JP ,KE,KG,KP,KR,KZ,LC,LK,LR, LS,LT,LU,LV,MD,MG,MK,MN,M W,MX,NO,NZ,PL,PT,RO,RU,SD ,SE,SG,SI,SK,SL,TJ,TM,TR, TT,UA,UG,UZ,VN,YU,ZW 【要約の続き】 (310)についての境界ノードの集合(B1,B2, B3,B4,B5)およびターゲットノード(ET)の 集合(311)を特定することで特定できる。ターゲッ トノードはそれぞれ領域から十分なコストだけ離れてい る。ターゲットノード(ET)の集合は出口ノード (A,B,C,D,E,F,G,H,I)もしくは入口 ノード(A,B,C,D,E,F,G,H,I)の集合 として機能する。ターゲットノードの集合を、出口ノー ド(A,B,C,D,E,F,G,H,I)もしくは入 口ノード(A,B,C,D,E,F,G,H,I)の集 合としての機能が改善されるように修正(309)でき る。

Claims (1)

  1. 【特許請求の範囲】 1.処理装置で読取可能に表現したネットワークにおける第1領域に関連する ノードの集合を特定する、コンピュータによって実施される方法であって、 (a)第1領域内の境界ノードの集合を特定するステップと、 (b)ターゲットノードの集合を特定するステップとを含み、前記ターゲットノ ードの集合における各ノードが第1領域から十分コストだけ離れている方法。 2.請求項1に記載の方法であって、更に、 (c)前記ターゲットノードの集合を修正するステップを含む方法。 3.請求項2に記載の方法であって、前記ステップ(c)が、ターゲットノード の集合におけるノードの数を減少させることを含む方法。 4.請求項2に記載の方法であって、前記ステップ(c)が、前記ターゲットノ ードの集合におけるノードを第1領域により近いノードと置き換えることを含む 方法。 5.請求項2に記載の方法であって、前記ステップ(c)が、 前記境界ノードの集合におけるノードと前記ターゲットノードの集合における ノードとの間の経路を決定するステップを含む方法。 6.請求項2に記載の方法であって、前記ステップ(c)が、 優先キューおよび訪問済みリストをセットアップするステップであって、前記 優先キューがノードの識別情報およびキーを記憶し、前記訪問済みリストがノー ド識別情報およびノードからの移動のコストを記憶するステップと、 前記優先キューを初期化してノードを前記境界ノードの集合に含めるステップ と、 前記境界ノードの集合における前記ノードに隣接するノードの集合を発見する ステップと、 前記隣接ノードの各々から前記境界ノードの集合における前記ノードまでの移 動のコストを決定するステップと、 前記隣接ノードをコストでソートされた前記優先キューに挿入するステップと 、 前記隣接ノードを前記訪問済みリストに挿入するステップと、 前記境界ノードの集合の前記ノードを前記優先キューから取り除くステップと 、 前記優先キューの先頭のノードに隣接するノードの集合を発見するステップと 、 前記優先キューの先頭のノードに隣接する各ノードからの移動のコストを決定 するステップと、 少なくとも前記優先キューの先頭のノードに隣接する前記ノードの部分集合を 前記優先キューに挿入するステップと、 前記優先キューの先頭のノードに隣接する前記ノードが、より低いコストを有 するものとして前記訪問済みリストにまだ存在しない場合に、このノードを前記 ノード訪問済みリストに挿入するステップと 前記優先キューの先頭にあるノードを前記優先キューから取り除くステップと 、 を含む方法。 7.請求項2に記載の方法であって、前記ステップ(c)が、 優先キューおよび訪問済みリストをセットアップするステップであって、前記 優先キューがノードの識別情報およびキーを記憶し、前記訪問済みリストがノー ド識別情報および各ノード識別情報の各々についての複数のコストを記憶するス テップと、 前記優先キューを初期化して複数のノードを前記境界ノードの集合に含めるス テップと、 前記境界ノードの集合における複数のノードの内の一つに隣接するノードの集 合を発見するステップと、 前記隣接ノードの各々から前記境界ノードの集合における前記複数のノードの 内の一つまでの移動に要するコストを決定するステップと、 前記隣接ノードを前記複数のコストの内の一つでソートされた前記優先キュー に挿入するステップと、 前記隣接ノードを前記訪問済みリストに挿入するステップと、 前記優先キューから前記境界ノードの集合の前記複数のノードの内の一つを取 り除くステップと、 前記優先キューの先頭のノードに隣接するノードの集合を発見するステップと 、 前記優先キューの先頭のノードに隣接する各ノードからの移動に要するコスト を決定するステップと、 少なくとも前記優先キューの先頭のノードに隣接する前記ノードの部分集合を 前記優先キューに挿入するステップと、 前記優先キューの先頭のノードに隣接する前記ノードが、より低いコストを有 するものとして訪問済みリスト中にまだ存在しない場合に、前記ノードを前記訪 問済みリストに挿入するステップと 前記優先キューの先頭のノードを前記優先キューから取り除くステップと、 を含む方法。 8.請求項7に記載の方法であって、所定の条件を満たしたときに前記ステップ (c)を完了する方法。 9.請求項8に記載の方法であって、前記優先キューが空のときに前記所定の条 件が満たされる方法。 10.請求項2に記載の方法であって、更に、 前記ターゲットノードの集合におけるノードを前記境界ノードの集合における ノードの集合によりマークするステップと、 前記ターゲットノードの集合におけるノードをプッシュバックしてフォークノ ードを特定するステップと、 前記プッシュバックされたノードもマークする前記境界ノードの集合における ノードの集合により、前記フォークノードをマークするステップと、 前記フォークノードを前記ターゲットノードの集合に追加するステップと、 前記プッシュバックされたノードを前記ターゲットノードの集合から削除する ステップと、 を含む方法。 11.請求項10に記載の方法であって、前記ノードをマークするステップに記 載した、前記境界ノードの集合における前記ノードの集合が、前記境界ノードの 集合における全てのノードを含む方法。 12. 請求項10に記載の方法であって、前記ノードをマークするステップに おいて記載した、前記境界ノードの集合における前記ノードの集合内の各ノード が、前記ターゲットノードの集合におけるノードから第1領域までの経路に沿っ て進んだときに着く最初の境界ノードである方法。 13. 請求項10に記載の方法であって、前記フォークノードが、前記ノード をマークするステップにおいて記載した前記境界ノードの集合における前記ノー ドの集合内のノードと結合された経路を有する、少なくとも二つのノードと直接 結合される方法。 14. 請求項10に記載の方法であって、フォークノードが、前記ノードをマ ークするステップに記載した前記境界ノードの集合における前記ノードの集合に おけるノードと結合された経路を有する、ただ一つのノードと直接結合される方 法。 15.請求項10に記載の方法であって、前記プッシュバックするステップは、 プッシュバックされる前記ノードと第1領域との間を延びる経路における第1ノ ードを特定するステップであって、前記第1ノードはプッシュバックされる前記 ノードに最も近く、複数のノードへのリンクを有し、これら複数のノードの各々 は、前記ノードをマークするステップに記載した前記境界ノードの集合における ノードの集合内のノードへの経路によって結合されるものであるステップと、 前記第1ノードを前記フォークノードとして選択するステップとを含む方法。 16.請求項10に記載の方法であって、前記ステップ(c)が、前記ターゲッ トノードの集合におけるノードをディスチャージするステップを含む方法。 17.請求項16に記載の方法であって、前記ディスチャージするステップが、 複数のノードへのリンクを有する前記ターゲットノードの集合におけるノード を選択するステップであって、複数のノードの各々が境界ノードに結合する経路 内に存在するステップと、 前記複数のノードにおけるノードをプッシュバックしてフォークノードを得る ステップと、 前記フォークノードがまだ前記ターゲットノードの集合内に無い場合に、前記 フォークノードを前記ターゲットノードの集合に追加するステップと、 前記ターゲットノードの集合からディスチャージされた前記ノードを削除する ステップとを含む方法。 18.請求項17に記載の方法で、前記ディスチャージするステップが更に、前 記フォークノードを境界ノードの集合によりマークするステップを含む方法。 19.請求項16に記載の方法であって、前記ディスチャージするステップを実 行することで前記ターゲットノードの集合におけるノードの数が増加するまで、 前記ディスチャージするステップを繰り返し実行する方法。 20.請求項16に記載の方法であって、更に、 (1)前記ディスチャージするステップを実行することで前記ターゲットノード の集合におけるノードの数が増加するまで、前記ディスチャージするステップを 繰り返し実行するステップと、 (2)前記ステップ(1)を実行した後、条件が存在するかどうかを判断するス テップと、 (3)前記ステップ(2)において条件が存在すると判断された場合に前記ター ゲットノードの集合におけるノードをディスチャージするステップと、 (4)前記ステップ(3)を実行した後、前記ステップ(1)〜(3)を実行す るステップとを含む方法。 21.請求項20に記載の方法であって、前記条件は、第1タイルと前記ターゲ ットノードの集合における前記ノードの任意のものとの間の移動コストが所定の 値を超えることであり、前記ステップ(1)においてディスチャージされた前記 ノードが、第1タイルから最大コストだけ離れている、前記ターゲットノードの 集合内のノードである方法。 22.請求項20に記載の方法であって、前記条件は、前記ターゲットノードの 集合における任意のノードのディスチャージスコアが所定の値を超えることであ り、前記ステップ(3)においてディスチャージされた前記ノードが、前記ター ゲットのノードの集合内のディスチャージスコアが最大のノードである方法。 23.請求項23に記載の方法であって、第1領域からの経路によって前記ター ゲットノードの集合における各ノードに着くためには、少なくともCであるコス トを要し、Cが所定の値である方法。 24.請求項23に記載の方法であって、前記ステップ(b)が、 始点優先キューおよび始点訪問済みリストをセットアップするステップであっ て、前記始点優先キューがノードの識別情報およびキーを記憶し、前記始点訪問 済みリストがノード識別情報および始点ノードからの移動のコストを記憶するス テップと、 前記始点優先キューを初期化してノードを前記境界ノードの集合に含めるステ ップと、 前記境界ノードの集合における前記ノードに隣接するノードの集合を発見する ステップと、 前記境界ノードの集合における前記ノードから前記隣接ノードの各々までの移 動のコストを決定するステップと、 前記隣接ノードをコストでソートされた前記始点優先キューに挿入するステッ プと、 前記隣接ノードを前記始点訪問済みリストに挿入するステップと、 前記始点優先キューから前記境界ノードの集合の前記ノードを取り除くステッ プと、 前記始点優先キューの先頭のノードに隣接するノードの集合を発見するステッ プと、 前記始点優先キューの先頭のノードに隣接する前記ノード各々への移動のコス トを決定するステップと、 少なくとも前記始点優先キューの先頭のノードに隣接する前記ノードの部分集 合を前記始点優先キューに挿入するステップと、 前記始点優先キューの先頭のノードに隣接する前記ノードが、より低いコスト を有するものとして前記始点訪問済みリスト中にまだ存在しない場合に、このノ ードを前記始点訪問済みリストに挿入するステップと 前記始点優先キューの先頭のノードを前記始点優先キューから取り除くステッ プと、 を含む方法。 25.請求項24に記載の方法であって、所定の条件が満たされたときに前記タ ーゲットノードの集合におけるノードを特定する方法。 26.請求項25に記載の方法であって、所定の条件が、所定の値以上のキーを 有する、前記始点優先キューの先頭のノードである方法。 27.請求項1に記載の方法であって、前記ターゲットノードの集合における任 意のノードからの経路によって第1領域に着くためには、少なくともCであるコ ストを要し、Cが所定の値である方法。 28.請求項27に記載の方法であって、前記ステップ(b)が、 終点優先キューおよび終点訪問済みリストをセットアップするステップであっ て、前記終点優先キューがノードの識別情報およびキーを記憶し、前記終点訪問 済みリストがノード識別情報および終点ノードまでの移動のコストを記憶するス テップと、 前記終点優先キューを初期化してノードを前記境界ノードの集合に含めるステ ップと、 前記境界ノードの集合における前記ノードに隣接するノードの集合を発見する ステップと、 前記各隣接ノードの各々から前記境界ノードの集合における前記ノードまでの 移動のコストを決定するステップと、 前記隣接ノードをコストでソートされた前記終点優先キューに挿入するステッ プと、 前記隣接ノードを前記終点訪問済みリストに挿入するステップと、 前記終点優先キューから前記境界ノードの集合の前記ノードを取り除くステッ プと、 前記終点優先キューの先頭のノードに隣接するノードの集合を発見するステッ プと、 前記終点優先キューの先頭のノードに隣接する前記ノードの各々からの移動に 要するコストを決定するステップと、 少なくとも前記終点優先キューの先頭のノードに隣接する前記ノードの部分集 合を前記終点優先キューに挿入するステップと、 前記終点優先キューの先頭のノードに隣接する前記ノードが、より低いコスト を有するものとして前記終点訪問済みリスト中にまだ存在しない場合に、前記ノ ードを前記終点訪問済みリストに挿入するステップと 前記終点優先キューの先頭のノードを前記終点優先キューから取り除くステッ プと、 を含む方法。 29.請求項28に記載の方法であって、前記所定の条件が満たされたときに前 記ターゲットノードの集合におけるノードを特定する方法。 30.請求項29に記載の方法であって、前記所定の条件は、前記始点優先キュ ーの先頭のノードのキー値が所定の値以上であることである方法。 31.請求項1に記載の方法であって、前記ターゲットノードの集合における各 ノードが、第1領域からの経路により、少なくともCであるコストを要さなくて は着くことのできないノードのみを有するタイル内に存在し、Cが所定の値であ る方法。 32.請求項31に記載の方法であって、前記ステップ(b)が、 始点優先キューおよび始点訪問済みリストをセットアップするステップであっ て、前記始点優先キューがノードの識別情報およびキーを記憶し、前記始点訪問 済みリストがノード識別情報および始点ノードからの移動のコストを記憶するス テップと、 前記始点優先キューを初期化してノードを前記境界ノードの集合に含めるステ ップと、 前記境界ノードの集合における前記ノードに隣接するノードの集合を発見する ステップと、 前記境界ノードの集合における前記ノードから前記隣接ノードの各々までの移 動のコストを決定するステップと、 前記隣接ノードをコストでソートされた前記始点優先キューに挿入するステッ プと、 前記隣接ノードを前記始点訪問済みリストに挿入するステップと、 前記始点優先キューにから前記境界ノードの集合の前記ノードを取り除くステ ップと、 前記始点優先キューの先頭のノードに隣接するノードの集合を発見するステッ プと、 前記始点優先キューの先頭のノードに隣接する前記ノードの各々への移動に要 するコストを決定するステップと、 少なくとも始点優先キューの先頭のノードに隣接する前記ノードの部分集合を 前記始点優先キューに挿入するステップと、 前記始点優先キューの頭のノードに隣接するノードが、より低いコストを有す ものとして前記始点訪問済みリスト中にまだ存在しない場合に、このノードを前 記始点訪問済みリストに挿入するステップと 前記始点優先キューの先頭のノードを前記始点優先キューから取り除くステッ プと、 を含む方法。 33.請求項32に記載の方法であって、所定の条件が満たされたときに前記タ ーゲットノードの集合におけるノードを特定する方法。 34.請求項33に記載の方法であって、前記所定の条件は、前記終点優先キュ ーの先頭のノードのキー値が所定の値以上であることであり、第1タイルから、 所定の値未満のコストでは、前記始点優先キューの先頭のノードを含むタイルに おけるいずれのノードにも着くことができない方法。 35.請求項1に記載の方法であって、前記ターゲットノードの集合におけるノ ードを含むタイル内の任意のノードからの経路によって第1領域に着くためには 、少なくともCのコストを要し、Cが所定の値である方法。 36.請求項35に記載の方法であって、前記ステップ(b)が、 終点優先キューおよび終点訪問済みリストをセットアップするステップであっ て、前記終点優先キューがノードの識別情報およびキーを記憶し、前記終点訪問 済みリストがノード識別情報およびノードからの移動のコストを記憶するステッ プと、 前記終点優先キューを初期化してノードを前記境界ノードの集合に含めるステ ップと、 前記境界ノードの集合における前記ノードに隣接するノードの集合を発見する ステップと、 前記隣接ノードの各々から前記境界ノードの集合における前記ノードまでの移 動のコストを決定するステップと、 前記隣接ノードをコストでソートされた前記終点優先キューに挿入するステッ プと、 前記隣接ノードを前記終点訪問済みリストに挿入するステップと、 前記終点優先キューにから前記境界ノードの集合の前記ノードを取り除くステ ップと、 前記終点優先キューの先頭のノードに隣接するノードの集合を発見するステッ プと、 前記終点優先キューの先頭のノードに隣接する前記ノードの各々からの移動の コストを決定するステップと、 少なくとも前記終点優先キューの先頭のノードに隣接する前記ノードの部分集 合を前記終点優先キューに挿入するステップと、 前記終点優先キューの先頭のノードに隣接する前記ノードが、より低いコスト を有するものとして前記終点訪問済みリスト中にまだ存在しない場合に、このノ ードを前記終点訪問済みリストに挿入するステップと 前記終点優先キューの先頭のノードを前記終点優先キューから取り除くステッ プと、 を含む方法。 37.請求項36に記載の方法であって、所定の条件が満たされたときに前記タ ーゲットノードの集合におけるノードを特定する方法。 38.請求項37に記載の方法であって、前記所定の条件は、前記終点優先キュ ーの先頭のノードのキー値が所定の値以上であることであり、前記始点優先キュ ーの先頭のノードを含んだ領域内の任意のノードから第1領域に着くためには、 少なくとも所定の値のコストを要する方法。 39.請求項1に記載の方法であって、前記境界ノードの集合が、前記第1領域 内の全ての境界ノードを含む方法。 40.経路発見に使用されるノードの集合を構築する、コンピュータによって実 施される方法であって、ノードの集合が、処理装置で読取可能な媒体に保存され た、コンピュータで読取可能に表現したネットワークにおける第1領域に関連し ていて、前記ノードの集合は処理装置で読取可能に表現したネットワークの中に も存在し、 (a)第1領域内の境界ノードの集合を特定するステップと、 (b)ターゲットノードの集合を特定するステップであって、前記ターゲットノ ードの集合における各ノードが第1領域から十分コストだけ離れているステップ と、 (c)前記境界ノードの集合におけるノードと、前記ターゲットノードの集合に おけるノードの集合との間の経路を決定するステップと、 (d)前記境界ノードの集合におけるノードの集合により前記ターゲットノード の集合におけるノードをマークするステップと、 (e)前記ターゲットノードの集合におけるノードをプッシュバックすることで フォークノードを特定するステップと、 (f)前記ステップ(e)においてプッシュバックされた前記ノードをマークす る前記境界ノードの集合におけるノードの集合により、前記フォークノードをマ ークするステップと、 (g)前記フォークノードを前記ターゲットノードの集合に追加するステップと 、 (h)前記ステップ(e)においてプッシュバックされた前記ノードを削除する ステップと を含む方法。 41.請求項40に記載の方法であって、更に、 (i)前記ターゲットノードの集合におけるノードをディスチャージするステッ プ を含む方法。 42.第1領域内の始点ノードと第2領域内の終点ノードとの間の経路を特定す る、コンピュータによって実施される方法であって、該始点ノードおよび該終点 ノードはコンピュータで読取可能な媒体上に保存された、処理装置で読取可能に 表現したネットワーク上に位置しており、 (a)前記始点ノードと第1ノードとの間の経路を決定する経路発見を実行する ステップであって、前記第1ノードは、出口境界ノードの集合の特定および出口 ターゲットノードの集合の特定を含む手順により特定され、前記出口ターゲット ノードの集合における各ノードは第1領域から十分コストだけ離れているステッ プと、 (b)前記終点ノードと第2ノードとの間の経路を決定する経路発見を実行する ステップであって、前記第2ノードは、入口境界ノードの集合の特定および入口 ターゲットノードの集合の特定を含む手順により特定され、前記入口ターゲット ノードの集合における各ノードは第2領域から十分コストだけ離れているステッ プと、 (c)前記第1ノードと前記第2ノードとの間の経路を判断する経路発見を実行 するステップと、 を含む方法。 43.請求項42に記載の方法であって、前記ステップ(c)が、 所定の経路のリストにアクセスするステップと、 前記第1ノードと前記第2ノードとの間の経路を選択するステップと、 を含む方法。 44.処理装置で読取可能に表現したネットワークにおける第1タイルと関連し たノードの集合を特定する、処理装置で読取可能なプログラムコードが組み込ま れている処理装置で読取可能な記憶媒体であって、前記処理装置で読取可能なプ ログラムコードは、 処理装置に対して、第1タイルにおける境界ノードの集合を特定するように命 令する第1プログラムコードと、 処理装置に対して、各ノードが第1タイルから十分コストだけ離れているター ゲットノードの集合を特定するように命令する第2プログラムコードと、 を含む、処理装置で読取可能な記憶媒体。 45.請求項44に記載の処理装置で読取可能な記憶媒体であって、前記処理装 置で読取可能なプログラムコードは更に、 処理装置に対して、前記ターゲットノードの集合を修正するように命令する第 3プログラムコード を含む、処理装置で読取可能な記憶媒体。 46.請求項45に記載の処理装置で読取可能な記憶媒体であって、前記第3プ ログラムコードは、処理装置に対して、前記ターゲットノードの集合におけるノ ードの数を減少させるように命令する、処理装置で読取可能な記憶媒体。 47.請求項45に記載の処理装置で読取可能な記憶媒体であって、前記第3プ ログラムコードは、処理装置に対して、前記ターゲットノードの集合におけるノ ードを、前記第1タイルにより近いノードと置き換えるように命令する、処理装 置で読取可能な記憶媒体。 48.請求項44に記載の処理装置で読取可能な記憶媒体であって、前記処理装 置で読取可能なプログラムコードは更に、 処理装置に対して、前記境界ノードの集合におけるノードと、前記ターゲット ノードの集合におけるノードとの間の経路を決定するように命令する第3プログ ラムコードと、 処理装置に対して、前記境界ノードの集合におけるノードの集合により、前記 ターゲットノードの集合におけるノードをマークするように命令する第4のプロ グラムコードと、 処理装置に対して、前記ターゲットノードの集合におけるノードをプッシュバ ックしてフォークノードを特定するように命令する第5のプログラムコードと、 処理装置に対して、プッシュバックされた前記ノードをマークしている前記境 界ノードの集合におけるノードの集合により、前記フォークノードをマークする ように命令する第6のプログラムコードと、 処理装置に対して、前記フォークノードを前記ターゲットノードの集合に追加 するように命令する第7のプログラムコードと、 処理装置に対して、前記ターゲットノードの集合から、プッシュバックされた 前記ノードを削除するように命令する第8のプログラムコードと、 を含む処理装置で読取可能な記憶媒体。 49.請求項48に記載の処理装置で読取可能な媒体であって、処理装置で読取 可能なプログラムコードは更に、 処理装置に対して、前記終点ノードの集合におけるノードをディスチャージす るように支持する第9のプログラムコード を含む処理装置で読取可能な媒体。 50.請求項44に記載の処理装置で読取可能な記憶媒体であって、前記ターゲ ットノードの集合における各ノードと第1タイルとの間の各経路が少なくともC であるコストを有し、Cが所定の値である処理装置で読取可能な記憶媒体。 51.請求項44に記載の処理装置で読取可能な記憶媒体であって、ターゲット ノードの集合におけるノードを含むタイル内の任意のノードと第1タイルとの間 の各経路が少なくともCであるコストを有し、Cが所定の値である処理装置で読 取可能な記憶媒体。 52.処理装置で読取可能な記憶媒体に組み入れられいる電子地図に使用する、 処理装置で読取可能なノードの集合を有し、前記ノードの集合は請求項1の方法 に従って生成される処理装置で読取可能な記憶媒体。 53.第1領域内の始点ノードと第2領域内の終点ノードとの間の経路を特定す るための、処理装置で読取可能なプログラムコードが組み込まれている処理装置 で読取可能な記憶媒体であって、始点ノードおよび終点ノードは、処理装置で読 取可能に表現したネットワーク上に位置しており、処理装置で読取可能なプログ ラムコードは、 処理装置に対して、前記始点ノードと第1ノードとの間の経路を決定する経路 発見を実行するように命令する第1プログラムコードであって、前記第1ノード は、出口境界ノードの集合の特定および出口ターゲットノードの集合の特定を含 む手順により特定され、前記出口ターゲットノードの集合における各ノードは第 1領域から十分コストだけ離れている第1プログラムコードと、 処理装置に対して、前記終点ノードと第2ノードとの間の経路を決定する経路 発見を実行するように命令する第2プログラムコードであって、前記第2ノード は、入口境界ノードの集合の特定および入口ターゲットノードの集合の特定を含 む手順により特定され、前記入口ターゲットノードの集合における各ノードは第 2領域から十分コストだけ離れている第2プログラムコードと、 処理装置に対して、前記第1ノードと前記第2ノードとの間の経路を判断する 経路発見を実行するように命令する第3プログラムコードと、 を含む処理装置で読取可能な記憶媒体。 54.処理装置で読取可能に表現したネットワークにおける第1領域に関連する ノードの集合を特定する装置であって、 第1タイル内の境界ノードの集合を特定する手段と、 各々のノードが第1タイルから十分コストだけ離れているターゲットノードの 集合を特定する手段と、 を含む装置。 55.請求項54に記載の装置であって、更に、 前記境界ノードの集合におけるノードと前記ターゲットノードの集合における ノードとの間の経路を決定する手段と、 前記境界ノードの集合におけるノードの集合により、前記ターゲットノードの 集合におけるノードをマークする手段と、 前記ターゲットノードの集合におけるノードをプッシュバックしてフォークノ ードを特定する手段と、 プッシュバックされた前記ノードもマークする、前記境界ノードの集合におけ るノードの集合により前記フォークノードをマークする手段と、 前記フォークノードを前記ターゲットノードの集合に追加する手段と、 プッシュバックされた前記ノードを前記ターゲットノードの集合から削除する手 段と、 を含む装置。 56.請求項55に記載の装置であって、更に、前記ターゲットノードの集合に おけるノードをディスチャージする手段を含む装置。 57.処理装置で読取可能に表現したネットワーク内の第1タイルに関連するノ ードの集合を特定するための装置であって、 処理装置と、 前記処理装置に通じている記憶装置と、 前記処理装置および前記記憶装置に通じている、処理装置で読取可能な記憶媒 体と、 を有し、 前記処理装置は、 第1タイル内の境界ノードを特定し、 各々のノードが第1タイルから十分コストだけ離れている、ターゲットノード の集合を特定し、 前記境界ノードの集合におけるノードと前記ターゲットノードの集合における ノードとの間の経路を決定し、 前記境界ノードの集合におけるノードの集合により前記ターゲットノードの集 合におけるノードをマークし、 フォークノードを特定するために、前記ターゲットノードの集合におけるノー ドをプッシュバックし、 プッシュバックされた前記ノードもマークしている前記境界ノードの集合にお けるノードの集合により前記フォークノードをマークし、 前記フォークノードを前記ターゲットノードの集合に追加し、 前記プッシュバックされたノートを前記ターゲットノードの集合から削除する ようにプログラムされている装置。 58.処理装置で読取可能なネットワーク上に位置する、第1タイル内の始点ノ ードと第2タイル内の終点ノードとの間の経路を発見するための装置であって、 処理装置と、 前記処理装置に通じている記憶装置と、 前記処理装置および前記記憶装置に通じている、処理装置で読取可能な記憶媒 体と、 を有し、 前記処理装置は、 前記始点ノードと第1ノードとの間の経路を決定する経路発見を実行するステ ップであって、前記第1ノードは、出口境界ノードの集合の特定および出口ター ゲットノードの集合の特定を含む処理により特定され、前記出口ターゲットノー ドの集合における各ノードは第1タイルから十分コストだけ離れているステップ と、 前記終点ノードと第2ノードとの間の経路を決定する経路発見を実行するステ ップであって、前記第2ノードは、入口境界ノードの集合の特定および入口ター ゲットノードの集合の特定を含む手順により特定され、前記入口ターゲットノー ドの集合における各ノードは第2タイルから十分コストだけ離れているステップ と、 前記第1ノードと前記第2ノードとの間の経路を決定する経路発見を実行する ステップと、 を実行するようにプログラムされている装置。
JP52471298A 1996-11-25 1997-11-12 ネットワーク内の領域の出口および入口を決定する方法 Pending JP2001507143A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/756,258 US5916299A (en) 1996-11-25 1996-11-25 Method for determining exits and entrances for a region in a network
US08/756,258 1996-11-25
PCT/US1997/020988 WO1998024035A1 (en) 1996-11-25 1997-11-12 Method for determining exits and entrances for a region in a network

Publications (2)

Publication Number Publication Date
JP2001507143A true JP2001507143A (ja) 2001-05-29
JP2001507143A5 JP2001507143A5 (ja) 2005-06-16

Family

ID=25042690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52471298A Pending JP2001507143A (ja) 1996-11-25 1997-11-12 ネットワーク内の領域の出口および入口を決定する方法

Country Status (5)

Country Link
US (1) US5916299A (ja)
EP (1) EP1019843A4 (ja)
JP (1) JP2001507143A (ja)
AU (1) AU5442098A (ja)
WO (1) WO1998024035A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020050164A1 (ja) * 2018-09-06 2020-03-12 本田技研工業株式会社 経路細分装置

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1137780A (ja) * 1997-07-23 1999-02-12 Mitsubishi Electric Corp 経路探索方法
DE19741116B4 (de) * 1997-09-12 2004-02-26 Mannesmann Ag Verfahren zur Übertragung von Wegedaten, Verfahren zur Analyse eines Verkehrswegenetzes, Verkehrserfassungszentrale und Endgerät
US6016485A (en) * 1998-02-13 2000-01-18 Etak, Inc. System for pathfinding
US6885937B1 (en) * 1998-12-10 2005-04-26 Tele Atlas North America, Inc. Shortcut generator
US6311187B1 (en) * 1998-12-29 2001-10-30 Sun Microsystems, Inc. Propogating updates efficiently in hierarchically structured data under a push model
US6377957B1 (en) * 1998-12-29 2002-04-23 Sun Microsystems, Inc. Propogating updates efficiently in hierarchically structured date
US6266610B1 (en) * 1998-12-31 2001-07-24 Honeywell International Inc. Multi-dimensional route optimizer
US7428525B1 (en) 1999-11-12 2008-09-23 Tele Atlas North America, Inc. Virtual street addressing radius
US6356838B1 (en) * 2000-07-25 2002-03-12 Sunil Paul System and method for determining an efficient transportation route
US6526348B1 (en) * 2000-08-25 2003-02-25 Navigation Technologies Corp. Method and system for compact representation of routes
US6625615B2 (en) * 2000-12-19 2003-09-23 International Business Machines Corporation Data processing system and method for multi-level directory searches
JP4648612B2 (ja) * 2001-02-26 2011-03-09 アルク テクノロジーズ インコーポレイテッド シン・クライアントナビゲーションおよびルートガイダンスシステム
US7072977B1 (en) 2001-04-10 2006-07-04 Codem Systems, Inc. Method and apparatus for creating links to extend a network
US7231394B2 (en) * 2001-07-17 2007-06-12 Sony Corporation Incremental bottom-up construction of data documents
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
US8560223B2 (en) 2002-08-29 2013-10-15 Mapquest, Inc. Automated route determination
US7610145B2 (en) 2003-07-25 2009-10-27 Triangle Software Llc System and method for determining recommended departure time
US20050027838A1 (en) * 2003-07-29 2005-02-03 Magid Robert Mark System and method for intercepting user exit interfaces in IMS programs
EP1652134A1 (en) * 2003-07-31 2006-05-03 Sap Ag Determining distances in a warehouse
US7908080B2 (en) 2004-12-31 2011-03-15 Google Inc. Transportation routing
DE102006018877A1 (de) 2006-04-24 2007-10-31 Siemens Ag Verfahren und Vorrichtung zum Ermitteln von Mindestkosten von einem Startort zu einem Zielort
DE602006010988D1 (de) * 2006-06-13 2010-01-21 Harman Becker Automotive Sys Bestimmung einer optimalen Route mittels einer Schätzungsfunktion
US8619072B2 (en) 2009-03-04 2013-12-31 Triangle Software Llc Controlling a three-dimensional virtual broadcast presentation
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
WO2012065188A2 (en) 2010-11-14 2012-05-18 Triangle Software Llc Crowd sourced traffic reporting
US9127948B2 (en) * 2011-03-29 2015-09-08 Raytheon Company Path determination using elevation data
WO2012159083A2 (en) 2011-05-18 2012-11-22 Triangle Software Llc System for providing traffic data and driving efficiency data
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
US10311756B1 (en) 2013-06-28 2019-06-04 Google Llc Systems, methods, and computer-readable media for validating addresses
CN114234988A (zh) * 2020-09-09 2022-03-25 华为技术有限公司 一种导航方法、设备及***

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
US5036471A (en) * 1989-04-18 1991-07-30 Sanyo Electric Co., Ltd. Apparatus for road path searching applicable to car navigation system and operation method thereof
WO1992014215A1 (en) * 1991-02-01 1992-08-20 Peterson Thomas D Method and apparatus for providing shortest elapsed time route information to users
JP2874397B2 (ja) * 1991-03-19 1999-03-24 松下電器産業株式会社 経路選出装置
US5276768A (en) * 1991-03-20 1994-01-04 Tidewater Consultants, Inc. Automated telephone information system
US5285391A (en) * 1991-08-05 1994-02-08 Motorola, Inc. Multiple layer road memory storage device and route planning system
ATE208109T1 (de) * 1993-07-30 2001-11-15 Ibm Verfahren und gerät zur automatischen verteilung einer netztopologie in haupt- und nebentopologie
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
US5452294A (en) * 1994-07-05 1995-09-19 Motorola, Inc. Method and apparatus for adaptive route selection in communication networks
DE69420731T2 (de) * 1994-10-05 2000-04-27 Zanavy Informatics Kk Navigationssystem und Wegsuchverfahren
US5712788A (en) * 1995-02-09 1998-01-27 Zexel Corporation Incremental route calculation
US5729458A (en) * 1995-12-29 1998-03-17 Etak, Inc. Cost zones
JP3223782B2 (ja) * 1996-02-08 2001-10-29 三菱電機株式会社 車両経路算出装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020050164A1 (ja) * 2018-09-06 2020-03-12 本田技研工業株式会社 経路細分装置
JPWO2020050164A1 (ja) * 2018-09-06 2021-09-24 本田技研工業株式会社 経路細分装置
JP7019057B2 (ja) 2018-09-06 2022-02-14 本田技研工業株式会社 経路細分装置
US11796327B2 (en) 2018-09-06 2023-10-24 Honda Motor Co., Ltd. Route subdivision apparatus

Also Published As

Publication number Publication date
US5916299A (en) 1999-06-29
WO1998024035A1 (en) 1998-06-04
EP1019843A4 (en) 2003-03-19
AU5442098A (en) 1998-06-22
EP1019843A1 (en) 2000-07-19

Similar Documents

Publication Publication Date Title
JP2001507143A (ja) ネットワーク内の領域の出口および入口を決定する方法
Huang et al. Large scale real-time ridesharing with service guarantee on road networks
JP4975711B2 (ja) 経路発見計算のための複数のコストレベルの使用
EP0870290B1 (en) Cost zones
US5978730A (en) Caching for pathfinding computation
CN102538806B (zh) 一种路径规划方法以及相关设备
JP3078520B2 (ja) 車両ナビゲーションシステムにおけるルート生成方法および装置
CN110515380B (zh) 基于转弯权重约束的最短路径规划方法
CN103134505A (zh) 路径规划***及其方法
JP2002503817A (ja) 経路発見システム
WO2009063449A2 (en) Corridor mapping with alternative routes
EP1149344B1 (en) Shortcut generator
CN107121146B (zh) 基于路链深度的最优路径规划方法
CN108334523A (zh) 道路场景地图的构建方法和装置
CN115713856A (zh) 一种基于交通流预测与实际路况的车辆路径规划方法
CN108572999A (zh) 兴趣面aoi轮廓的搜索方法及装置
CN107917716A (zh) 固定线路导航方法、装置、终端及计算机可读存储介质
CN110095134A (zh) 一种以用户的偏好为核心的路径规划和导航的方法及***
CN111337047B (zh) 基于多任务点约束的非结构化道路宏观路径规划方法
Aissat et al. Dynamic ridesharing with intermediate locations
JPH0256591A (ja) ナビゲーション装置及びそのルート探索方法
Jang et al. A study on the effectiveness of A2C and A3C reinforcement learning in parking space search in urban areas problem
CN112116226A (zh) 仿真车辆的控制方法、装置、计算机设备和存储介质
CN114413923B (zh) 一种行驶路线推荐方法、装置、存储介质及***
Wichmann et al. Automated route finding on digital terrains

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040915

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070911

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071207

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080304

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080911