もっと

最短経路アルゴリズムを使用して処理スクリプトを作成するにはどうすればよいですか?

最短経路アルゴリズムを使用して処理スクリプトを作成するにはどうすればよいですか?


現在、Road Graphプラグインを使用して、道路ネットワーク内の最短パスを見つけていますが、これを処理スクリプト(後でモデルで使用するため)に配置したいので、RoadGraphプラグインにはAPIがありません。モデルで使用されます。

最短パスアルゴリズムを処理スクリプトに配置し、このスクリプトをモデルで使用する方法はありますか?

Pythonクックブックでネットワーク/最短パス用のPythonスクリプトをいくつか見つけて、それを処理スクリプトに入れようとしましたが、私はPythonの完全な初心者なので、それほど遠くはありませんでした…

スクリプトは次のようにする必要があります。

  • ロードネットワーク(青)とラインベクトルレイヤー(紫)を入力として使用します
  • 線の始点(緑)と終点(赤)を、作成するパスの始点と終点として配置します
  • パスがたどる必要があるウェイポイントとして、入力ラインとネットワークの交点を使用します
  • ネットワーク経由でルーティングして最短パス(赤いリボン)を見つけ、そのパスをベクターレイヤーとして保存します

誰かがこのスクリプトを手伝ってくれますか?


私のGithubリポジトリでQGISネットワーク分析ライブラリを使用するルーティングスクリプトの複数のバージョンを見つけることができます。 https://github.com/anitagraser/QGIS-Processing-tools/blob/master/2.2/scripts/point_layer_to_route.pyこれは、順序付けられたポイントのセットをルートに変換します。

どのスクリプトも、入力行とネットワークの共通部分を使用していません。それはあなたがあなた自身で追加しなければならないものです。


最短経路高速アソシエーションアルゴリズムを使用した複数オブジェクトの追跡。

複数のオブジェクトの追跡は、コンピュータビジョンの分野でホットなトピックです。オブジェクトのロバストな追跡は、人間とコンピュータの相互作用、ビデオ監視、インテリジェントナビゲーションなどの多くのコンピュータビジョンアプリケーションにとって重要です[1、2]。補助としての高性能検出アルゴリズムとは別に、高品質のマルチオブジェクトトラッキングは、サポートのためのアルゴリズムも追跡する必要があります。これにより、照明、オクルージョン、クラッターなど、特定のタイプの複雑なケースに対処できます[3]。データアソシエーション(DA)メソッドは、マルチオブジェクトトラッキングのお気に入りです。よく利用される手法には、最近傍法[4]、同時確率データの関連付け[5]、ニューラルネットワークに基づく方法[6]などがあります。

上記のDA法の効果は、隣接するフレームの検出精度と密接に関係しています。これらの一般的なアプローチは、フォールスネガティブおよびフォールスポジティブに対して回復力があります。オブジェクトがフレーム内で検出されないが、前後のフレームにある場合、それはフォールスネガティブです。誤検知とは、追跡オブジェクト「A」をオブジェクト「B」と間違えていることです。この問題は、フィルタリングを使用した統計的軌道モデルを対象とした設計を使用して解決できますが[7、8]、最大事後確率を提供する計算方法はNP完全です。

最近の論文では、この問題に対するさまざまなアプローチが提案されています。 Giebel etal。 [9]サンプリングと粒子フィルタリングを使用して、同じオブジェクトからクラッターを取り除き、NP完全性の確率を減らします。この方法では、比較的正確な追跡軌道が得られますが、十分な数のサンプリングポイントが必要です。ペレラら。 [10]は、長いシーケンスをいくつかの短いシーケンスに分割し、多くの短い追跡トラックを生成し、カルマンフィルターを使用してそれらをリンクします。これにより、NP完全性を回避できます。この方法の精度は、短いトラッキングトラックの長さに反比例し、長さが短いほど、トラッキングが向上します。ただし、分割が多すぎると計算時間が長くなるため、メソッドはオブジェクトを長時間追跡できません。 Fleuret etal。 [11]順序を選択するために、合理的な欲張り動的計画法(DP)を使用して、長いシーケンスにわたって軌道を個別に処理します。これらのアプローチは効果的ではありますが、グローバルな最適解を達成することはできません。

Zhangのアプローチ[12]は、最小コストのネットワークフローフレームワークベースの最適化手法に依存して、複数のオブジェクトの追跡に最適なグローバルを見つけます。ただし、彼が提案する2つのアルゴリズムには実際にはいくつかの欠陥があり、その複雑さは多項式です。この枠組みの下で、Berclaz等。 [13]整数計画法(IP)問題としてマルチオブジェクト追跡を定式化し、線形計画法(LP)に還元します。 LP問題の最適化にk-shortestpaths(KSP)アルゴリズムを使用することにより、彼らのアプローチは複雑さを軽減し、堅牢なマルチオブジェクトトラッキングをリアルタイムで実行します。ただし、KSPには動的計画法(DP)よりもモーションモデルがないため、DPが断片的な軌道を無視する傾向があるため、より堅牢になります。 Pirsiavash [14]は、Zhangの作業を継続し、彼の方法を使用して、O(N)のK = 1の欲張りアルゴリズムでグローバル最適解を取得しますが、O(KN)のK&gt1の近似解のみを取得します。一意のトラックの未知の最適数です。

対照的に、この論文では、ZhangとBerclazによって提案されたモデルを効果的に組み合わせて、最短パス高速アルゴリズム(SPFA)のより効率的なフレームワークを考案します。 SPFAアルゴリズムは、グローバルソリューションを直接取得できるだけでなく、DPモーションモデルの利点も示しています。これにより、アルゴリズムは不完全な軌道を無視し、このタイプのノイズに対してより堅牢に動作できます。さらに、最悪の場合の複雑さと実行時間の両方に関して、上記の最先端のアルゴリズムよりもはるかに優れています。この論文での私たちの主な貢献は次のとおりです。

(1)最小コストネットワークモデルに基づいて、マルチオブジェクト追跡のための新しい一般的な数学的整数プログラミング定式化を紹介します。提案されたIP方式は、SPFAを使用して誤検知と誤検知を自然に除外するのに役立ちます。

(2)提案されたフレームワークの整数線形計画法の定式化を解き、グローバルな最適解を得るために、より迅速でより効率的なSPFAアルゴリズムを使用することを提案します。 [13、14]の最先端の方法と比較すると、SPFAアルゴリズムは、マルチオブジェクトの追跡精度と精度を損なうことなく、実行時間を明らかに改善できます。

このホワイトペーパーの残りの部分は、次のように構成されています。セクション2では、最小コストのネットワークフローフレームワークを使用してIPを作成し、それを継続的なLPに緩和します。セクション3には、元のIPを緩和するために提案された最短経路高速アルゴリズムが含まれています。セクション4では、ターゲットのローカリゼーションと長いシーケンスのセグメンテーション処理へのアプローチを紹介します。セクション5には、実験結果と完全な評価指標が含まれています。最後に、セクション6で結論を導き出します。

マルチオブジェクトトラッキングのターゲットモーションは、最小コストのネットワークフローフレームワークでDPメソッドを使用する近隣の場所間の関係を使用してより適切に説明できます。 13]と同じ方法で、マルチオブジェクト追跡の目的関数を定義します。尤度の客観的な存在は、すべてのフレームの限界事後確率によって推定され、それによって移動するオブジェクトの潜在的な軌道が取得されます。

2.1。最小コストフローモデル。マルチオブジェクト追跡をプロセスとして定式化します。このプロセスでは、各オブジェクトの目的の場所が連続時間で離散的に変化します。確率変数[kt]を持つ有向3D時空間グループは、ビデオシーケンスを記述するために使用されます。検討

[k t] =(x、y、t)、[k t] [メンバー] V、(1)

ここで、[k t]は、時間tにおけるこの時空間グループ内のオブジェクトの任意の位置を示し、Vは、シーケンス内のすべての時空間位置のセットであり、xおよびyは、横方向におけるターゲットのピクセル位置である。それぞれ、縦軸と縦軸。

時間tにおける任意の位置ktについて、近傍N([k t])[サブセット] <1,2 、。 K>は、時間t +1でオブジェクトが到達できる場所を示します。状態ベクトルT =([k 1]、。[k N])、およびX =の順序集合としての単一のトラック([T 1]、。[T L])はトラックのセットです。追跡トラックは互いに独立していると想定し、動的モデルを使用したマルチオブジェクト追跡のネットワークフローフレームワークを次のように説明します。

[ASCIIで再現できない数式](2)

[P source]([k 1])は、位置[k1]および[Psink]([k N])から始まる追跡トラックの確率です。追跡トラックが位置[kN]で終了する確率です。

空間座標セットVにおいて、バイナリインジケータ変数[φi、t]は、位置[k i]から位置[k t]への方向付けられた流れを表す、すなわち、それは、 [ki]から[kt]に移動するオブジェクトの数。オブジェクトが[k .t-1]時間tで、これは、オブジェクトが時間t-1とtの間で同じ空間位置にとどまることを意味します。時間t + 1における位置[k t]および[k j]について、いくつかの制約条件が変数[φi、t]に対して実行される:

[すべて] [k t]、[合計([k 1]、[k t] [メンバー] N([k i]))] [[phi ] i、t](3)

[すべて] [k i]、[k t]、[合計([k t] [メンバー] N([k i]))] [[phi ] i、t] [以下]1。(4)

確率変数[Mt]が、時空の位置[kt]にあるオブジェクトの真の存在を表すとします。時間tのすべての瞬間について、検出器は追跡ゾーンのすべての場所をチェックするために使用されます。既存のオブジェクトの限界事後確率は、次のように計算されます。

ここで、[It]はフレームtでの単一の画像です。セクション4.1の方法により、V内の存在オブジェクトの実行可能確率分布の実行可能セットに対してm = <[mt]>と記述します。 Mは[M t]の空間集合である。与えられたトラックのセットXにオブジェクトが存在する可能性の確率は次のとおりです。

[ASCIIで再現できない数式](6)

[M t]は、Xの条件付き独立性です。オブジェクトの存在の確率分布から、トラックの最大事後推定を推測できます。

[ASCIIで再現できない数式](7)

[ASCIIで再現できない数式](8)

[ASCIIで再現できない数式](9)

[ASCIIで再現できない数式](10)

[ASCIIで再現できない数式](11)

[数式はASCIIで再現できません]。 (12)

ここで、(10)は、(4)によれば[m t]が0または1であるため真であり、(11)は、[m t]に依存しない項を無視することによって得られる。隣接するフレームの近隣の場所間の有向フローのコスト値は、次のように定義されます。

c([e t、t + i])= --log([(rho)t] / 1-[(rho)t])、(13)

ここで、[e t、t + 1]は、時刻tにおける位置[k t]から時刻t + 1における位置[k t + 1]への有向エッジであり、その間の総コストVの任意の2つの場所は

[ASCIIで再現できない数式](14)

2.2。整数線形計画法。私たちのフレームワークでは、オブジェクトは追跡領域に出入りできるため、[13]によって提案されたソースとシンクの追加ノードを導入します。式(7)〜(12)は、自然に整数線形計画(ILP)に変換できます。

[ASCIIで再現できない数式](15)

