ネットワークシステム (2025 年度後期)
- 第 1 回: スタートアップ授業 / グラフ理論
- 第 2 回: ネットワークの特徴を表す指標
- 第 3 回: ノードの中心性を表す指標・スケールフリー性
- 第 4 回: ランダムネットワーク・スケールフリーネットワーク
- 第 5 回: コミュニティ構造
- 第 6 回: コミュニティの検出
- 第 7 回: 情報拡散モデル
- 第 8 回: ネットワーク上の情報拡散 / 社会ネットワーク
- 第 9 回: 前半の総復習
- 第 10 回: 無線センサネットワーク
- 第 11 回: アドホックネットワーク・遅延耐性ネットワーク
- 第 12 回: SDN (Software-Defined Networking)
- 第 13 回: コンテンツ配信ネットワーク
1. URL
2. 担当者
中村 遼 E-mail: r-nakamura[atmark]fukuoka-u.ac.jp 居室: 14 号館 3 階 313 オフィスアワー: 月曜日 1 限
3. スケジュール (予定)
1. スタートアップ授業 / グラフ理論
25/ 9/15 2. ネットワークの特徴を表す指標
25/ 9/22 3. ノードの中心性を表す指標・スケールフリー性
25/ 9/29 4. ランダムネットワーク・スケールフリーネットワーク
25/10/ 6 5. コミュニティ構造
25/10/20 6. コミュニティの検出
25/10/27 7. 情報拡散モデル
25/11/ 8 2 限 8. ネットワーク上の情報拡散 / 社会ネットワーク
↑1121 教室であることに注意!
25/11/10 休講
25/11/17 9. 前半の総復習
25/12/ 1 10. 無線センサネットワーク
25/12/ 8 11. アドホックネットワーク・遅延耐性ネットワーク
25/12/15 12. SDN (Software-Defined Networking)
25/12/22 13. コンテンツ配信ネットワーク
25/12/25 14. 情報指向ネットワーク
26/ 1/ 5 15. 後半の総復習 / 授業アンケート FURIKA の実施
注: 補講日の割当によって、スケジュールは前後します。確定のタイミングはシステムからの通知の時点です。
4. 到達目標
- [O1] 複雑ネットワークにおける基礎理論として、ネットワークの特徴を表 す指標及びノードの中心性を表す指標を理解できるようになる
- [O2] 複雑ネットワークが有する代表的な性質であるスケールフリー性を、 その定義とともに理解し、説明できるようになる
- [O3] 複雑ネットワークが有するコミュニティ構造を、その定義とともに理 解できるようになる
- [O4] 情報拡散モデルを用いながら、複雑ネットワーク上の情報の拡散過程 を説明できるようになる
- [O5] 最先端のネットワーク技術である無線センサネットワーク・遅延耐性 ネットワーク・SDN・コンテンツ配信ネットワークの基本的な概念を理解で きるようになる
- [O6] 将来のネットワークシステムとして注目されている情報指向ネットワー クの概念を理解できるようになる
5. 成績評価
平常点を 20%、定期試験の得点を 80% で重み付けした得点と、 定期試験の得点を 100% とした得点とのうち、 大きいものを最終的な成績とします。
6. 参考書
- A.-L. Barabási, "Network Science", ISBN 1107076269
- M. Newman, "Networks Second Edition", ISBN 0198805098
7. 確認テスト
- 問題は、確認テストを実施する直前に公開されます。
- 持込はなしです。 ただし、確認テストの問題を閲覧するために、 PC・タブレット・スマートフォンを用いるのは構いません。 確認テストを解いている間はこれらの機器を他の用途には用いないでください。
- 答案用紙には手持ちのノート・ルーズリーフなどを用いてください。 所持していなければ、紙を配布します。
- 確認テストを終えた後には採点してください。 できれば、周りの人と答案を交換し相互に採点してください。
- 採点された答案を撮影し、 以下のフォームから提出してください。 提出の期限は、 確認テストを実施した当日の 11:59pm (JST) です。
Microsoft Forms (学内関係者限定) https://forms.office.com/r/bERVLB4Bz4
- (余程のことがない限り、) 確認テストの解答例を公開すること、 若しくは確認テストを解説することはありません。
8. 補助教材
9. 連絡
- 期末試験の持込許可品目はありません。
10. 第 1 回: スタートアップ授業 / グラフ理論
10.1. 資料
11. 第 2 回: ネットワークの特徴を表す指標
11.1. 講義資料
11.2. 確認演習
以下の演習で対象とするネットワークは、 次に示す 6 頂点から成る無向グラフである。
1 ----- 2 | \ | \ | \ | 5 --- 6 | \ | / 3 ----- 4
演習 1
ネットワークの平均次数を求めなさい。
演習 2
ネットワークの次数分布を求めなさい。
演習 3
ネットワークの平均経路長と直径をそれぞれ求めなさい。
演習 4
クラスタ係数が最大となるノードを答えなさい。
11.3. 略解
演習 1
8 / 3
演習 2
p(1) = 1 / 6, p(2) = 1 / 6, p(3) = 1 / 2, p(4) = 1 / 6
演習 3
- 平均経路長: 8 / 5
- 直径: 3
演習 4
ノード 3
12. 第 3 回: ノードの中心性を表す指標・スケールフリー性
12.1. 講義資料
前回と同じものを用いるので、新たに配布する資料はない。
12.2. 確認演習
以下の演習では、ネットワークとして、 次に示す、6 頂点から成る無向グラフを、対象とする。
1 ----- 2 | \ | \ | \ | 5 --- 6 | \ | / 3 ----- 4
演習 1
以下のア.〜ウ. は、次数中心性・近接中心性・媒介中心性のいずれかを説明 している。ア.〜ウ. の説明に対応する中心性指標の名称を回答しなさい。
- ア. 当該ノードを通過する最短経路の数がどの程度であるかを表す
- イ. 当該ノードから他ノードへの平均距離が短いほど、そのノードが重要である、ということを表す
- ウ. 当該ノードの次数に相当する
演習 2
各ノードの近接中心性を求めなさい。
演習 3
ノード 4 とノード 5 の媒介中心性を求めなさい。 ただし、値を正規化する必要はない。
12.3. 略解
演習 1
- ア. 媒介中心性
- イ. 近接中心性
- ウ. 次数中心性
演習 2
C(1) = 5 / 8, C(2) = 5 / 7, C(3) = 5 / 9, C(4) = 5 / 6, C(5) = 5 / 7, C(6) = 5 / 11
演習 3
B(4) = 7, B(5) = 8
13. 第 4 回: ランダムネットワーク・スケールフリーネットワーク
13.1. 講義資料
13.2. 確認演習
演習 1
ER モデルに従って、 N = 5, p = 1 / 2 のランダムグラフを手作業で生成してみなさい。
演習 2
以下の文章は、ランダムネットワークの次数分布 P(k) の導出を 説明している。この文章における空欄にあてはまる適切な数式や記号を答えなさい。
- あるノードに着目し、そのノードの次数が k である確率を考える。
- ノードの次数が k であるためには、(1) k 個のノードとつながり、 (2) 残りの N - 1 - k 個のノードとつながらない、ということを満たせばよい。
- あるノードが、k 個のノードと同時につながる確率は、[ ア ] である。 一方、残りの N - 1 - k 個のノードと同時につながらない確率は、 [ イ ] である。
- さらに、N -1 個のノードから k 個のノードを求める組み合わせが [ ウ ] であることを踏まえれば、 次数分布 P(k) は [ エ ] である。
演習 3
スケールフリー性を表現するために、BA モデルが導入した二つの仕組みを答え、 それらを簡潔に説明しなさい。
演習 4
以下に示すグラフに対して、 BA モデルに従って、 新たにノードを追加した時に、 優先的接続で各ノードにリンクが接続される確率を答えなさい。
1 ----- 2 | \ | \ | \ | 5 --- 6 | \ | / 3 ----- 4
13.3. 略解
演習 1
(乱数に依るので) 省略
演習 2
- ア: p^k
- イ: (1 - p)^(N - 1 - k)
- ウ: N - 1 C k
- エ N - 1 C k * p^k * (1 - p)^(N - 1 - k)
演習 3
(講義資料を参照すればよいので) 省略
演習 4
- ノード1: 3 / 16
- ノード2: 3 / 16
- ノード3: 2 / 16 (= 1 / 8)
- ノード4: 4 / 16 (= 1 / 4)
- ノード5: 3 / 16
- ノード6: 1 / 16
14. 第 5 回: コミュニティ構造
14.1. 講義資料
14.2. 確認演習
演習 1
コミュニティ構造を有するネットワークの特徴を、「密」および「疎」という語句を用いながら、 説明しなさい。
演習 2
以下に示す無向グラフにおいて 4-クリークは存在するかどうかを答えなさい。
1 ----- 2 | \ | \ | \ | 5 --- 6 | \ | / 3 ----- 4
演習 3
演習 2 で対象としたグラフにおいて、 ノード v1, v2, v3, v4 がコミュニティを形成するものとしたときに、 このコミュニティは「強いコミュニティ」であるかどうかを理由とともに答えなさい。
14.3. 略解
演習 1
ノード同士が密に接続されたコミュニティと、 疎に接続されたコミュニティから構成されたネットワーク。
演習 2
存在しない。
演習 3
「強いコミュニティ」の定義に基づいて、全てのノードに対して、 k^int_v > k^ext_v が成立しているかどうかを確認すると、
v1: 3 > 0 v2: 2 > 1 v3: 2 > 0 v4: 3 > 1
である。よって、全てのノードに対して、 k^int_v > k^ext_v が成立しているため、 ノード v1, v2, v3, v4 から成るコミュニティは「強いコミュニティ」である。
15. 第 6 回: コミュニティの検出
15.1. 資料
前回と同じものを用いるので、新たに配布する資料はない。
15.2. 確認演習
演習 1
本演習では、以下に示す無向グラフを対象とする。このときに、次の ア.〜エ. のコミュニティ集合が、講義資料の p.7 における定義を満たしているかどう かを検証し、満たいしていないものを列挙しなさい。その理由も述べること。
1 ----- 2 | \ | \ | \ | 5 --- 6 | \ | / 3 ----- 4
- ア. C = {{1, 3, 4}, {2, 4, 5, 6}}
- イ. C = {{1, 3, 4}, {2, 5}}
- ウ. C = {{1, 2, 3}, {4, 5, 6}}
- エ. C = {{1, 2, 4}, {3, 5, 6}}
演習 2
講義資料の p.12 における、 右半分の例 (講義ビデオ内で解説していない方の例) に対して、 モジュラリティを計算しなさい。
15.3. 略解
演習 1
1 ----- 2 | \ | \ | \ | 5 --- 6 | \ | / 3 ----- 4
- ア. ノード 4 が複数のコミュニティで重複しているから
- イ. ノード 6 がいずれのコミュニティにも属していないから
- エ. c2 において、ノード 3 とノード 5 との間で、路が存在しないから
演習 2
省略
16. 第 7 回: 情報拡散モデル
16.1. 資料
16.2. 確認演習
演習 1
講義資料の p.8 で紹介した数値計算に従って、 \(S(1)\) 、 \(I(1)\) 、 \(R(1)\) を手計算しなさい。 パラメータおよび初期値は次の通りとする; \(S(0)\) =9,990、 \(I(0)\) =10、\(R(0)\) =0、 \(\beta\) =0.4、\(\gamma\) =0.2
演習 2
講義資料の p.8 で紹介した数値計算を行うプログラムを、 何らかのプログラミング言語で実装し、 講義資料の p.9 で掲載しているグラフを求めてみなさい。
16.3. 略解
演習 1
- \(S(1)\) = 9,990 - (0.4 * 9,990 * 10) / 10,000 = 9986.004
- \(I(1)\) = 10 + (0.4 * 9,990 * 10) / 10,000 - 0.2 * 10 = 11.996
- \(R(1)\) = 0 + 0.2 * 10 = 2
演習 2
- Python 言語の場合:
Google Colab https://colab.research.google.com/drive/1fzc0MdkKuTWvXas-4-rYNOIl67oQ_s98?usp=sharing#scrollTo=e8jzirdi8mot
- C 言語の場合:
#include <stdio.h>
#define ARRAY_SIZE 1024
#define MAX_TIME 100
int N = 10000;
double BETA = 0.4;
double GAMMA = 0.2;
double DELTA = 1;
int
main()
{
int k = 0;
double S[ARRAY_SIZE], I[ARRAY_SIZE], R[ARRAY_SIZE];
double T[ARRAY_SIZE];
S[0] = 9990; I[0] = 10; R[0] = 0;
T[0] = 0;
for (k = 0; k < MAX_TIME / DELTA; k++) {
T[k + 1] = T[k] + DELTA;
// first-order approximation
S[k + 1] = S[k] - BETA / N * S[k] * I[k] * DELTA;
I[k + 1] = I[k] + (BETA / N * S[k] * I[k] - GAMMA * I[k]) * DELTA;
R[k + 1] = R[k] + GAMMA * I[k] * DELTA;
}
for (k = 0; k < MAX_TIME / DELTA; k++) {
printf("%.2f S %.4f\n", T[k], S[k]);
printf("%.2f I %.4f\n", T[k], I[k]);
printf("%.2f R %.4f\n", T[k], R[k]);
}
}
17. 第 8 回: ネットワーク上の情報拡散 / 社会ネットワーク
17.1. 資料
17.2. 確認演習
演習 1
SIR モデルにおける基本再生産数の定義を、 記号を用いながら、 答えなさい。
演習 2
ネットワーク上の情報拡散を抑制するための方策を、 ネットワークを構成するグラフの観点から、 答えなさい。
17.3. 略解
演習 1
(講義資料に記述されているので) 省略
演習 2
例: ネットワークからノード/リンクを取り除く。
18. 第 9 回: 前半の総復習
18.2. 確認テスト
ありません。
19. 第 10 回: 無線センサネットワーク
19.1. 資料
講義資料 (学内関係者限定) https://www.ins.tl.fukuoka-u.ac.jp/~nakamura/lecture/netsys/2025/priv/10.pdf 電子情報通信学会 知識ベース 知識の森 https://www.ieice-hbkb.org/files/04/04gun_05hen_03.pdf
19.2. 確認演習
演習 1
無線センサーネットワークにおける通信に、 WWAN 向けの規格が不適である理由を説明しなさい。
演習 2
IEEE 802.15.4 で採用されている CSMA/CA は、 CSMA とどのように違うかを説明しなさい。
19.3. 略解
演習 1
(WWAN 向けの規格は長距離の伝送を可能とするものの、) 消費電力が (WPAN 向けの規格と比較して相対的に) 大きいという性質が、 バッテリーで長時間稼動する、 ということが求められるセンサーには、 適していないため。
演習 3
- 搬送波を検知する前にランダムなバックオフ時間を待機する。バックオフ時 間の最大値は、搬送波検知においてチャネルが使用中であることを検出する 度に、増大させる。
- フレームを受信した端末は、その送信者に、確認通知 (ACK) フレームを転送する
20. 第 11 回: アドホックネットワーク・遅延耐性ネットワーク
20.1. 資料
20.2. 確認演習
演習 1
DTN を説明した以下の文章における空欄にあてはまる適切な語句を答えなさい。
- DTN は、Delay-Tolerant Networking の略称であり、(大きな) [ ア ] を許 容しながら通信を実現する技術である。
- DTN は、[ イ ]・[ ウ ]・[ エ ] 型の通信である。[ イ ] は、端末はメッ セージを一時的に蓄えることである。[ ウ ] は、メッセージを保持したま ま移動することである。[ エ ] は、他の端末と接触すると、メッセージの 複製を転送することである。
- DTN における初等的なメッセージルーティングを [ オ ] と呼ぶ。[ オ ] は、端末が他の端末と接触すると、必ずメッセージの複製を渡す、というも のであり、その結果として、メッセージが、疫病が広まるのと同じように、 広まっていく。
演習 2
エピデミックブロードキャストの利点と欠点をそれぞれ説明しなさい。
チャレンジ演習
DTN シミュレータをインストールし、シミュレーションを実行しなさい。
h-ohsaki/dtnsim https://github.com/h-ohsaki/dtnsim
20.3. 略解
演習 1
- ア: 遅延
- イ: 蓄積
- ウ: 運搬
- エ: 転送
- オ: エピデミックブロードキャスト
演習 2
- 利点: 遅延をもっとも減らすことができること
- 欠点: ネットワーク資源を過剰に浪費すること
チャレンジ演習
Linux であれば以下のようにすればよい。
> pip3 install dtnsim > dtnsim
21. 第 12 回: SDN (Software-Defined Networking)
21.1. 資料
講義資料 (学内関係者限定) https://www.ins.tl.fukuoka-u.ac.jp/~nakamura/lecture/netsys/2025/priv/12.pdf SDN がもたらす柔軟な将来網の世界 https://www.ieice.org/jpn/books/kaishikiji/2013/201312.pdf
21.2. 確認演習
演習 1
SDN の特徴を列挙しなさい。
21.3. 略解
演習 1
- ルーティングに相当する制御プレーンとフォワーディングに相当するデータプレーンとを分離し、 制御プレーンをコントローラが集中的に管理する。
- パケットの宛先単位ではなくフロー単位で、パケットの処理を決定する。
- ソフトウェアによってネットワークをプログラム可能とする。
22. 第 13 回: コンテンツ配信ネットワーク
22.1. 資料
講義資料 (学内関係者限定) https://www.ins.tl.fukuoka-u.ac.jp/~nakamura/lecture/netsys/2025/priv/13.pdf CDN(コンテンツ・デリバリー・ネットワーク)とは? https://www.akamai.com/ja/our-thinking/cdn/what-is-a-cdn CDN とは何ですか? https://aws.amazon.com/jp/what-is/cdn/
22.2. 確認演習
演習 1
以下に示すネットワークを考える。
host1
\
cache --- server
/
host2
このネットワークにおける各要素の役割は次の通りである。
host1およびhost2は、serverが保持するコンテンツを要求する。cacheは、自身を通過するコンテンツの複製を、一時的に保持することができる。serverは、コンテンツのオリジナルを保持する。
このときに、 cache が有効に機能するシナリオを説明しなさい。
演習 2
ネットワーク内のキャッシュからコンテンツを配信することの恩恵を、 通信品質の観点で、 説明しなさい。
22.3. 略解
演習 1
host1 があるコンテンツを要求し、その後に、同一コンテンツを host2
も要求する、というシナリオ。
演習 2
- コンテンツを取得するのに要する時間を削減できる
- ネットワーク内を転送されるトラヒック量を削減できる