Brooks –Iyengarアルゴリズム 、FuseCPAアルゴリズム 、またはBrooks–Iyengarハイブリッドアルゴリズム [ 1 ] は、分散型センサーネットワーク によって取得される間隔測定 の精度と正確さの両方を向上させる分散型アルゴリズム であり、センサーに不具合がある場合でも同様です。[ 2 ] センサーネットワークは、各ノードの測定値と正確さの値を他のすべてのノードと交換し、収集されたすべての値からネットワーク全体の正確さの範囲と測定値を計算することによってこれを実現します。一部のセンサーからのデータの一部に不具合があっても、センサーネットワークは誤動作しません。このアルゴリズムは耐障害性があり、分散型です。センサー融合手法としても使用できます。このアルゴリズムの精度と正確さの限界は2016年に証明されています。[ 3 ]
背景 ノイズのあるデータが存在する場合の分散制御のためのBrooks–Iyengarハイブリッド アルゴリズムは、 ビザンチン合意 とセンサー フュージョン を組み合わせたものです。センサー フュージョンとビザンチン耐障害性の間のギャップを埋めます。[ 4 ] この画期的なアルゴリズムは、これらの異なる分野を初めて統合しました。本質的には、近似合意のための Dolev [ 5 ] のアルゴリズムと Mahaney および Schneider の高速収束アルゴリズム (FCA) を組み合わせたものです。このアルゴリズムは、N 個 の処理要素 (PE) を想定しており、そのうちt 個 は故障しており、悪意を持って動作する可能性があります。入力として、固有の不正確さまたはノイズ (未知の場合もある) を持つ実数値、または事前に定義された不確実性を持つ実数値、または区間を受け取ります。アルゴリズムの出力は、明示的に指定された精度を持つ実数値です。このアルゴリズムは、N を PE の数として、O ( N log N )で実行されます。このアルゴリズムは、クルセイダーの収束アルゴリズム(CCA) [ 6 ] に対応するように変更することも可能ですが、帯域幅の要件も増加します。このアルゴリズムは、分散制御 、ソフトウェアの信頼性 、高性能コンピューティング などに応用されています[ 7 ]。
アルゴリズム Brooks–Iyengarアルゴリズムは、分散センサネットワークの各処理要素(PE)で実行されます。各PEは、ネットワーク内の他のすべてのPEと測定された間隔を交換します。「融合」された測定値は、検出された領域の中点の加重平均です。[ 8 ] Brooks–Iyengarアルゴリズムの具体的な手順をこのセクションで示します。各PEは、アルゴリズムを個別に実行します。
入力:
PE k からPE i に送信される測定値は閉区間である[ l k 、 私 、 h k 、 私 ] {\displaystyle [l_{k,i},h_{k,i}]} 、1 ≤ k ≤ N {\displaystyle 1\leq k\leq N}
出力:
PE i の出力には、点推定値と区間推定値が含まれます。
PE i は、 他のすべての PE から測定値を受け取ります。 収集した測定値の集合を、交差する測定値の数に基づいて互いに排他的な区間に分割します。この交差する測定値の数は、区間の重みとして知られています。 重量が以下のインターバルを削除N − τ {\displaystyle N-\tau } 、 どこτ \displaystyle \tau } は、故障したPEの数です。 残りの区間がL 個ある場合は、A 私 {\displaystyle A_{i}} 残りの区間の集合を表す。A 私 = { ( 私 1 私 、 w 1 私 ) 、 … 、 ( 私 L 私 、 w L 私 ) } {\displaystyle A_{i}=\{(I_{1}^{i},w_{1}^{i}),\dots ,(I_{L}^{i},w_{L}^{i})\}} 区間私 l 私 = [ l 私 l 私 、 h 私 l 私 ] {\displaystyle I_{l}^{i}=[l_{I_{l}^{i}},h_{I_{l}^{i}}]} そしてw l 私 {\displaystyle w_{l}^{i}} 間隔に関連付けられた重みは私 l 私 {\displaystyle I_{l}^{i}} また、h 私 l 私 ≤ h 私 l + 1 私 {\displaystyle h_{I_{l}^{i}}\leq h_{I_{l+1}^{i}}} 。点推定値を計算するv 私 ′ {\displaystyle v_{i}'} PE i として v 私 ′ = ∑ l ( l 私 l 私 + h 私 l 私 ) ⋅ w l 私 2 ∑ l w l 私 {\displaystyle v_{i}'={\frac {\sum _{l}{\frac {(l_{I_{l}^{i}}+h_{I_{l}^{i}})\cdot w_{l}^{i}}{2}}}{\sum _{l}w_{l}^{i}}}} そして区間推定値は[ l 私 1 私 、 h 私 L 私 ] {\displaystyle [l_{I_{1}^{i}},h_{I_{L}^{i}}]} 例:
5 つの PE の例を考えてみましょう。PE 5 (S 5 {\displaystyle S_{5}} ) は他の PE に誤った値を送信し、それらはすべて値を交換します。
ブルックス・アイエンガーアルゴリズムの例 受け取った値S 1 {\displaystyle S_{1}} 次の表に示されています。
ブルックス・アイエンガーアルゴリズムによるWRD これらの区間の加重領域図(WRD)を描き、A 1 {\displaystyle A_{1}} アルゴリズムによるPE 1の場合:
A 1 = { ( [ 1.5 、 2.7 ] 、 4 ) 、 ( [ 2.7 、 2.8 ] 、 5 ) 、 ( [ 2.8 、 3.2 ] 、 4 ) } {\displaystyle A_{1}=\{([1.5,2.7],4),([2.7,2.8],5),([2.8,3.2],4)\}}
これは、少なくとも 4(=N − τ {\displaystyle N-\tau } = 5−1) 測定値が交差する。PE 1 の出力は
4 * 1.5 + 2.7 2 + 5 * 2.7 + 2.8 2 + 4 * 2.8 + 3.2 2 13 = 2.625 {\displaystyle {\frac {4*{\frac {1.5+2.7}{2}}+5*{\frac {2.7+2.8}{2}}+4*{\frac {2.8+3.2}{2}}}{13}}=2.625}
そして区間推定値は[ 1.5 、 3.2 ] {\displaystyle [1.5,3.2]}
同様に、5つのPEのすべての入力と結果を取得できます。
1982年のビザンチン問題:[ 5 ] 2人の将軍の問題 の拡張であるビザンチン将軍問題[ 9 ] は、二項問題と見なすことができる。
1983 近似コンセンサス: [ 10 ] この方法は、スカラーで構成されるセットからいくつかの値を削除して、不良入力を許容します。
1985年不正確コンセンサス: [ 7 ] この方法も入力としてスカラーを使用します。
1996年ブルックス・アイエンガーアルゴリズム:[ 1 ] この方法は区間に基づいています。
2013年ビザンチンベクトルコンセンサス: [ 11 ] この方法は入力としてベクトルを使用します。
2013 多次元合意: [ 12 ] この方法も入力としてベクトルを使用するが、距離の尺度は異なる。
区間入力を処理するために、近似コンセンサス(スカラーベース)、ブルックス・アイエンガーアルゴリズム(区間ベース)、ビザンチンベクトルコンセンサス(ベクトルベース)を使用できますが、論文[ 3 ] ではブルックス・アイエンガーアルゴリズムが最適であることが証明されています。
応用 Brooks–Iyengarアルゴリズムは、分散センシングにおける先駆的な研究であり、大きなマイルストーンであり、多くの冗長シナリオに対するフォールトトレラントソリューションとして使用できます。[ 13 ] また、あらゆるネットワークシステムに簡単に実装および組み込むことができます。[ 14 ]
1996年、このアルゴリズムはMINIXで使用され、より高い精度と正確性を実現した。これがRT-Linuxの最初のバージョンの開発につながった。
2000年には、このアルゴリズムはDARPA のSensITプログラムの分散型追跡プログラムの中核を成すものでした。複数のセンサーからの音響、地震、および動きの検出データが統合され、分散型追跡システムに入力されます。さらに、BBN Technologies、BAE Systems、ペンシルベニア州立大学応用研究所(ARL)、および南カリフォルニア大学/ISIが開発したアプリケーションにおいて、異種センサーからのデータを統合するためにも使用されました。
英国の防衛関連企業であるタレス・グループは 、この研究成果をグローバル運用分析研究所で活用しました。レイセオン社のプログラムでは、多くのシステムが信頼性の低いセンサーネットワークから信頼性の高いデータを抽出する必要があるため、この技術はセンサーの信頼性向上への投資増加を抑制する効果があります。また、このアルゴリズムの開発研究は、米海軍の海上領域認識ソフトウェアで使用されるツールにも活用されています。
教育分野では、ブルックス・アイエンガーアルゴリズムは、ウィスコンシン大学、パデュー大学、ジョージア工科大学、クレムソン大学、メリーランド大学などの授業で広く利用されている。
センサーネットワークの分野に加えて、時間トリガー型アーキテクチャ、サイバーフィジカルシステムの安全性、データ融合、ロボットの融合、高性能コンピューティング、ソフトウェア/ハードウェアの信頼性、人工知能システムにおけるアンサンブル学習 といった他の分野も、ブルックス・アイエンガーアルゴリズムの恩恵を受ける可能性がある。
アルゴリズムの特性 不良PE許容数 < N /3 最大故障PE数 < 2N / 3 複雑度 = O( N log N ) ネットワーク帯域幅のオーダー = O( N ) 収束 = 2 t / N 精度=入力値によって制限される 精度を高めるために繰り返し行う = 頻繁に 精度よりも正確さを優先する=いいえ 正確さよりも精度が優先される=いいえ
参考文献 1 2 Richard R. Brooks & S. Sitharama Iyengar (1996 年 6 月)。「堅牢な分散コンピューティングおよびセンシングアルゴリズム」。Computer。29 (6): 53–60。doi : 10.1109/2.507632。ISSN 0018-9162。2010 年4 月 8 日のオリジナルからアーカイブ。2010年 3 月22日取得 。 ↑ Mohammad Ilyas; Imad Mahgoub (2004年7月28日). センサーネットワークハンドブック:コンパクトな無線および有線センシングシステム (PDF) . CRC Press . 864ページ中 25~ 24、33~32ページ. ISBN 978-0-8493-1968-6 2010年6月27日にオリジナル(PDF) からアーカイブされました。 2010年 3月22日 に取得 。1 2 Ao, Buke; Wang, Yongcai; Yu, Lu; Brooks, Richard R.; Iyengar, SS (2016-05-01). "分散型耐障害性センサ融合アルゴリズムの精度限界について". ACM Comput. Surv . 49 (1): 5:1–5:23. doi : 10.1145/2898984 . ISSN 0360-0300 . S2CID 13760223 . ↑ D. Dolev (1982年1月) 「ビザンチン将軍再び襲撃」 (PDF) . J. Algorithms . 3 (1): 14– 30. doi : 10.1016/0196-6774(82)90004-9 . 2010年3 月22日取得. 1 2 L. Lamport; R. Shostak; M. Pease (1982 年 7 月) 「ビザンチン将軍問題」 ACM Transactions on Programming Languages and Systems . 4 (3): 382– 401. CiteSeerX 10.1.1.64.2312 . doi : 10.1145/357172.357176 . S2CID 55899582 . ↑ D. Dolev 他 (1986 年 7 月) 「障害が存在する場合の近似一致の達成」 (PDF) . Journal of the ACM . 33 (3): 499– 516. CiteSeerX 10.1.1.13.3049 . doi : 10.1145/5925.5931 . ISSN 0004-5411 . S2CID 496234 . 2010 年 3 月 23 日 取得 . 1 2 S. Mahaney; F. Schneider (1985). "不正確な一致: 正確性、精度、および段階的な劣化". 第4回ACM分散コンピューティング原理シンポジウム(PODC '85)議事録 . pp. 237–249 . CiteSeerX 10.1.1.20.6337 . doi : 10.1145/323596.323618 . ISBN 978-0897911689 . S2CID 10858879 . ↑ Sartaj Sahni および Xiaochun Xu (2004 年 9 月 7 日)。 「ワイヤレス センサー ネットワークのアルゴリズム」 (PDF) 。フロリダ大学ゲインズビル校 。2010 年 3 月 23 日 に取得。 ↑ Lamport, Leslie; Shostak, Robert; Pease, Marshall (1982-07-01). "The Byzantine Generals Problem". ACM Trans. Program. Lang. Syst . 4 (3): 382– 401. CiteSeerX 10.1.1.64.2312 . doi : 10.1145/357172.357176 . ISSN 0164-0925 . S2CID 55899582 . ↑ Dolev, Danny; Lynch, Nancy A.; Pinter, Shlomit S.; Stark, Eugene W.; Weihl, William E. (1986-05-01). "Reaching Approximate Agreement in the Presence of Faults". J. ACM . 33 (3): 499– 516. CiteSeerX 10.1.1.13.3049 . doi : 10.1145/5925.5931 . ISSN 0004-5411 . S2CID 496234 . ↑ Vaidya, Nitin H.; Garg, Vijay K. (2013-01-01). "完全グラフにおけるビザンチンベクトルコンセンサス". Proceedings of the 2013 ACM symposium on Principles of distributed computing . PODC '13. New York, NY, USA: ACM. pp. 65–73 . arXiv : 1302.2543 . doi : 10.1145/2484239.2484256 . ISBN 9781450320658 . S2CID 5914155 . ↑ Mendes, Hammurabi; Herlihy, Maurice (2013-01-01). "ビザンチン非同期システムにおける多次元近似合意". 第45回ACM理論計算機科学シンポジウム議事録 . STOC '13. ニューヨーク州ニューヨーク、米国: ACM. pp. 391–400 . doi : 10.1145/2488608.2488657 . ISBN 9781450320290 . S2CID 13865698 . ↑ Kumar, Vijay (2012). "センサーネットワークにおける情報処理のための計算および圧縮センシングの最適化" . International Journal of Next-Generation Computing . ↑ Ao, Buke (2017年 7月). 「堅牢な耐障害性鉄道ドア状態監視システム:Brooks-Iyengarセンシングアルゴリズムの輸送アプリケーションへの適用」 International Journal of Next-Generation Computing . 8. S2CID 13592515 .