ここで、制約条件は(3)および(4)と同じであり、[φ*] = argmin C(φ)はILPの最適解です。 C([e source、i])は、ソースノードからトラッキングトラックの場所へのフローの総コストであり、C([e i、sink])は、シンクノードへのトラック。図1は、マルチオブジェクトトラッキングから構築された単純なフローネットワークを示しています。ここで、コストは青いエッジのc([e i、j])、c([e source、i])およびc([e。 sub.j、sink])黒いエッジの場合。

コストは次のように定義されます。

c([e source、i])= --log [P source]([k i])、c([e i、sink])= --log [P.サブシンク]([k i])。 (16)

標準的な方法を使用したIPの緩和は、NP完全です。一般に、単純なアルゴリズムの変形[15、16]または内部点ベースの方法[17、18]を使用して、この問題を解決できます。ただし、これらのアルゴリズムには、最悪の場合の時間計算量が非常に高くなります。 [13、14]では、KSPと連続最短経路(SSP)の方法でIPを正常に緩和して連続LPにすることができますが、どちらにも独自の欠点があります。 SPFAアルゴリズムを使用して、これらの方法の欠陥を補います。

3.高速動的最短経路アルゴリズム

この論文では、最短経路高速アルゴリズムを使用して、ネットワークフローフレームワークによって整数計画を緩和します。このアルゴリズムの平均的なケースの複雑さはO(E)です。 SPFAアルゴリズムのグローバル最適化により、追跡の信頼性と効率が向上します。ネットワークフローフレームワークは、次のようにSPFAアルゴリズムを実現するために2つの特定のプロパティを必要とします。

(1)すべてのエッジとノードは互いに独立しています。すべてのエッジはユニット容量です。

(2)ネットワークは有向非巡回グラフ(DAG)です。

3.1。 SPFAアルゴリズム。最短経路高速アルゴリズムは[19]で提案されています。 SPFAアルゴリズムのデータ構造は、隣接リストと先入れ先出し(FIFO)キューを使用します。動的最適アプローチを適用すると、SPFAアルゴリズムの時間計算量はO(E)です。ここで、Eはグラフ内のエッジの数です。これは、ダイクストラのアルゴリズムの複雑さE [はるかに少ない] [N 2]よりも優れています。ここで、Nはノードの数です。このアルゴリズムには、特別な制限条件は必要ありません。したがって、SPFAアルゴリズムは、ソースから負の重みサイクルに到達できるグラフを除いて、すべての有向グラフに採用できます。

3.2。仮想ノードを使用したSPFAアルゴリズム。 Cを空間V内の任意の場所の総コストとし、Eを任意の近隣場所の隣接するフレーム間のエッジのセットとします。モデルのノードの任意のペア間の状態遷移はEによって達成でき、DAG G(V、E、C)は最小コストフローモデルのオブジェクトのフローアクティビティを完全に記述できます。

最小コストフローモデルでは、QはFIFOキュー、LはG(V、E、C)を格納するために使用される隣接リストを示し、c([e i、j])はLの要素です。配列Dに、ソースから他のすべてのノードへの有向フローの現在のコストを記録させます。ソースからvへの最短パスの合計コスト値は配列D(v)に格納されます。初期化では、配列Dの各要素に最大値があります。配列Dは、キューQが空の場合、SPFAアルゴリズムを介してソースとシンク間の最短パスを出力します。

偽陰性の環境におけるマルチオブジェクト追跡のロバスト性を改善するために、現在のノードから端末ノードまでのすべての位置を示すG(V、E、C)の残差グラフとして[G r]を定義する。ソースとシンクの2つの追加の仮想ノードが[Gr]に導入され、場所を表すすべてのノードにリンクされます。次に、[G r]のSPFAアルゴリズムによって、ノードソースとノードシンクの間の最短経路を見つけることができます。さらに、ソースとノードvの間の最短パスは、配列Dで取得できます。ここで、vは、ソースからシンクへの最短パス内の任意のノードです。

提案された最小コストフローフレームワークでは、次の手順で最短経路を取得できます。

(1)FIFOキューQ、隣接リストL、および配列Dを作成します。D(j):= [無限大]およびD(ソース):= 0を初期化します。ここで、ソースは開始ノード、jはその他のノードです。 。ソースをキューQに追加します。

(2)ソースから到達できるすべての近隣ノードをQに追加し、それらのコスト値を配列Dに記録します。D(i)に、ソースからノードiまでの最短パスの合計コスト値を格納させます。 ] [Gr]。

(3)Qの新しいノードiの近傍ノードjを評価します。ここで、jはノードiから到達できるノードです。 D(i)+ c([e i、j])&lt D(j)、D(j):= D(i)+ c([e i、j])の場合。

(4)キューQが空になり、最短パスT =([k 1]、。[k N])、[k N] [メンバー] [Gソースとノードの間のr]は、アレイDで取得することができ、ここで、vは、ソースからシンクへの最短経路にある任意のノードである。

図2は、提案されたモデルにおけるSPFAアルゴリズムの単純な処理ステップを示しています。ここで、birthはオブジェクトが最初に発見されたノードを表し、endはオブジェクトが最後に発見されたノードを表します。 SPFAアルゴリズムを使用する各緩和操作は、現在のノードが隣接ノードを訪問するプロセスです。 n番目の緩和操作により、パスがnで最短になります。残差グラフの最短経路のエッジの長さはN-1を超えないため、SPFAアルゴリズムを使用して取得した経路が最短経路になります。 SSPアルゴリズムと追加の欲張り法を使用する[14]の方法と比較すると、SPFAアルゴリズムはグローバル最適値を見つけることができます。その収束は[19]の定理2で証明されています。

このプロセス中の一部のターゲットの動きは簡単に見落とされるため、SPFAアルゴリズムで複数のオブジェクトを追跡できるようにするだけでは不十分です。 SPFAアルゴリズムがターゲットの動きをより適切に記述できるようにするために、アルゴリズムに追加の制約を提供します。

3.3。 SPFAアルゴリズムの制約。元の残余グラフGrで出生と終了の間の最短経路を検索すると、1つの問題が発生します。アルゴリズムは、誕生から終了までのどの位置でもオブジェクトの出入りを処理できないということです。つまり、追跡プロセスは不完全であり、堅牢ではありません。

SPFAアルゴリズムによる追跡の堅牢性を向上させるために、図1に示すように、誕生と終了の近傍を使用して元の位置を置き換え、仮想位置のソースとシンクで新しいDAGを形成します。ここでのソースとシンクは次の位置を示します。オブジェクトが表示されたり消えたりします。この方法では、SPFAアルゴリズムのノード間の動的相関を最適化できます。

さらに、反復がない場合、ノードの各緩和で計算される近隣位置は3つしかないため、SPFAアルゴリズムは大量の計算を生成し、使用可能なノードの数は反復の数に反比例します。

3.4。時間計算量分析。ダイクストラのアルゴリズムは、0(N log N)時間で最短経路を計算するための効果的な方法として認識されています。残念ながら、提案されたフローネットワークには負のコストがあり、ダイクストラのアルゴリズムの前提条件と矛盾します。幸い、提案されたモデルには負の重みサイクルがないため、SPFAアルゴリズムを採用できます。

提案されたアルゴリズムは、ベルマンフォードアルゴリズムの最適化です。ベルマンフォードアルゴリズムでNラウンドの間、各エッジを盲目的に通過しますが、リラックスしたノードのみをチェックするように、SPFAでキューが維持されます。 SPFAは、ベルマンフォードアルゴリズムのO(NE)よりも単純です。ここで、Nはノードの数、Eはエッジの数です。

DAGの場合、SPFAアルゴリズムの平均的なケースの複雑さはO(E)です。ここで、Eはグラフ内のエッジの数です。この場合、各ノードは1回だけキューに入ります。 SPFAアルゴリズムは幅優先探索アルゴリズムであり、これは提案されたアプローチの一般的なケースです。各ノードがキューにN-1回入ると、提案されたアルゴリズムは、そのアルゴリズムの最悪の場合の複雑さ、つまりO(NE)である時間計算量でベルマンフォードアルゴリズムに縮退します。一般的な場合のSPFAアルゴリズムの複雑さは、[19]で証明されています。参考文献[20]は、SPFAアルゴリズムの理論的および実験的な最悪の場合の複雑さを詳細に分析しています。

参考文献[13,14]は、整数線形計画の緩和を計算するために、それぞれKSPアルゴリズムとSSPアルゴリズムを提案しています。両方のアルゴリズムの最悪の場合の複雑さは0(KN log N)です。ここで、Kは一意のトラックの未知の最適数であり、Nはビデオシーケンスのフレーム番号です。 Kの値が異なるため、14]は異なる方法を使用して解を取得することに注意してください。このアルゴリズムの特定の複雑さは、Kの値に関連しています。

提案されたアルゴリズムの平均的なケースの複雑さはO(E)であり、これは上記の方法よりもはるかに少ないです。 SPFAアルゴリズムの最悪の場合の複雑さはO(NE)ですが、これはほとんど得られません。

さらに、KSPアルゴリズムと同様に、SPFAアルゴリズムは、[19]で証明されているように、グローバルな最適解を正常に計算します。ただし、[14]のような欲張りアルゴリズムを使用したSSPは、グローバルな最適解を取得できません。

4.ターゲットのローカリゼーションとロングシーケンス処理

高品質のマルチオブジェクト追跡には、信頼性の高いトラッカー、複数のオブジェクトを正確にセグメント化して特定できる検出器、およびアルゴリズムのパフォーマンスを向上させることができる前処理方法が必要です。

4.1。ターゲットの検出とローカリゼーション。トラッカーの正確なターゲットを取得するために、改良されたコードブックアルゴリズムを使用して背景モデルを確立し、[21]の前景/背景減算法によって追跡オブジェクトの観測された特性情報を抽出します。 [22]の方法を使用して、最初にマージされたオブジェクトをセグメント化します。次に、検出器からオブジェクトの平面の確率分布を取得します。これらは、SPFAアルゴリズムへの入力として機能します。ターゲットローカリゼーションのいくつかの選択されたフレームを図3に示します。

カメラの視野での全範囲追跡は、アルゴリズムの処理時間を増加させ、限られたメモリリソースのかなりの部分を消費します。このため、客観的存在の計算された確率のほとんどが0であるため、この特性によってノードの数と計算コストを削減できます。一方、計算量を減らすために、ターゲットの潜在的な出生領域を制限します。提案された方法はまた、各フレームtの所与の時空間近傍内の各位置[k t]の最大検出確率をチェックする。

[ASCIIで再現できない数式](17)

ある場所の値が設定されたしきい値を下回っている場合、その値で表されるオブジェクトはその場所に到達できないと見なされ、その場所との間のすべてのフローがモデルから削除されます。この方法では、必要な変数と制約の数を1桁減らすことができます。私たちの実験では、[[epsilon] 1] = [[epsilon] 2] = 3の半径でグラフを剪定しました。

4.2。ロングシーケンス処理。理論的には、SPFAアルゴリズムを使用して長いシーケンスを処理すると、追跡時間のグローバルな最適化が得られますが、大量の操作時間が必要になります。この問題に対処するために、長いシーケンスをそれぞれ100フレームのセグメントに分割します。これにより、入力と出力の間の遅延が0.5秒未満で良好な結果が得られ、リアルタイムで実行できます。

