0

2D空間に配置され、通信範囲が固定された限られたモバイルデバイスをシミュレートしたいと考えています。ノードのどのペアが互いに範囲内にあるかを判別し、頂点が範囲内または範囲外に移動したときにそれに応じてエッジが更新されることを確認できる必要があります。1000ノード以上のオーダーになると予想されるため、タイムステップごとに完全なペアワイズ比較(O(n ^ 2))を実行することは不可能です。頂点は異なる方向と速度を使用して移動するため、パスを予測する「予測」方法も同様に難しいと思います。すべての頂点の通信半径は同じであると想定しています。

既存のシミュレーション環境またはJavaライブラリが理想的ですが、アルゴリズムも役立ちます。ns-2のようなハードウェアシミュレーション環境は、私が探している単純な機能にとっては極端にやり過ぎです。

4

2 に答える 2

2

典型的な簡単な解決策は、スペースをグリッドに分割することです。通信範囲が R の場合、たとえば R をグリッド間隔係数として使用できます。グリッドの各セルでは、そのセルに属するノードのリスト/セットを継続的に維持します。ここで、モバイル デバイス M のネイバーを見つけるには、それ自体のセル内のモバイル デバイスと、そのセルのネイバーをチェックするだけで十分です。もちろん、他の間隔係数も使用できます。すべてのモバイル デバイスが相互に接続されているわけではない場合、これにより速度が大幅に向上します。

于 2012-05-08T04:54:29.380 に答える
0

@antti.huima が言ったように、ユークリデン空間をグリッドに分割する必要がありますが、グリッドのサイズを見つけることは要件に依存します。クラスターをグリッド外にできるかどうかはわかりませんが、クラスターを作成する方が効率的です。モバイルがデルタで少し移動するとします..そして、クラスターから出て、C1 と言えば、隣接するクラスター c2 に移動します。したがって、モバイルは、C2 と言うクラスター内の特定の範囲のすべてのモバイルとペアリングする必要があります...したがって、このプロセスでは使用しません。残りの N-1 要素すべてでペアリング イベントを更新する必要がありますが、クラスタ内に存在する要素のみで更新する必要があります。さらに、クラスタの半径は 2R であると仮定します。ここで、R は私の仮定でのモバイルの範囲です。

于 2012-05-08T05:25:45.867 に答える