2011-01-06 8 views
2

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

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

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

  • 1時間ごとに実行しようとしましたいくつかのアルゴリズムがだ、ノードは、「検索」のメッセージを受け取るノードた場合、最もエネルギー
  • が含まれているノードを見つけるために、スパニングツリーを開始します:送信者からのエネルギーがそれ自体よりも低い場合には、各ノードの左エネルギー-compare

    。それ自身のIDで と返信してください。送信者からのエネルギーがそれ自身よりも高い場合。送信者IDを返信し、ノードはそれ自身のIDを受け取り、他の隣接

  • に渡し、それが自己のクラスタヘッダそれを作る
  • 他のノードは、クラスタヘッダがされている知っているときに選択したヘッダ
  • をクラスタ化するための情報の送信を開始

環境:

この番号は、各ノード

のエネルギー電力であるルータ網

であると仮定する10

赤いノードはベースステーションです。

alt text

+0

試したアルゴリズムに何が間違っているか教えていただけない場合は、助けたいものが分かりにくいです。 –

+0

私は彼がアルゴリズムの様子を知っているとは思わないが、彼はそれを設計するにはいくつかのアイディアが必要かもしれない。 –

+0

@Nick Fortescue:私のアルゴリズムは良いとは言えません。私はこの環境にフローチャートと擬似コードを描く必要があります。私が理解できないことを説明しようとします。 * Aのエネルギーは15、Bのエネルギーは7 * AはBとBのエネルギーを比較します。この場合、AはBよりエネルギーが多く、BはBにエネルギーを返します。 ID of A. *メッセージを受信すると、それ自体がクラスタヘッダーになりますが、ノードC、D、Eはどうですか?多分彼らはAよりも多くのエネルギーを持っているかもしれません。 @msalvadores:まさに、私は思考やあなたがどのようにアルゴリズムを選択するかについて助けが必要です – TrieuBui

答えて

0

あなたのアルゴリズムでは、不足している唯一のことは、ネットワークの直径に関する情報であり、ほぼ完璧です。

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

さあ、あなたのアルゴリズム、ルーチンAとネットワークDIAM(G)の直径を表してみましょう。さらに続行する前に、(接続された)ネットワークの任意のノードから始まる単純なフラッディングアルゴリズムが、ネットワークのすべてのノードに到達するために円(G)を必要とすることは自明であることに同意する。

まず、最もエネルギーを持つノード(すなわち。同量のエネルギーを持つ他のノードが存在しない)一意であるという仮定をしなければなりません。

すべてのノードがネットワークの直径を事前に知っていたら、問題は非常に簡単に解決されます。ちょうどdiam(G)ラウンドのルーチンAを呼び出すと、そのノードの1つのノードだけが自分のIDそのノードは自分の変数のリーダーをに設定してと設定し、「リーダーが選出された、それは私です」というメッセージでネットワークをフラッドします。

-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 [email protected] 
関連する問題