時間の一貫性を維持する各セグメントについて、図4に示すように、マルチフレームオーバーレイの方法を使用し、以前に最適化されたセグメンテーションの最後の10フレームを現在のセグメンテーションの最初の10フレームに追加します。

次に、現在のフレームの最初の10フレームのすべての場所のフローの合計を、前のフレームの最後の10フレームのオブジェクトの最後の場所のフローの総数と一致させるように強制します。これにより、区分的ポイントでターゲットが欠落する問題が効果的に解決されます。

[ASCIIで再現できない数式](18)

ここで、θは、前のセグメントの最後の10フレームに現れる物体の最後の位置[k t]の総流量である。現在のセグメントの最初の10フレームに現れるオブジェクトの対応する第1の位置[k j]について、そのオブジェクトへの正味の流れは、位置[k t]からの流れに等しく、また等しい。 [kt]と[kj]の間の任意のオブジェクトの任意の潜在的な位置[ki]からの総流量に。これは、モデルの追加の制約として実装されています。

現在のセグメントの最初の10フレームで追跡ターゲットが見つからない場合、提案された方法は、現在のオブジェクトの後のt 'フレームでオブジェクトを検索します。私たちの実験では、t '= 10とします。t'内のフレームで追跡ターゲットが見つかった場合、このフレームは現在のセグメントの最初のフレームであり、それ以外の場合は追跡が失敗します。

私たちのシミュレーションでは、PETS09、CAVIAR、BEHAVEDATA、およびETHMS(BEHAVEDATA、http://groups.inf.ed.ac.uk/vision/BEHAVEDATA/INTERACTIONS/index.html、CAVIAR、 http://groups.inf.ed.ac.uk/vision/CAVIAR/CAVIARDATA1/、ETHMS、http://www.vision.ee.ethz.ch/

aess / dataset /、およびPETS09、http://www.cvg.rdg.ac.uk/data-sets/index.html)データセット。これらのそれぞれの課題を表1に要約します。選択したシーケンスは、マルチオブジェクト追跡で一般的に発生するほとんどすべての問題をカバーしています。

5.1。パラメータ設定。トレーニング期間中、検出器は、改良されたコードブックアルゴリズムモデルのバックグラウンド減算法を使用して設計されます。フォアグラウンド/バックグラウンドセグメントの更新により、検出結果とオブジェクトのアクティビティスコープをリアルタイムで組み合わせ、オブジェクトの位置を高い確率で計算します。オブジェクトのアクティビティスコープのサイズとオブジェクトのピクセル数はすべてのシーケンスで同じではないため、この方法では、各ビデオシーケンスのフレームごとに900〜1000の検出を生成できます。線形検出器の結果として、各検出プロセスの対数尤度比を負のスコアに設定しました。

有界値動的モデルを使用しました。空間的にオーバーラップする場合(つまり、オブジェクトが1つの場所にとどまる場合)、連続するフレーム内の2つの場所間のコスト[c i、j]を0と定義します。誕生と終わりの近くへの仮想位置は、それぞれ[C source、birth] = 10、[C end、sink] = 10です。さらに、SPFAを使用したグローバル検索は確立された隣接リストに含まれているため、最短パスを見つけることは、補助的な制約のないグローバルな最適ソリューションである必要があります。

5.2。評価指標。 [GT i、t]を5番目のフレームのi番目のグラウンドトゥルースバウンディングボックスとし、[TR i、t]を追跡されたバウンディングボックスとします。第5のフレームおよび第iのオブジェクトの[C i、t]は、交差の面積[GT i、t] [交差] [TR i、t]と面積との間の比率として定義される。ユニオンの[GTi、t] [ユニオン] [TR i、t] [23]:

私たちの実験では、[C i、t]のしきい値を0.5に設定しました。これは、グラウンドトゥルースバウンディングボックスと追跡された境界ボックスの重複領域が0.5を超えたときに追跡が成功することを意味します。

私たちの結果は、標準のCLEAR2006メトリックの複数オブジェクト追跡精度(MOTA)および複数オブジェクト追跡精度(MOTP)メトリックを使用して評価されます[24]。

MOTA = 1 [[SIGMA] t]([c m]([m t])+ [c f]([fp t])+ [c。 sub s])/ [SIGMA] t] [g t]、(20)

MOTP = [[SIGMA] i、t] [C i、t] / [[SIGMA] t] [Nm t]、(21)

ここで、[g t]はt番目のフレーム内のグラウンドトゥルースオブジェクトの数、[Nm t]はt番目のフレーム内のマップされたオブジェクトの数、[mt]は検出漏れを表します。カウントであり、[fpt]は各フレームの誤検知カウントです。 [c s] = [log 10] ID- [SWITCHES t]、ここでID- [SWITCHES t]は、フレームt-のマッピングを考慮したtのID不一致の数です。 1.ログ機能のため、1からカウントを開始しました。 [cm]と[cf]は、それぞれ、検出漏れと誤検知のコスト関数を表します。 (20)の重み関数に使用される値は、[c m] = [c f] = 1である。図5は、SPFAアルゴリズムを使用した実験におけるMOTAおよびMOTPのヒストグラムを示す。

5.3。結果の分析。各追跡ターゲットの一意の識別を確実にするために、順序を示すために異なる色を使用します。実験で使用したシーケンスは表1からのものです。検出結果は、アルゴリズムの入力としてセクション4.1で説明したプロセスによって取得されます。次に、誤検知、誤検知、動的バックグラウンドのマルチオブジェクト追跡状況のパフォーマンステストをそれぞれ実行します。

5.3.1。偽陰性のパフォーマンステスト。シーケンスは、PETS09データセットのMultiple_flow_view1とS2_L1_view5を使用します。典型的な結果を図6と図7に示します。特に前者は、追跡対象として歩行者が着用する明るい黄色のコートを使用しています。非追跡オブジェクトによるオクルージョンのためにフォールスネガティブの確率は大幅に増加しますが、SPFAアルゴリズムは、追跡プロセス全体で各オブジェクトの永続的な追跡(追跡ボックスの色は変更されていません)を保証できます。 S2_L1_view5の実験では、ターゲットが無制限の出発領域を離れてすぐに再表示される場合のSPFAアルゴリズムの堅牢性を検証します。

5.3.2。誤検知のパフォーマンステスト。シーケンスは、CAVIARデータセットのThreepastshop2とBEHAVEDATAデータセットのSequence3を使用します。典型的な結果を図8と9に示します。検出と位置特定にはセクション4.1の方法を使用しました。 SPFAの優れたソリューションと干渉防止により、誤検知が発生した場合でも、複数のオブジェクトをタイムリーに安定して追跡できます。

5.3.3。動的バックグラウンドのパフォーマンステスト。実験の順序によって満たされなければならない2つの条件があります。

(1)シーケンスの動的バックグラウンドの利用可能な確率分布は、比較的一貫している必要があります。この方法でのみ、アルゴリズムは追跡するオブジェクトの場所をすばやく取得できます。

(2)ターゲットは、追跡グラウンド内の固定アクセスエリアである必要があります。追跡地面が動いているため、オブジェクトが出入りできる潜在的な領域が変化します。カメラの視野の境界は、出入りできるすべてのオブジェクトの領域である必要があります。

このシーケンスでは、ETHMSデータセットのSeq03view1を使用します。肌の色と[25]の方法を組み合わせてオブジェクトの特性を取得し、その典型的な結果を図10に示します。セクション4.1の検出と位置特定の方法では、追跡グラウンドでのターゲット特性の利用可能な確率分布のみを考慮します。また、背景条件とは関係ありません。したがって、私たちの実験のシーケンスには、一貫した確率分布が必要です。この制約は、ある意味で、動的バックグラウンドのパフォーマンスの実験条件を制限しますが、動的バックグラウンドでSPFAアルゴリズムを使用したマルチオブジェクト追跡が堅牢であるという結論には影響しません。

5.4。シミュレーション分析。上記のすべての実験は、2.7 GHz Pentium(R)デュアルコアCPUと8GBのメモリを搭載したWindowsXPPCで実行されました。ソフトウェアプラットフォームは、Visual Studio2010とOpenCV2.2を使用します。

異なるデータセット(ETHMSデータセットのSeq03view1とBEHAVEDATAデータセットのSequence3)からの2つのシーケンスで、SPFAアルゴリズムを他の3つのアルゴリズム(Zhangの方法2 [12]、KSP [13]、およびSSP [14])と対比しました。平均追跡エラー。結果を図11に示します。また、追跡精度に関してアルゴリズムを比較しました。図12は、すべてのアルゴリズムの検出率と画像あたりの誤検知(FPPI)の関係を示しています。すべての実験で、セクション4.1で説明したものと同じ検出方法を使用します。

図11は、これらのアルゴリズムのトラッキングエラーが、占有とクラッターを伴わない場合でも大幅に異なることはないことを示しています。ただし、誤検知や誤検知の場合にオブジェクトを長期間追跡する場合、SPFAアルゴリズムは明確な優位性を示します。単純な仮定の場合の占有問題は張の方法2で満たすことができますが、必要な仮定は省略になり、いくつかの誤検知と誤検知が頻繁に発生すると、最終的に追跡の失敗につながります。図12では、上記のアルゴリズムのターゲット検出率が同じである場合、SPFAアルゴリズムはFPPIの制御において他のアルゴリズムよりも優れたパフォーマンスを発揮します。 SPFAアルゴリズムの優位性は、そのより高速な緩和法と、グローバルな最適解をより迅速に見つけることによるものです。

上記と同じターゲット検出方法を使用して、表2に示すように、SPFAメソッドを使用して生成された誤検知をETHMSデータセットおよびCAVIARデータセットの他のメソッドから生成された誤検知と比較しました。結果は、SPFAアルゴリズムがより適切に追跡できることを示しています。さらに、図13に示すように、SPFAアルゴリズムの実行時間は、他の3つのアルゴリズムを大幅に上回っています。

5.5。実行時間。 25fpsでBEHAVEDATAデータセットのシーケンスに対してSPFA追跡アルゴリズムの速度を評価しました。 SPFAと上記のアルゴリズムの実行時間の曲線を図13に示します。実行時間を表す縦軸は対数目盛でプロットされています。張の方法2の解は、かなりの実行時間の間収束しません。 1000フレームのシーケンスを処理する場合、KSPソルバーは約20秒、SSPは0.9秒かかりますが、SPFAソルバーは0.08秒しかかかりません。

本論文では、フローネットワークフレームワークを備えた信頼性の高いトラッカーを提案した。整数計画法の理論によって確立された最小コストフローモデルでは、SPFAアルゴリズムを使用して整数の仮定を緩和し、グローバルな最適解を正常に特定しました。結果として得られるアルゴリズムは、マルチオブジェクトトラッキングにおける短時間の誤検知と誤検知の問題をより適切に解決でき、最先端の方法よりも堅牢です。私たちの提案する方法は、SPFAを使用することにより、緩和されたLPのグローバルな最適解をすばやく見つけることができます。

