2

私は分散システムの世界全体に不慣れです。この環境でクラスターを形成する方法と、どれが CH (クラスター ヘッダー) であるかを決定する方法について助けが必要です。スパニング ツリーを使用して、エネルギーが最も高いノードを CH に選択します。CH が選択されると、他のすべてのノードはその情報を CH に送信し、CH はそれを基地局 (赤いノード) に送信する必要があります。

問題は、アルゴリズムがどうあるべきか分からないことです。これが私がやろうとしたアルゴリズムです

クラスタリング アルゴリズム

  • 1 時間ごとに、ノードはスパニング ツリーを開始して、最も多くのエネルギーを含むノードを見つけます。
  • 「検索」メッセージを受信したノードの場合:

    -送信者からのエネルギーがそれ自体よりも低い場合、各ノードの残りのエネルギーを比較します。独自の ID で応答します。送信者からのエネルギーがそれ自体よりも高い場合。送信者 ID で応答し、それを他のネイバーに渡します

  • ノードが独自の ID を受け取ると、それを自己クラスター ヘッダーにします。
  • 他のノードがクラスター ヘッダーが選択されたことを認識したら、クラスター ヘッダーへの情報の送信を開始します。

環境:

これがルーターネットワークであると仮定します

数字は各ノードのエネルギーパワー

赤いノードは基地局です。

代替テキスト

4

2 に答える 2

0

あなたのアルゴリズムはほぼ完璧です。欠けているのはネットワークの直径に関する情報だけです。

ネットワークの直径は、ネットワークの最も離れた2つのノードの距離です。

ここで、アルゴリズム、ルーチンA、およびネットワーク直径(G)の直径を示しましょう。さらに先に進む前に、(接続された)ネットワークの任意のノードで開始する単純なフラッディングアルゴリズムがネットワークのすべてのノードに到達するためにdiam(G)ラウンドを必要とすることを証明するのは簡単であることに同意しましょう。

まず、エネルギーが最も多いノードが一意である(つまり、同じ量のエネルギーを持つノードが他に存在しない)と仮定する必要があります。

すべてのノードがネットワークの直径を事前に知っていれば、問題は非常に簡単に解決されます。diam(G)ラウンドのルーチンAを呼び出すだけで、その後、1つのノードだけが自分のIDと同じメッセージを持ち、そのノードは彼の可変リーダーであり、「リーダーが選出され、それは私です」というメッセージでネットワークを氾濫させます。

于 2011-04-04T19:53:00.253 に答える
-1
Cluster Form
{
In each cluster
If(Energy==…..)   
{
Energy= ……..;
Send    (CH_ID,CLUSTER_ID_CH)
}
If(Node_ CLUSTER _ID_CH== CLUSTER_ID_CH)
   {
send Join_Message(NODE_ID,CH_ID)
//when receving Join_Messag
CH send  (TDMA)
}
}**


for more information send me to  e.ouchker@gmail.com
于 2017-01-08T21:14:49.483 に答える