次のプロパティに従うノードのネットワークがあります。
- グローバル セットには N 個のノードが含まれます。
- 各ノードは、X << N である X 個の近隣ノードを検出できます。
- ネイバーの検出は一方向の操作です (つまり、ネイバーは検出されたことを必ずしも認識しておらず、元のノードを検出しない場合もあります)。
私が達成する必要があるのは、これらのノードが効率的なネットワーク トポロジを自己構築して、すべてのノードが最小限のホップ数で通信できるようにすることです余分な複雑さを伴います)。これはすでに一般的に解決された問題ですか?つまり、標準的なベスト プラクティス ソリューションはありますか?
ノードを手動で組み立てるとしたら、他のノード グループ間のゲートウェイとして機能するいくつかのノードを含む階層を作成することになるでしょう。ただし、このノードを自己集合させるための最善のアプローチが何であるかはよくわかりません。グループ/階層トポロジーは要件ではなく、単なる直感的な例です。
トポロジーが整ったら、効率的なメッセージルーティングアルゴリズムを探しているわけではないことに注意してください(ただし、トポロジーをできるだけ効率的にし、各ノードができるだけX通信チャネルに近いものを使用することを望んでいます)。