実験結果は、提案されたアルゴリズムが軌道の一貫性を改善し、複数のオブジェクト間の深刻な閉塞問題を解決するのに役立ち、リアルタイムの測定要件を満たすことができることを示しています。他のアルゴリズムと比較して、SPFAには明らかな利点があります。動的な背景を持つ複数のタイプのターゲットをリアルタイムで追跡することが、今後の研究の焦点になります。

著者は、この論文の出版に関して利益相反がないことを宣言します。

この作品は、中国国家自然科学基金(助成金番号61372090および61210013)と中国基礎研究のための国家主要プロジェクト(2013CB329403)によって共同でサポートされています。

[1] I. S. Kim、H。S。Choi、K。M。Yi、J。Y。Choi、およびS. G. Kong、「インテリジェントな視覚的監視-調査」、International Journal of Control、Automation and Systems、vol。 8、いいえ。 5、pp。926-939、2010。

[2] Z.HouおよびC.Han、「視覚追跡の調査」、Acta Automatica Sinica、vol。 32、いいえ。 4、pp。603-617、2006(中国語)。

[3] M.-X.江、H.-Y。王、X.-K。 Liu、「複数のカメラに基づくマルチターゲット追跡アルゴリズム」、Acta Automatica Sinica、vol。 38、いいえ。 4、pp。531-539、2012(中国語)。

[4] H. Zhou、「複数のターゲット追跡技術の調査」、ACTA Aeronautica et Astronautica Sinica、vol。 7、いいえ。 1、pp。1-10、1986(中国語)。

[5] Q.YuおよびG.Medioni、「時空間モンテカルロマルコフ連鎖データ関連付けによる複数ターゲット追跡」、IEEE Transactions on Pattern Analysis and Machine Intelligence、vol。 31、いいえ。 12、pp.2196-2210、2009。

[6] F. Serratosa、R。Alquezar、およびN. Amezquita、「確率的統合オブジェクト認識および追跡フレームワーク」、Expert Systems with Applications、vol。 39、いいえ。 8、pp.7302-7318、2012。

[7] E. Maggio、M。Taj、およびA. Cavallaro、「ランダムな有限集合を使用した効率的なマルチターゲット視覚追跡」、IEEE Transactions on Circuits and Systems for Video Technology、vol。 18、いいえ。 8、pp.1016-1027、2008。

[8] I. Sharp、K。Yu、およびT. Sathyan、「モバイル追跡のための位置精度測定とエラーモデリング」、IEEE Transactions on Mobile Computing、vol。 11、いいえ。 6、pp。1021-1032、2012。

[9] J. Giebel、D。Gavrila、およびC. Schnorr、「マルチキュー3Dオブジェクトトラッキングのためのベイジアンフレームワーク」、コンピュータビジョンに関する欧州会議の議事録、pp。241-252、2004。

[10] AGA Perera、C。Srinivas、A。Hoogs、G。Brooksby、およびW. Hu、「同時の長いオクルージョンとスプリットマージ条件によるマルチオブジェクトトラッキング」、第24回IEEE Computer Society Conference onComputerの議事録ビジョンとパターンの認識(CVPR '06)、pp。666-673、2006年6月。

[11] F. Fleuret、J。Berclaz、R。Lengagne、およびP. Fua、「確率的占有マップを使用して追跡するマルチカメラの人々」、IEEE Transactions on Pattern Analysis and Machine Intelligence、vol。 30、いいえ。 2、pp。267-282、2008。

[12] L. Zhang、Y。Li、およびR. Nevatia、「ネットワークフローを使用したマルチオブジェクト追跡のためのグローバルデータアソシエーション」、第26回コンピュータビジョンおよびパターン認識に関するIEEE会議(CVPR '08)の議事録、pp 。342-349、2008年6月。

[13] J. Berclaz、F。Fleuret、E。Turetken、およびP. Fua、「k-最短経路最適化を使用した複数オブジェクト追跡」、IEEE Transactions on Pattern Analysis and Machine Intelligence、vol。 33、いいえ。 9、pp。1806-1819、2011。

[14] H. Pirsiavash、D。Ramanan、およびCC Fowlkes、「可変数のオブジェクトを追跡するためのグローバルに最適な欲張りアルゴリズム」、コンピュータビジョンおよびパターン認識に関するIEEE会議の議事録(CVPR 11)、1201ページ-1208、プロビデンス、ロードアイランド、米国、2011年6月。

[15] B.AghezzafおよびT.Ouaderhman、「多目的線形計画問題のための対話型内点法アルゴリズム」、Operations Research Letters、vol。 29、いいえ。 4、pp.163-170、2001。

[16] M. D. Gonzalez-Lima、A。R。L. Oliveira、およびD. E. Oliveira、「線形計画法の内点法で生じる線形システムを解くための堅牢で効率的な提案」、Computational Optimization and Applications、vol。 56、いいえ。 3、pp。573-597、2013。

[17] J.WeiおよびM.Zhang、「動的多目的最適化のためのシンプレックスモデルベースの進化的アルゴリズム」、AI 2011:Advances in Artificial Intelligence、vol。コンピュータサイエンスのレクチャーノートの7106、pp。372-381、Springer、ハイデルベルク、ドイツ、2011年。

[18] I. U. Khan、T。Ahmad、およびN. Maan、「完全にファジーな線形計画問題を解くための単純化された新しい手法」、Journal of Optimization Theory and Applications、vol。 159、いいえ。 2、pp。536-546、2013。

[19] D. Fanding、「最短経路のより高速なアルゴリズム--SPFA」、Journal of South West Jiaotong University、vol。 29、いいえ。 2、pp。207212、1994(中国語)。

[20] X. Zhengdong、B。Tianming、およびZ. Juyang、「SPFAアルゴリズムの分析と改善」、Computer Science、vol。 41、いいえ。 6、pp。180-184、2013(中国語)。

[21] M. H.SigariおよびM.Fathy、「2層コードブックモデルを使用したリアルタイムバックグラウンドモデリング/減算」、Proceedings of the International MultiConference of Engineers and Computer Scientists(IMECS '08)、vol。 1、香港、中国、2008年3月。

[22] A.BugeauおよびP.Perez、「追跡とカット:グラフカットによる複数のオブジェクトの同時追跡とセグメンテーション」、EURASIP Journal on Image and Video Processing、vol。 2008、記事ID 317278、2008。

[23] H. P. Liu、M。Y。Yuan、F。C。Sun、およびJ. W. Zhang、「視覚オブジェクト追跡のための空間的近隣制約付き線形コーディング」、IEEE Transactions on Industrial Informatics、vol。 10、いいえ。 1、pp.469-480、2014。

[24] R. Kasturi、D。Goldgof、P。Soundararajanet al。、「ビデオにおける顔、テキスト、および車両の検出と追跡のパフォーマンス評価のためのフレームワーク:データ、メトリック、およびプロトコル」、IEEE Transactions on Pattern Analysis andマシンインテリジェンス、vol。 31、いいえ。 2、pp。319-335、2009。

[25] C.-N.グアン、C.-F。黄、G.-C。 Chen、「ウェーブレットローカライズされたフォーカスカラー特徴と形状特徴を備えたファジー分類器を使用した顔のローカリゼーション」、デジタル信号処理、vol。 22、いいえ。 6、pp。961-970、2012。

Zhenghao Xi、(1,2)Heping Liu、(1)Huaping Liu、(2)およびBin Yang(3)

(1)北京科学技術大学、自動化および電気工学部、北京100083、中国

(2)清華大学、北京100084、中国のインテリジェント技術およびシステムの国家重点実験室

(3)昌原国立大学電子工学科、昌原641-773、大韓民国

連絡先はZhenghaoXi [email protected]

2014年3月19日受理2014年7月22日改訂2014年7月30日受理2014年8月17日公開


3回答3

ダイクストラのアルゴリズムで候補パスごとに1つの値を格納する代わりに、(全長、総利益)のタプルを格納します。全長が短い場合、または全長が同じであるが総利益が高い場合は、緩和ステップでパスを短くすることを検討してください。

基本的にあなたがしていることは、それぞれ長さと利益を維持する2つの配列を持っているということです。エッジの利益に対する長さの比率を示す別の配列を作成できます。したがって、配列はすべてのエッジの比率=長さ/利益を格納し、この配給配列を使用すると、Djikshtraのアルゴリズムを使用できます。 Djikshtraのアルゴリズムでは、頂点と配列の比率としてVセットを使用します。この実行を使用して、Djikshtraのアルゴリズムを実行します。あなたはあなたの必要な答えを得るでしょう

このような問題に取り組む1つの方法は、ラムダの新しい変数Lを作成することです。

しかし、最初に、利益の問題に対処しましょう。エッジの長さはlで、利益はpです。 p '= max(p)-pとなるように、すべてのpを再定義します。これで、最大の収益性のあるエッジの値はゼロ(可能な限り低い)になり、最も収益性の低いエッジの値はmax(p)(可能な限り高い)になります。これで、最小のコストパスを見つけることができます。

エッジの重みをl * L + p '*(1-L)として定義し、Lを0から1まで変化させます。長さまたは利益のどちらが重要かによって、さまざまなパスが最適になります。大まかに言えば、これらのパスはパレート最適セットを形成します。各ソリューションパスは、Lの特定の値について、他のすべてのパスよりも優れています。そのLの場合、長さを増やさずに利益を増やす方法や、利益を減らさずに長さを減らす方法はありません。

このセットを生成するためにLの適切な値を選択するのは簡単ではない場合があることに注意してください。たとえば、利益の数値が長さの数値よりもはるかに大きい場合、セットのほとんどはLの値にクラスター化され、利益の値を次のレベルにスケーリングします。それらは長さの値に匹敵します。これらのL値は非常に小さい場合があります。

おっと、あなたの編集を見ました:「最初に最短経路の値xを見つけ、次に同じ長さxのすべての経路のセットで、最大の利益を持つものを見つけます。」この場合、ニックの答えは進むべき道です。


プリエンプティブSJF

プリエンプティブSJFスケジューリングでは、ジョブは到着するとレディキューに入れられます。バースト時間が最も短いプロセスが実行を開始します。バースト時間がさらに短いプロセスが到着すると、現在のプロセスが削除されるか、実行からプリエンプションされ、短いジョブにCPUサイクルが割り当てられます。

次の5つのプロセスを検討してください。

プロセスキュー バースト時間 到着時刻
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

ステップ0) time = 0で、P4が到着し、実行を開始します。

プロセスキュー バースト時間 到着時刻
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

ステップ1) 時間= 1で、プロセスP3が到着します。ただし、P4のバースト時間は短くなります。実行を継続します。

ステップ2) 時間= 2で、プロセスP1はバースト時間= 6で到着します。バースト時間はP4のバースト時間よりも長くなります。したがって、P4は実行を継続します。

ステップ3) 時間= 3で、プロセスP4は実行を終了します。 P3とP1のバースト時間が比較されます。プロセスP1は、バースト時間が短いため実行されます。

ステップ4) 時間= 4で、プロセスP5が到着します。 P3、P5、およびP1のバースト時間が比較されます。プロセスP5は、バースト時間が最も短いために実行されます。プロセスP1がプリエンプトされます。

プロセスキュー バースト時間 到着時刻
P1 6つのうち5つが残っています 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

