N in π Bₙ N out
数学之旅 · CHAPTER 11

通信网络

Communication Networks

N 台机器两两通话,交换机怎么摆?直径要小(快)、开关要少(省)、拥塞要低(不堵)——三个愿望互相打架。从二叉树网到 Beneš 网的"圣杯"之旅,是一场关于 trade-off 的数学设计课。

⏱ 约 45 分钟🧩 7 个互动装置📖 原书第 425–444 页
11.1

路由与路由问题

Routing

一个通信网络有 N 个输入端和 N 个输出端(N 取 2 的幂),中间是一堆小交换机。谁去谁家由一个置换 π 规定:输入 i 的包要送到输出 π(i)。路由就是解决这个 π 的一组路径。最朴素的网络是完全二叉树网:树中任意两点路径唯一,输入 1 到输出 3 的路线清晰唯一。

但树网有个致命伤:根交换机是瓶颈——任何跨子树的通信都要过它。最坏置换 π(i) ::= N−1−i 下,每个包都得路过根:根的拥塞 = N,网络整体报废。这逼出了三个度量:直径(最坏延迟)、开关数(成本)、拥塞(最坏负载)。

互动 ①

🌲 二叉树寻径器:谁堵住了根?

11.3.1

二维阵列:花直径换不堵

The 2-D Array

阵列把 N 个输入排成一列、N 个输出排成一行,中间 N² 个 2×2 开关。直径涨到 2N(差 1000 输入的树网 22 步 vs 阵列 2000 步),换来定理 11.3.1:拥塞恰好为 2。证明的两半都能"画"出来:上界——每包先右走到自己的列再下走,行 i 的开关最多只见 2 个包;下界——π(0)=0、π(N−1)=N−1 时左下角开关必被 2 个包穿过。

互动 ②

🧮 阵列拥塞实验台:先右后下,为何是 2

11.3.2

蝶形网:递归数据类型的胜利

The Butterfly

蝶形网是递归定义的(第 7 章语法再就业):F₁ 是 2 输入 2 输出的交叉开关;Fₙ₊₁ 把两份 Fₙ 竖排,新输入 i 与 2ⁿ+i 各连到同一个第 i 个输入开关。开关数 N(logN+1)、直径 logN+2,拥塞约 √N——树与阵列的折中。每个输入到每个输出路径唯一(递归路由),习题 11.8 证明拥塞恰为 √N(N 偶次幂):第 i 列每个开关恰有 2ⁱ 条入径与 2^(logN−i) 条出径。

互动 ③

🦋 蝶形构造器:F₁ → F₂ → F₃

开关数 6 = N(logN+1)
新输入 i(上排第 i 个)与 2ⁿ+i(下排第 i 个)用同色标记——它们汇入两份 Fₙ 的同一个第 i 个输入开关。这正是 11.5 递归定义的图形版。
互动 ④

🔥 蝶形拥塞热区(习题 11.8):哪一列最堵?

拥塞 = √(N/2) = 2(N=8 是 2 的奇次幂)
用位反转置换 π(习题 11.8 的最坏情形),数每列每个开关的穿行路径数。中间列是鞍点:2ⁱ 条来路 × 2^(logN−i) 条去路——最多的一列就是拥塞 √N 的出处。
11.2

三大度量与 trade-off

Routing Measures

设计通信网络 = 在三个互相冲突的指标间找平衡。移动滑块看四种经典网络在不同规模 N 下的表现——没有全能冠军,只有 trade-off:

互动 ⑤

📊 四强对比表:拨动规模 N 看指标变化

N = 23 = 8 台输入 / 输出
二叉树直径小开关少但拥塞 N;2-D 阵列拥塞仅 2 但开关 N²;butterfly 折中;Beneš 拥塞 1(圣杯)但要 2N log N 个开关。绿色 = 该指标最优,红色 = 最差。
11.3

网络设计四强与 Beneš 圣杯

Network Designs

2-D 阵列把拥塞压到 2(定理 11.3.1:先横后竖走,每个交换机至多经手 2 个包)——代价是 N² 个开关。Butterfly 网递归生长(Fₙ₊₁ = 两个 Fₙ + 新输入列),路由唯一、直径 log N + 2、拥塞 ≈ √N。Beneš 网则是把两个 butterfly 背靠背缝起来——开关和直径翻倍,换来 拥塞 = 1:任何置换都有"每条边至多一个包"的完美路由。Holy Grail 到手!

证明是归纳 + 一个漂亮的 2-着色:把"包 i 和包 j 不能走同一子网"记成约束图的边——约束图每个顶点至多 2 条边(一条来自输入约束、一条来自输出约束),两条边分属两组 ⇒ 每圈偶长 ⇒ 可 2-着色(引理 11.3.3)。红包走上子网、蓝包走下子网,归纳完成。

互动 ⑥

🎨 Beneš 路由:约束图 2-着色演示(N = 4)

置换 π 决定约束图:当 i − j = 2(输入侧冲突)或 π(i) − π(j) = 2(输出侧冲突)时,包 i 与包 j 必须走不同子网。2-着色后红走下网、蓝走上网——拥塞 1 达成。

红 = 下子网蓝 = 上子网
+

拥塞直觉快判

Quick Check
互动 ⑦

✅ 对错快判:谁在说大话?

四位工程师对自家网络的说法,判断对错。

进度 0 / 4
⚖️

终局自测

Final Check

六题,覆盖全章。

🥚

彩蛋与课后挑战

Easter Eggs & Problems
Page & Brin 的提醒、Akamai 的实践(原章开头 + 第 6 章)

第 6 章的 Mating Ritual 在 Akamai 的 6.5 万台服务器上真实分流;本章的网络设计则活跃在电话交换机与并行计算机内部。图论不是纸面游戏——Page 和 Brin 靠一张有向图改变了世界(原书开头原话:"pay attention to graph theory, and who knows what might happen!")。

德布鲁因图与 k-路径网络(原书习题 10.5 与 11.5)

第 10 章习题 10.5 的 de Bruijn 图(把每个 k-bit 串当顶点、滑动窗口当边)是"路径即结构"的好玩具;本章习题 11.5 让你填的则是 k-路径网络(5-path / n-path)的参数表——同样是"把路径当包"的构造,但两者各自独立,并无直接承袭关系。

课后挑战(均出自原书习题)
  • 11.1 给定一个通信网络:求最大拥塞、构造最坏/最好置换 π。
  • 11.2 对 B₃ 中的一个具体置换亲手画约束图(虚线边=第二列冲突,实线边=倒数第二列冲突),再 2-着色完成路由。
  • 11.5 / 11.7 设计你自己的 n-path / Reasoner-net,填 diameter / 拥塞 / LMC / CML 对比表——网络设计的毕业考。
本章路线图
11.1 · 路由与路由问题11.2 · 三大度量11.3 · 网络设计四强 ⚖️ · 终局自测🥚 · 彩蛋与挑战