ステップ5) 時間= 5で、プロセスP2が到着します。 P1、P2、P3、およびP5のバースト時間が比較されます。プロセスP2は、バースト時間が最小であるため実行されます。プロセスP5がプリエンプトされます。

プロセスキュー バースト時間 到着時刻
P1 6つのうち5つが残っています 2
P2 2 5
P3 8 1
P4 3 0
P5 4つのうち3つが残っています 4

ステップ6) 時間= 6で、P2が実行されています。

ステップ7) 時間= 7で、P2は実行を終了します。 P1、P3、およびP5のバースト時間が比較されます。プロセスP5は、バースト時間が短いため実行されます。

プロセスキュー バースト時間 到着時刻
P1 6つのうち5つが残っています 2
P2 2 5
P3 8 1
P4 3 0
P5 4つのうち3つが残っています 4

ステップ8) 時間= 10で、P5は実行を終了します。 P1とP3のバースト時間が比較されます。プロセスP1は、バースト時間が短いため実行されます。

ステップ9) 時間= 15で、P1は実行を終了します。残っているプロセスはP3だけです。実行を開始します。

ステップ10) 時間= 23で、P3は実行を終了します。

ステップ11) 上記の例の平均待機時間を計算してみましょう。


Networkx、最短パスを使用して最短サイクルを作成

この質問は 明確な NetworkXに。自分で必要なことをすべてこなす機能を作ることもできますが、もっと時間がかかるので避けたいと思います。

NetworkX UndirectedGraphで表される重み付けされていないグラフがあります。このグラフから、「最短サイクル」を探します。つまり、特定のノードkについて、kを離れてからkに戻る最短の単純なパス(ノードを1回だけ通過する)を見つけます。

これを実現するために、NetworkX Shortest Pathsアルゴリズムを使用して、ノードkからノードkまで検索を実行したいと思います。問題は、すべての最短経路アルゴリズムが単にノードkを経路として返すように見えることです。したがって、実際に離れることはありません。そして、これを変更する方法がわかりません。

考えられる解決策は、私が行うことです。

しかし、私がこの「最短サイクル」テクニックを実行することを計画している膨大な回数は非常に膨大であり、私はそれを実行する必要がないことを望んでいます。それで、NetworkXでやりたいことを行う簡単な方法はありますか?


最短経路アルゴリズムを使用して処理スクリプトを作成するにはどうすればよいですか? -地理情報システム

Gitを使用するか、WebURLを使用してSVNでチェックアウトします。

公式CLIを使用してすばやく作業します。もっと詳しく知る。

GitHubデスクトップの起動

何も起こらない場合は、GitHubデスクトップをダウンロードして再試行してください。

GitHubデスクトップの起動

何も起こらない場合は、GitHubデスクトップをダウンロードして再試行してください。

Xcodeの起動

何も起こらない場合は、Xcodeをダウンロードして再試行してください。

VisualStudioCodeの起動

準備ができたら、コードスペースが開きます。

コードスペースの準備に問題がありました。もう一度やり直してください。


3D最短経路分析のための動的ルーティングのモデリング

マレーシア工科大学、81310 UTM Skudai、ジョホール、マレーシア。

2部門写真測量および地球情報学、

シュトゥットガルト応用科学大学、Schellingstr。 24 70023シュトゥットガルト、ドイツ。

問題は、「複数の異種変更」を処理する能力です。更新の合間に、入力グラフは、エッジの挿入、エッジの削除、およびエッジの長さの変更を任意に組み合わせて再構築できます。この章は、3つの一般的な部分で構成されています。最初の部分では、3Dナビゲーションモデル、動的ウェイト、およびその機能要件について説明します。 2番目の部分では、3D動的ネットワークモデルを示し、SSSPルーティングアルゴリズムとその実装を使用して可能なソリューションについて詳しく説明します。将来の研究のための推奨事項に関する最終的な議論は、この章を締めくくります。

キーワード: 最短経路、動的ウェイト、3Dナビゲーション、3D-GIS。

各ジャンクションなどで必要です。ジャンクションのない傾斜道路は、山の中で通常どおり長くて曲がりくねった道路が多い場合でも、ルーティングのために2つのノードと1つの円弧でモデル化できますが、これはネットワークのジオメトリ部分です。 。

続行する前に、いくつかの表記法を説明し、基本的な最短経路問題を定義しましょう。ネットワークは、ノードのセット(頂点)Vで構成されるグラフG =(V、E)であり、ネットワークノードの集合はg = | V |です。 g = | V1、V2、V3。 Vn |そして、h = | E |の有向エッジEのスパンセットh = |(V1、V2)、(V2、V3)、。 (Vn、Vn)|。各エッジは、ノードiからノードjまでのノードのペアとして表され、(i、j)として表されます。各エッジ(i、j)には、エッジの距離またはコストを表す数値Wij(つまり、Wij:5)に関連付けられた重みがあります。この章では、ノードiとjのペア間の2方向の移動が、2つの異なる有向エッジ(i、j)と(j、i)で表されると仮定します。 Eへの各エッジ(i、j)サブセットの既知のエッジ重み(距離)Wijを持つネットワークG =(V、E)が与えられた場合、最短経路問題は、ソースノードsから特定のノードまでの最短距離経路を見つけることです。これは、静的ノードを使用して、ネットワーク内の最短パスを見つける簡単な方法です。目的地へのルートに沿って、またはその周辺で、将来の予期しないイベントのために、1つ以上のノードの動作(つまり、場所、重み、および関連する周囲の属性)が動的に変化する場合があります。

現在、研究者は3D-GISでのルーティングの概念(Ivin et al。、2006およびZhu et al。、2006)や、いくつかのタイプの開発を伴う避難戦略(Shi and Zlatanova 2005)を導入するための研究活動を開始しています。アプローチ。議論された研究のほとんどは輸送データモデルに基づいており(Zhu et al。、2006 Liu et al。、2005 Fischer、2004)、その他は災害および緊急事態管理に焦点を合わせています(Shi and Zlatanova、2005 Zlatanova et al。、2005 ZlatanovaおよびHolweg、2004)。不足しているのは、ネットワークグラフのエッジの重みまたはコストへの実世界または3Dモデルのマッピングです。

2.03Dナビゲーションデータモデル

(NavTech)、GIS-T Enterprise(Dueker and Butler、1997)、およびレーンベースのデータモデル(Fohl et al。、1996)。

現在のデータモデルを改善し、新しいデータモデル/標準を構築するには、概念と論理モデルを研究することが基本です。 2004年初頭にISO標準となったGDFは、ナビゲーションサービスの道路ネットワークおよび道路関連情報のより一般的な概念および論理モデルです。また、その物理モデルは、ナビゲーションデータの交換可能な形式として機能できます。ただし、SDALはより物理的なデータモデルです。 GDFに基づく概念と論理データモデルの研究は意味があります。

グラフデータ構造により、エッジはその端点でのみ他のエッジに接続できます。 Fohl etal。 (1996)レーンベースのネットワークを、一連の小さなエッジでレーンセグメントを表すことによって既存のルーティングアルゴリズムと連携するように適合させる方法を提案しました。これにより、シリーズに沿った任意の頂点で隣接するレーンにレーン変更を行うことができます。

2.1動的ウェイトの概念

配車ルートの問題では、宛先ノードは固定されていますが、開始ノードはマップ上の任意の場所に動的に配置されます。たとえば、タクシーを呼ぶ人がタクシー会社に電話して、その場所をオペレーターに知らせます。次に、オペレーターは指定された場所に最も近いタクシーを検索してディスパッチし、タクシーの到着予定時刻を発信者に通知します。道路交通などの動的な要因を考慮に入れると、割り当てられたタクシーが特定の場所に時間内に到着できない場合があります。その後、他の利用可能なタクシー(2番目に近い)に通知され、タクシーが発信者に到着するまでプロセスが続行されます。このタイプの問題に使用されるアルゴリズムは1対多のタイプになります。したがって、このタイプのケースは、次の問題よりもはるかに簡単です。

レスキュー操作の計画では、建物のモデルは、3D空間のポリゴンで表される建物の抽象化(Zlatanovaet。al2004)、または接続を表す論理モデルのいずれかです。部屋の間。部屋と重要な交差点はノードで表され、パスはノード間のリンクとして表されます。したがって、「モデルは、火災が発生した場合に、生存者の数がわかっているか不明な場合に、救助活動と避難プロセスで各救助者を生存者に割り当てることができるでしょうか?」などのシナリオ。解決することができます。

最短経路アルゴリズムの効率分析に関する詳細な説明は、Zhan and Noon(1998)の調査に記載されています。

屋内と屋外をナビゲートするには、事実上、それらの間で「シームレスな」継続が必要です。シミュレーション(Jafariet。al2003)を使用することにより、ナビゲーションの動的な理解を向上させることができます。一部の情報は、悪天候や技術的な問題などの特別な状況で一時的に利用できなくなるため、シミュレーション情報を使用すると、継続的かつ動的なサポートが提供されます。さまざまな仮定の下での環境シナリオのシミュレーションは、予測された方法でコストと脅威を最小限に抑えることができます。

3.03Dダイナミックネットワークモデル

つまり、3D動的ネットワークを構築するプロセス全体を3つのステップで簡単に説明できます。まず、平面および非平面ネットワークから3Dネットワークまで、2Dグラフのアンダーパス/オーバーパスおよびネットワークオーバーレイのあいまいな状況を明らかにすることができます。これにより、視覚化と効果的かつ包括的なデータ統合の機能が向上します。次に、静的ネットワークから動的ネットワークに移行することで、車両やその他のイベントに関するリアルタイムの情報をルーティングプロセスに直接統合できます。最後に、最適化後、不要な頂点が削除され、頂点の総数が大幅に削減されるため、迅速な応答能力が向上します。

3.1予想されるルーティングアルゴリズムの実装

前に述べたように、ルーティンググラフは、特定のイベントのために時間の経過とともに変化する可能性があります。後で説明するように、2つの最も重要な変更は、エッジのコストの増減と、グラフへの新しいエッジの挿入です。他のイベントは、これら2つの操作に基づいてモデル化できます。新しいエッジの挿入e =(v,w)グラフへの変換は、コストの削減と見なすことができます NS(e) ’から値へ NS。エッジの削除e =(v,w)は、エッジのコストを ’に増やすのと似ています。頂点の削除 v に付随するすべてのエッジを削除することで実行できます v。頂点をグラフの残りの部分に接続しているエッジがない限り、頂点の挿入は簡単です。これらの接続エッジは、挿入エッジアルゴリズムを使用して挿入されます。以下の表1は、エッジまたは頂点を削除、挿入、または変更する必要がある場合について説明しています。

表1:ルーティングアルゴリズムの動的イベントの説明。

仕事 例(動的イベント)

災害(建物の天井の倒壊や交通事故)により端が塞がれ、使用できなくなる場合があります。

火災の場合、救助者がはしごを使って1階から人を救助するなど、時間がかかります。

エッジのコストの変更

(煙などのために)この方法を取り除くのがより困難であるか、救助隊の出現のためにこの方法を取り除くのがより簡単です。

特定の場所からの緊急事態や交通渋滞の場合に建物からの最短経路を見つけるには、動的グラフGのシングルシンク最短経路問題(SSSP)を解決する必要があります。エッジe =(v,w)グラフでは正のコストがあります NS(e)&gt0、問題はダイクストラアルゴリズムによって解決できます。何らかのイベントによってグラフの構造が変化した場合、その変化が結果に影響を与えなくても、アルゴリズム全体を再実行する必要があります。ダイクストラアルゴリズムは、特定の入力グラフGとシンク頂点でのバッチ処理と見なすことができます。 NS。データ入力が変更された場合、アルゴリズムは再度実行されます。この章では、グラフ構造の変化に対処するためのインクリメンタルアプローチを提案します。グラフ構造の変更は通常、ローカルな変更です。与えられた入力(G、 v)、イベントのためにソリューションのごく一部のみが再計算されました。このインクリメンタルアプローチは通常、はるかに効率的です。この種のインクリメンタルアルゴリズムの複雑さの詳細な分析については、Ramalingam and Reps(1996)の調査を参照してください。

3.2インクリメンタルSSSPアルゴリズム

SSSP問題の入力は、コスト関数であるグラフG(V、E)です。 NS:EÆR+とシンク頂点 v。最短距離距離(w) から v すべての頂点に対して w Vを計算する必要があります。ダイクストラアルゴリズムが問題を解決します。ただし、前述のように、Gは時間とともに変化します。グラフ全体のSSSP問題を再度解決することなく、これらの変更を処理するインクリメンタルアルゴリズムに関心があります。

同じコストで2つの異なるパスで頂点に到達できます。この場合、結果として得られる最短パスは、スパニングツリーを構築せず、有向非巡回グラフ(DAG)を構築します。

バーテックス 0 1 2 3 4 5 6 7 8


クラスター化された無線センサーネットワークにおける最短経路ベースの地理的ルーティング

ネットワーク(WSN)は、センサーを動的に編成することです ワイヤレスネットワークに接続し、感覚データをルーティングします センサーからシンクまで。 WSNでのクラスタリングは効果的です ネットワークの寿命を延ばすための手法。ほとんどの場合 クラスター化されたWSNの従来のルーティングの 関心のある分野に障害がないこと。それでも それは現実的な仮定ではなく、影響を排除します 感覚データをルーティングする際の障害物の。ここでは、最初に 名前の付いたWSNでのクラスタリング手法を提案する 定期的に行うエネルギー効率の高い均一クラスタリング それらのハイブリッドに従ってクラスターヘッドを選択します 残留エネルギーと、次のような2次パラメータ その隣人へのセンサーの有用性。このように、 選択したクラスターヘッドには、同数のネイバーがあります と残留エネルギー。次に、ルートを提示します クラスター化されたWSNの最適化手法 デュアルアルゴリズムを使用した障害物。このテクニックを使用することにより 障害物が発生してもルートを発見できます。 ルートが最適な最短経路になります。私たちの仕事 平均ホップカウント、パケット遅延を削減し、 WSNのエネルギー消費と寿命の延長 センサーの。

キーワード: ワイヤレスセンサーネットワーク(WSN)、クラスター、ルート 最適化

ワイヤレスセンサーネットワーク(WSN)は、空間的に分散された自律センサーで構成されています。 モニター 温度、音、圧力などの物理的または環境的条件、およびそれらのデータをネットワークを介して主要な場所に協調的に渡すこと。最新のネットワークは双方向であり、 センサー活動の制御。の開発 ワイヤレスセンサーネットワークは、今日の戦場監視などの軍事アプリケーションによって動機付けられました。このようなネットワークは、産業プロセスの監視と制御、機械の状態の監視など、多くの産業および消費者向けアプリケーションで使用されています。

WSNは、数個から数百、さらには数千の「ノード」で構成されており、各ノードは1つ(場合によっては複数)のセンサーに接続されています。このような各センサーネットワークノードには、通常、いくつかの部分があります。内部アンテナまたは外部アンテナへの接続を備えた無線トランシーバー、マイクロコントローラー、センサーと接続するための電子回路、およびエネルギー源、通常はバッテリーまたは環境発電の組み込み形式です。 。センサーノードは、クラスターと呼ばれるいくつかの小さなグループに分割できます。これらは、ワイヤレスセンサーネットワークの組織単位です。各クラスターには、クラスターヘッド(CH)と呼ばれるコーディネーターがあります。クラスタリングスキームでは、WSN内のセンサーノードは異なる仮想グループに分割され、いくつかのルールセットに従って、地理的に隣接して同じクラスターに割り当てられます。クラスタヘッドは、データを統合して単一のパケットとしてデータセンターに送信できるため、オーバーヘッドが削減されます。クラスタリングには、帯域幅の使用率を改善することで有用なエネルギー消費を削減し、オーバーヘッドを削減することで無駄なエネルギー消費を削減するという利点があります。アルゴリズムのほとんどは、ノード間のエネルギー消費のバランスを取り、時々異なるノード間で負荷を分散することにより、ネットワークの寿命を延ばすことを目的としています。

この論文では、以下を提案します。

WSNで、残留エネルギーと隣接するセンサーの有用性に応じてCHを定期的に選択するEHC手法を提案します。既存のクラスタリング手法とEHC手法の主な違いは、WSNでのCHの有用性です。 EHC技術では、センサーの効用が隣接するセンサーよりも高い場合、センサーはCHになります。

EHC技術を使用することにより、センサーの寿命を延ばすことができます。

©2016、IRJET |インパクトファクター値:4.45 | ISO 9001:2008認証ジャーナル

| 1530ページ

DUAL(Diffusing Update Algorithm)アルゴリズムを使用して、障害物間のクラスター化されたWSNでのルート最適化手法を紹介します。

A)産業用ワイヤレスのグループ接続モデル センサーネットワーク

過酷な産業環境でワイヤレスセンサーネットワークを検討するのは最近の傾向です。ワイヤレスセンサーネットワークの実際の展開では、接続性に関する具体的な展開計画を作成し、計画された展開ポイントに従ってセンサーをグループ化して配置することが望ましいでしょう。過酷な環境で検知および監視される複数のオブジェクトをターゲットにする場合はさらに重要です。 。グループと個々のセンサーの接続性は、特にリアルタイムのデータ取得にとって重要であり、これらのグループ間に外部通信リンクがない場合はさらに重要です。本論文では、個々のセンサーだけでなく、センサーグループの接続性に焦点を当て、グループの接続性を分析し、センサーグループの内部分布に関する具体的な展開計画を作成するために、新しいグループ接続性モデルを提案します。センサーとグループの位置。提案されたモデルは、配線の実行が実用的でなく、非常に高価である過酷な産業環境でのワイヤレスセンサーネットワークの展開を計画するのに役立つはずです。

B)ワイヤレスのためのファジー論理ベースのクラスタリングアプローチ エネルギー予測を使用したセンサーネットワーク

センサーバッテリーの電力が制限され、ワイヤレスセンサーネットワーク(WSN)の寿命が延びるという問題を克服するために、検出されたデータを収集して基地局に転送するための多くのルーティングアルゴリズムが提案されました。過去数年間に提案された最もよく知られているルーティングアルゴリズムの1つは、LEACHプロトコルです。これは動的なクラスターベースのルーティングプロトコルであり、ネットワークの有効期間をラウンドに分割します。各ラウンドは、セットアップと定常状態の2つのフェーズで構成されます。各ラウンドの重要な要素は、クラスターヘッド(CH)として機能するノードの数です。各CHは、同じクラスター内にあるセンサーノードから検出されたデータを収集し、集約されたデータを基地局に転送する役割を果たします。この論文では、WSNで使用する必要のあるCHの数を決定するために、ファジー論理を使用するFL-LEACHプロトコルを提案します。 FL-LEACHは、ネットワーク内のノード数とノード密度の2つの変数に依存するファジー推論システムです。制服を想定

センサーフィールド全体にノードを分散させる場合、提案されたアプローチの目新しさは、ネットワークに関する他の情報を取得せずにCHの数を決定する機能にあります。 Matlabシミュレーションは、純粋なLEACHや遺伝子ベースのプロトコルであるLEACH-GAなどの他のプロトコルと比較したFL-LEACHプロトコルの有効性を示すために使用されます。シミュレーション結果は、FL-LEACHがネットワークの寿命の点でLEACHおよびLEACH-GAよりも優れていることを示しています。

C)一般的な自己組織化ツリーベースのエネルギーバランス ワイヤレスセンサーネットワークのルーティングプロトコル

ワイヤレスセンサーネットワーク(WSN)は、多数の低コストのマイクロセンサーで構成されるシステムです。このネットワークは、さまざまな種類のメッセージを収集して基地局(BS)に送信するために使用されます。 WSNは、バッテリー電力が制限された低コストのノードで構成されており、数千の物理的に埋め込まれたノードを持つWSNのバッテリー交換は容易ではありません。つまり、エネルギー効率の高いルーティングプロトコルを使用して、長寿命の作業時間を提供する必要があります。この目標を達成するには、総エネルギー消費量を最小限に抑えるだけでなく、WSN負荷のバランスを取る必要があります。研究者は、LEACH、HEED、PEGASIS、TBC、PEDAPなどの多くのプロトコルを提案しています。この論文では、一般的な自己組織化ツリーベースのエネルギーバランスルーティングプロトコル(GSTEB)を提案します。これは、ラウンドごとにBSがルートノードを割り当て、この選択をすべてのセンサーノードにブロードキャストするプロセスを使用してルーティングツリーを構築します。その後、各ノードは、それ自体とその隣接ノードの情報のみを考慮して親を選択し、GSTEBを動的プロトコルにします。シミュレーション結果は、GSTEBがエネルギー消費のバランスをとる上で他のプロトコルよりも優れたパフォーマンスを発揮し、WSNの寿命を延ばすことを示しています。

より効率的なパケット配信率の向上攻撃の検出と防止

改善されたセキュリティ機能はありませんルーティングオーバーヘッドを増やします

III技術の実装

ネットワーク設定

©2016、IRJET |インパクトファクター値:4.45 | ISO 9001:2008認証ジャーナル

|ページ1531

通信範囲内でのみ通信します。したがって、ノードの通信範囲を見つける必要があります。ネットワークはで構成されています NS 障害物間のFoIにランダムに均一に配置されたセンサー。センサーは静止しており、バッテリーから電力が供給されます。私たちは、 バイナリディスク通信 sで示されるセンサーが、sを中心とする半径Cのディスク内の他のセンサーと通信できるモデル。 2つのセンサーiとjは互いに直接通信でき、次のように知られています。 隣人 それらの間のユークリッド距離が以下の場合 C.CHの隣接するCHの数は次のとおりです。 CH度と言われています。

エネルギー効率の高い均質なクラスタリング

このモジュールでは、最初にEHC手法を提案し、次にその特性について説明します。 EHCは、次の2つのステップで機能して、クラスター化されたWSNを形成します。

最初のクラスターヘッドの選出:このステップの目標は、CHを分散して選出することです。各ラウンドの開始時に、センサー 乱数を選びます (0、1)で。乱数がP未満の場合、センサーiはCH候補です。このメカニズムで、およそ kNS センサーはCH候補として選出されます。乱数は前のラウンドに依存しません。複数のCH候補が同時にアドバタイズすると、アドバタイズメントの競合が発生します。競合を解決するために、ランダム化されたバックオフ遅延を使用します。

接続されたネットワークの形成:ICHは接続されていないため、CHが接続されたネットワークを形成できるように、より多くのCHを選択します。非クラスターヘッドセンサー(NCH)は、2つ以上の隣接するICHが接続されていない場合、ゲートウェイCH(GCH)で示されるCHとして選出されます。

CHは、GCHまたはICHのいずれかを表します。残留エネルギーの量が多く、隣接するCHの数が最大であるNCHが優先されます。

GCHを選択するためのアドバタイズメントの競合を解決するために、ランダム化されたバックオフ遅延を推定します。

残留エネルギーの値が最も高いセンサーがCHになります。残留エネルギーは、以下の式を使用して計算されます

RE = Einit –(PTNS * NT)

RE残留エネルギーEinit初期エネルギー

NT送信回数

クラスターの再編成中に、クラスターヘッドはそれに関連するメンバーとともに変更されます。クラスタリングは、長距離伝送に参加するセンサーノードの数を減らすことにより、リソースの使用率を提供し、WSNのエネルギー消費を最小限に抑えます。 WSNでは、ネットワークのユーティリティを拡張するためのエネルギー効率が主な関心事です。

ルート最適化手法

ルート最適化手法の目標は、ソースからシンクへのパスを達成することですが、最小限のコストで目標を達成することも必要です。 NS。 障害物間のホップカウントの観点からの最短経路。 WSNでのルーティングに関するほとんどの文献には、FoIの障害に対する特別な扱いはありません。このモジュールでは、追加のオーバーヘッドなしでデータ送信中のパス長を最適化する、クラスター化されたWSNでのDUAL(拡散更新アルゴリズム)を提案します。

クラスターヘッドの選択

と同じように、クラスターヘッドのしきい値は次の式で設定されます。

ここで、Pはすべてのセンサー間のクラスターヘッドの比率、1 / Pは1つのクラスター内の予想されるノード数、現在のラウンドのインデックスを上げる、Gは最後のrmod( 1 / P)ラウンド。

提案されたアルゴリズムでは、ネットワークが異種であると見なします。ここでは、通常のノードと比較して、それ自体に追加のエネルギー係数(α)を持つ高度なノードがmパーセントあります。この種の異種センサーネットワークに対処するために、SEPが提案され、詳細に議論されています。これらの高度な通常のノードでは、この種の異種レイアウトはネットワークの密度に影響を与えません。したがって、以前のPoptのセットを変更する必要はありません。初期エネルギーをE0と仮定します。提案するセンサーネットワークの高度なノードのエネルギーはE0•(1 +α)です。新しい異種ネットワークの総エネルギーが計算されます。

NS

(1-m)E0 + N

NS

E0(1 +α)= N

E0

(1 +αm)

したがって、総エネルギーは(1 +α•m)倍に増加します。事実上、通常のノードの初期エネルギーに等しいエネルギーを持つn•(1 +α•m)ノードがあります。で詳細に説明した高度ノードと通常ノードの確率方程式に基づいて、特定のセンサーノードの残留エネルギーを使用して選択方法を改善しました。式に示されているように、通常のノードの重み付けされた確率は次のとおりです。

残留物

©2016、IRJET |インパクトファクター値:4.45 | ISO 9001:2008認証ジャーナル

| 1532ページ

アルゴリズムの実装

クラスター形成

ICHは接続されていないため、CHが接続されたネットワークを形成できるように、より多くのCHを選択します。非クラスターヘッドセンサー(NCH)は、2つ以上の隣接するICHが接続されていない場合、ゲートウェイCH(GCH)で示されるCHとして選出されます。 NCH iのランダム化されたバックオフ遅延は、で表されます。

したがって、残留エネルギーが高く、隣接するICHの数が多いNCHが、隣接するGCH候補の中から高い確率でGCHとして選出されます。 NCHiがCHjに関連付けたい場合(jのCH度はniで最小)、iは関連付けメッセージ(Casso(j、i、ni)で示される)をjに送信し、後続の確認メッセージ(で示される)を受信します。 Ccon f(i、j、nj))fromj。 NCHは、iからCcon f(j、i、ni))メッセージを受信するたびに、ネイバーiの情報を更新します。

分離されたセンサーはCHになります。したがって、WSNの各センサーは、CHまたはクラスターのメンバーのいずれかです。接続されているすべてのCHは、接続されているWSNの2番目のプロパティです。センサーに接続されていない2つ以上の隣接するICHがある場合、センサーはGCHになります。接続されたクラスター化されたWSNでは、各NCHに正確に1つのCHがあります。各NCHが1つのCHのみに関連付けることを許可すること。

手順:クラスター形成

出力:GCH 1の場合 私はCHです それから

2の場合 NCH jからCasso(i、j、n j)メッセージを受信する それから

3 Ccon f(j、i、ni)メッセージをjに送信します

4の場合 GCH jからCadve(j、E j、n j)メッセージを受信する それから

5 ネイバーリストniにjを追加します 6 Ccon f(j、i、ni)メッセージをjに送信します

IV。システムの実装

このプロジェクトでは、シミュレーションツールとしてネットワークシミュレータ2を使用しています。 NSがシミュレーターとして選択されたのは、NSが提供する機能の範囲と、変更および拡張できるオープンソースコードがあるためです。

ネットワークシミュレータ(NS)はオブジェクト指向であり、

ネットワーク研究のための離散イベントシミュレータ。 NSは、有線および無線ネットワークを介したTCP、ルーティング、およびマルチキャストプロトコルのシミュレーションを実質的にサポートします。シミュレーターは、研究と開発の継続的な努力の結果です。 NSにはかなりの自信がありますが、まだ洗練された製品ではなく、バグが発見され、継続的に修正されています。

NSはC ++で記述されており、コマンドおよび構成インターフェイスとしてOTcl1インタープリターが使用されています。実行は高速ですが変更が遅いC ++部分は、詳細なプロトコル実装に使用されます。一方、OTcl部分は、実行速度ははるかに遅くなりますが、非常に高速に変更できるため、シミュレーション構成に使用されます。この分割言語プログラムアプローチの利点の1つは、大規模なシナリオを迅速に生成できることです。単にシミュレータを使用するには、OTclを知っていれば十分です。一方、1つの欠点は、シミュレータを変更および拡張するには、両方の言語でのプログラミングとデバッグが必要になることです。

©2016、IRJET |インパクトファクター値:4.45 | ISO 9001:2008認証ジャーナル

|ページ1533

エネルギー効率でリアルタイム性能を強化するために、産業用ワイヤレスセンサーネットワーク用の2ホップ情報を使用した勾配ルーティングを提案します。 2ホップ情報ルーティングは2ホップ速度ベースのルーティングから採用され、提案されたルーティングアルゴリズムは、距離ではなくシンクまでのホップ数に基づいています。さらに、確認応答制御スキームにより、エネルギー消費と計算の複雑さが軽減されます。シミュレーション結果は、エンドツーエンドの遅延の減少とエネルギー効率の向上を示しています。

ホップカウントは、データが送信元と宛先の間を通過する必要がある中間デバイスの数を指します。パケットが次のデバイスに渡されるたびに、ホップが発生します。したがって、ホップカウントは、ネットワーク内の距離の基本的な測定値です。

©2016、IRJET |インパクトファクター値:4.45 | ISO 9001:2008認証ジャーナル

| 1534ページ

ルート最適化手法を使用しない場合、パケットをルーティングするためにより多くの平均ホップカウントが必要になります。

C.パケット配信率

フローのパケット配信率は、ソースによってネットワークに送信されたパケットに対するシンクによって受信されたパケット数の比率です。

遅延は、パケットが記述された時間を超えて宛先に到達するまでの時間の測定値です。 2つのセンサーiとjは互いに直接通信でき、それらの間のユークリッド距離がC以下の場合は隣接センサーと呼ばれます。CHの隣接するCHの数はCH度と呼ばれます。

EHCでは、CHのみがアクティブのままでルーティングを提供するため、WSNの寿命が延びます。ネットワークの寿命を決定するため、消費電力は最小限に抑える必要があります。

©2016、IRJET |インパクトファクター値:4.45 | ISO 9001:2008認証ジャーナル

|ページ1535

ルーティングパスの寿命が長くなるため、WSNの寿命が延びます。結果は、最適化されたルーティングパスを計算するために、障害物の形状と位置を考慮する必要があることを示しました。

今後、経路探索のエネルギー消費量を削減するために、新しい経路発見方法を提案することができます。この方法では、送信元ノードは宛先ノードの場所の周りの円を計算し、宛先の隣接ノードのリストを提供します。ソースノードは、その転送ゾーン(円錐)を、頂点がソースノードの位置にあり、辺が宛先用に計算された円に接している角度で囲まれた領域として定義します。送信元ノードは、宛先のRREQパケットを転送ゾーン内のすべてのネイバーに送信します。これらの各ネイバーは、それに応じてRREQパケットを転送します。宛先がRREQパケットを受信すると、RREPパケットを送信元ノードに送り返します。転送ゾーンに障害物があるために送信元ノードが一定期間内にRREPを受信しない場合、送信元ノードは回復手順に頼ります。

1. J. H. Lee、T。Kwon、およびJ. Song、「産業用ワイヤレスセンサーネットワークのグループ接続モデル」 IEEETrans。 Ind。Electron。、vol。 57、いいえ。 5、pp。1835– 1844年、2010年5月。

2. J.-S.リーとW.-L. Cheng、「エネルギー予測を使用したワイヤレスセンサーネットワークのファジー論理ベースのクラスタリングアプローチ」、IEEE Sensors J.、vol。 12、いいえ。 9、pp。2891–2897、2012年9月。

3. Z. Ha、J。Wu、J。Zhang、L。Liu、およびK. Tian、「ワイヤレスセンサーネットワーク用の一般的な自己組織化ツリーベースのエネルギーバランスルーティングプロトコル」、IEEETrans。 Nucl。 Sci。、vol。 61、いいえ。 2、pp。732–740、2014年4月。 4. D. C. Hoang、P。Yadav、R。Kumar、およびS. Panda、

「エネルギー効率の高いワイヤレスセンサーネットワークのための調和探索アルゴリズムベースのクラスタリングプロトコルのリアルタイム実装」 IEEETrans。 Ind。Informat。、vol。 10、いいえ。 1、pp。774–783、2月。 2014.

5. M. Tarhani、Y。S。Kavian、およびS. Siavoshi、「SEECH:ワイヤレスセンサーネットワークにおけるスケーラブルなエネルギー効率の高いクラスタリング階層プロトコル」 IEEE センサーJ.、vol。 14、いいえ。 11、pp。3944–3954、11月。 2014.

6. P. T.A.クアンとD.-S.キム、「産業用ワイヤレスセンサーネットワークの勾配ルーティングのリアルタイム配信の強化」 IEEETrans。 Ind。Informat。、vol。 8、いいえ。 1、pp。61–68、2012年2月。

7. J. Niu、L。Cheng、Y。Gu、L。Shu、およびS. K. Das、「R3E:信頼性の高いリアクティブルーティングの強化

ワイヤレスセンサーネットワーク」 IEEETrans。 Ind。 Informat。、vol。 10、いいえ。 1、pp。784–794、2014年2月。


ダイクストラのアルゴリズム

1959年に公開されたダイクストラのアルゴリズムは、オランダのコンピューター科学者であった発見者のエドガーダイクストラにちなんで名付けられました。このアルゴリズムは、非負のエッジの重みを持つ有向グラフまたは無向グラフで最短経路を見つけることを目的としています。

前に、このアルゴリズムの詳細を調べて、次のことについて簡単に説明しましょう。

  • グラフ:グラフは、G =(V、E)として定義される非線形データ構造です。ここで、Vは頂点の有限集合であり、Eはエッジの有限集合であり、各エッジは任意の2つの頂点を結ぶ線または円弧です。
  • 加重グラフ:これは、すべてのエッジに重みと呼ばれる数値が割り当てられている特殊なタイプのグラフです。
  • 接続されたグラフ:このタイプのグラフでは、頂点の各ペア間にパスが存在します
  • スパニングツリー グラフの場合、Gは、最​​小数のエッジで接続されたGのすべての頂点を含むサブグラフG ’です。したがって、n個の頂点を持つグラフGの場合、スパニングツリーG ’にはn個の頂点と最大n-1個のエッジがあります。

問題文

重み付きグラフGが与えられた場合、目的は、与えられたソース頂点からGの他のすべての頂点への最短経路を見つけることです。グラフには次の特性があります。

  • 頂点のセットV
  • (q、r)が の間に 頂点 qとrおよびcost(q、r)はその重みを示します

ダイクストラのアルゴリズム:

  • これは単一ソースの最短経路アルゴリズムであり、特定の問題ステートメントの解決策を見つけることを目的としています。
  • このアルゴリズムは、有向グラフと無向グラフの両方で機能します
  • 接続されたグラフに対してのみ機能します
  • グラフに負のエッジの重みを含めることはできません
  • アルゴリズムは主に、局所的に最適な解を見つけるための欲張りアプローチに従います。ただし、以前のソリューションが保存され、ソース頂点からの最終距離を取得するためにさらに追加されるため、動的計画法を使用してグローバルに最適なソリューションを構築します。
  • このアルゴリズムの主なロジックは、次の式に基づいています-
    dist [r] = min(dist [r]、dist [q] + cost [q] [r])

この式は、頂点qに隣接する距離頂点rが、dist [q] + cost [q] [r]の値がdist [r]より小さい場合にのみ更新されることを示しています。ここに-

  • distは1次元配列であり、すべてのステップで、ソース頂点から他のすべての頂点までの最短距離を追跡します。
  • costは、グラフのコスト隣接行列を表す2次元配列です。
  • この式は、貪欲アプローチと動的アプローチの両方を使用します。最小距離値を見つけるために貪欲アプローチが使用されますが、動的アプローチは以前のソリューションを組み合わせるために使用されます(dist [q] すでに計算されており、計算に使用されます dist [r])

アルゴリズム-

  • グラフGのコスト隣接行列、たとえばコスト
  • ソース頂点、たとえばs
  • sからGの他のすべての頂点への最短経路を持つ全域木

以下は、解決策を見つけるために使用される手順です-

ステップ1 dist [s] = 0に設定し、S = ϕ // sはソース頂点であり、Sは訪問したすべての頂点を持つ1次元配列です。

ステップ2:sを除くすべてのノードvについて、dist [v] =∞に設定します。

ステップ3:dist [q]が最小になるようにSにないqを見つける//頂点qにアクセスしないでください

ステップ4:Sにqを追加//頂点qが訪問されたので、Sに頂点qを追加

ステップ5:rがSにないようにqに隣接するすべてのrのdist [r]を更新します//頂点rにアクセスしないでくださいdist [r] = min(dist [r]、dist [q] + cost [q] [r ])//貪欲でダイナミックなアプローチ

ステップ6:すべてのノードがSになるまで、手順3〜5を繰り返します。//すべての頂点にアクセスするまで繰り返します。

ステップ7:ソース頂点uから他のすべての頂点への最短パスを持つ配列distを出力します

次の例を使用して、このアルゴリズムの動作を理解してみましょう-

図1:入力グラフ(加重および接続)

上記の重み付けされ接続されたグラフとソース頂点が与えられた場合、sと他のすべての頂点の間の最短経路を表すツリーを見つけるために次の手順が使用されます-

ステップ1-dist [s] = 0、S = ϕ // uはソース頂点、Sは訪問したすべての頂点を持つ1次元配列に設定します。

ステップ2-sを除くすべてのノードvについて、dist [v] =∞を設定します。

訪問した頂点のセット(S) NS NS NS NS NS
0

図2:dist []を初期化した後のグラフ

ステップB--a)dist [s]が最小で、sがSにないため、ソース頂点sを選択します。

ステップ3-dist [q]が最小になるようにSにないqを見つける//頂点にアクセスしないでください

Sに追加してsにアクセスします

ステップ4-qをSに追加//頂点qが訪問されたので、頂点qをSに追加

ステップc) まだアクセスされていない(Sにない)sの隣接するすべての頂点、つまりAとCについて、アルゴリズムの次の手順を使用して距離配列を更新します-

ステップ5-rがSにないようにqに隣接するすべてのrのdist [r]を更新します//頂点rにアクセスしないでくださいdist [r] = min(dist [r]、dist [q] + cost [q] [r ])//貪欲でダイナミックなアプローチ

dist [A] = min(dist [A]、dist [s] + cost(s、A))= min(∞、0 + 9)= 9
dist [C] = min(dist [C]、dist [s] + cost(s、C))= min(∞、0 + 5)= 5

したがって、dist []は次のように更新されます-

訪問した頂点のセット(S) NS NS NS NS NS
[NS] 0 9 5

  1. 頂点Cが訪問されておらず(Sにない)、dist [C]が最小であるため、頂点Cを選択して訪問する
  2. Cの隣接する頂点、つまりA、B、Dの距離配列を更新する

ステップ6-すべてのノードがSになるまで、手順3〜5を繰り返します。

dist [A] = min(dist [A]、dist [C] + cost(C、A))= min(9、5 + 2)= 7

dist [B] = min(dist [B]、dist [C] + cost(C、B))= min(∞、5 + 9)= 14

dist [D] = min(dist [D]、dist [C] + cost(C、D))= min((∞、5 + 4)= 9

これにより、dist []が次のように更新されます-

訪問した頂点のセット(S) NS NS NS NS NS
[NS] 0 9 5
[s、C] 0 7 14 5 9

同様の行を続けて、すべての頂点が訪問されるまで(Sに追加される)ステップBが繰り返されます。 dist []も反復ごとに更新されるため、次のようになります–

訪問した頂点のセット(S) NS NS NS NS NS
[NS] 0 9 5
[s、C] 0 7 14 5 9
[s、C、A] 0 7 8 5 9
[s、C、A、B] 0 7 8 5 9
[s、C、A、B、D] 0 7 8 5 9

dist []の最後の更新により、sから他のすべての頂点への最短パス値が得られます。

与えられたグラフの結果として得られる最短パススパニングツリーは次のとおりです-

図3:ツリーにまたがる最短経路

  • ソース頂点に応じて、同じグラフに対して複数の最短パススパニングツリーが存在する可能性があります

以下は、ダイクストラのアルゴリズムのC ++実装です。

ノート :
アルゴリズムは、要件に応じて任意のプログラミング言語にマッピングできます。

プログラムは、図1と同じ入力グラフを使用して実行されます。これは、実際の出力で結果の解集合を検証するのに役立ちます。

図4:出力

時間計算量分析-

以下は、ダイクストラのアルゴリズムの時間計算量を計算する場合です-

  • ケース1-グラフGが隣接行列を使用して表されている場合-このシナリオは上記で実装されています C ++ ベースのプログラム。実装には2つのネストされたforループが含まれているため、それぞれの複雑さ オン)、ダイクストラのアルゴリズムの複雑さは O(n2)。ここでのnは、指定されたグラフの頂点の総数を指すことに注意してください。
  • ケース2-グラフGが隣接リストを使用して表される場合-このシナリオでは、時間計算量は次のように減少します。 O(| E | + | V |ログ| V |) ここで、| E |はエッジの数を表し、| V |はエッジの数を表します。グラフ内の頂点の数を表します

ダイクストラのアルゴリズムのデメリット-

ダイクストラのアルゴリズムは、負のエッジを持つ重み付きグラフで正しい​​最短経路を取得できません。このシナリオを説明するために、次の例を考えてみましょう-

図5:負のエッジを持つ加重グラフ

ソース頂点をAとして選択すると、アルゴリズムは次のように機能します-

ステップA-距離配列を初期化します(dist)-

訪問した頂点のセット(S) NS NS NS NS
0

ステップB-dist [A]が最小で、AがSにないため、頂点Aを選択します。AにアクセスしてSに追加します。まだアクセスしていない(Sにない)Aの隣接するすべての頂点、つまりC、B、およびD 、距離配列を更新します

dist [C] = min(dist [C]、dist [A] + cost(A、C))= min(∞、0 + 0)= 0

dist [B] = min(dist [B]、dist [A] + cost(A、B))= min(∞、0 + 1)= 1

dist [D] = min(dist [D]、dist [A] + cost(A、D))= min(∞、0 + 99)= 99

したがって、dist []は次のように更新されます-

訪問した頂点のセット(S) NS NS NS NS
[NS] 0 1 0 99

ステップC-ステップBを繰り返します

  1. 頂点Cが訪問されておらず(Sにない)、dist [C]が最小であるため、頂点Cを選択して訪問する
  2. Cの隣接する頂点がないため、距離配列は更新されません。

同様の行を続けて、すべての頂点が訪問されるまで(Sに追加される)ステップBが繰り返されます。 dist []も反復ごとに更新されるため、次のようになります–

訪問した頂点のセット(S) NS NS NS NS
[NS] 0 1 0 99
[交流] 0 1 0 99
[A、C、B] 0 1 0 99
[A、C、B、D] 0 1 0 99

したがって、以下はAからB、C、およびD-までの最短距離です。

しかし、これらの値は正しくありません。 NSC、A-> D-> B-> C 持っている 総費用= -200 これは0よりも小さいです。これは、頂点が訪問されてセットSに追加されると、再び「振り返る」ことがないために発生します。したがって、ダイクストラのアルゴリズムは、すでにSに追加されている頂点へのより短いパスを見つけようとはしません。


推奨:あなたのアプローチを試してみてください まず、ソリューションに進む前に。

この記事はによって寄稿されています サヒル・チャブラ。 GeeksforGeeksが好きで、貢献したい場合は、contribut.geeksforgeeks.orgを使用して記事を書くか、contribut @ geeksforgeeks.orgに記事をメールで送信することもできます。 GeeksforGeeksのメインページに表示される記事を参照して、他のオタクを助けてください。

何か間違っていることを見つけた場合、または上記のトピックに関する詳細情報を共有したい場合は、コメントを書いてください。

注意読者!今すぐ学習をやめないでください。ですべての重要なDSAの概念を手に入れましょう DSAセルフペースコース 学生に優しい価格で、業界に対応できるようになります。言語の学習からDSAlgoまでの準備を完了するには、以下を参照してください。 面接準備コースを完了する.

業界の専門家とのライブクラスに参加したい場合は、参照してください DSAライブクラス