Lecture 22 - 2025 / 5 / 12

Packet Routing

考虑给定一张无向图 GG,第 ii 个数据包想从 si→tis_i \to t_i,沿着固定的路径 PiP_i。但是每条边每个时刻只能通过一个数据包。我们想要设计一个调度方案,使得传输完所有数据包的总时间最少。

定义 cec_e 为经过 ee 的路径数量,c=max⁡{ce}c = \max\{ c_e \},dd 为所有路径 PiP_i 长度的最大值。显然答案必须 ≥max⁡{c,d}\ge \max\{c, d\}。

Theorem: 存在一种调度方案满足时间为 O(c+d)O(c + d) 且只有常数大小的缓冲区。

Theorem': 存在一种调度方案满足时间为 O((c+d)2O(log⁡⋆(c+d)))O((c + d) 2^{O(\log^\star (c + d))}) 且只有 O((log⁡d)2O(log⁡⋆(c+d)))O((\log d)2^{O(\log^\star(c+d))}) 大小的缓冲区。这里 log⁡⋆\log^\star 的意思是通过不断取 ln⁡\ln 直到变成常数规模所需要的次数。

不失一般性设 c=dc = d。考虑尝试安排数据包 ii 在起点等待 ZiZ_i 时间,然后直接不等待地沿着路径 PiP_i 完成传输。这里 ZiZ_i 是独立均匀从 {1,2,⋯ ,αd}\{1, 2, \cdots, \alpha d\} 中抽取,α>1\alpha > 1 是待确定常数,显然这种做法的时间开销是 (1+α)d(1 + \alpha)d,正确性待证。

Claim: 将时间切分为 ln⁡d\ln d 长度的帧,可以将问题分割为若干子问题,其中每个数据包想从这个帧内的起点到这个帧内的终点。以正概率每个子问题中的边的冲突次数(经过的路径数量)为 ln⁡c\ln c。

对于每条边 ee 定义坏事件 AeA_e 代表在某个帧内经过 ee 的路径数量超过 ln⁡c\ln c。

注意到 AeA_e 只和 Ae′A_{e'} 相关,其中 e,e′e, e' 存在公共经过的数据包。由于只有至多 cc 个数据包经过 ee,每个数据包经过的路径长度至多 dd,因此 AeA_e 至多依赖 cd=d2cd = d^2 个坏事件。

接下来分析 Pr⁡[Ae]\Pr[A_e]。对于任何一个数据包,因为帧的长度是 ln⁡d\ln d,所以对于一个特定的帧,在其中任何数据包经过 ee 的概率仅为 ln⁡d/αd\ln d / \alpha d。于是该帧内经过 ee 的总边数 ∼B(c,ln⁡d/αd)\sim \mathcal B(c, \ln d / \alpha d),因此 Pr⁡[Ae]=(1+α)d⋅Pr⁡[B(c,ln⁡d/αd)>ln⁡c]\Pr[A_e] = (1 + \alpha)d\cdot \Pr[\mathcal B(c, \ln d / \alpha d) > \ln c],即对所有 <(1+α)d<(1 + \alpha)d 个帧 union bound。

根据 Chernoff bound,
Pr⁡[Ae]≤(1+α)d⋅(celn⁡ddαln⁡c)ln⁡d=(1+α)d2−ln⁡α\Pr[A_e] \le (1 + \alpha) d\cdot \left(\frac{ce\ln d}{d\alpha\ln c}\right)^{\ln d} = (1 + \alpha) d^{2 - \ln \alpha}

因此只需要取 α\alpha 足够大,即可满足 Pr⁡[Ae]<1/e(d2+1)\Pr[A_e] < 1 / e(d^2 + 1)。

利用这一性质,可以将问题拆分为 (1+α)d/ln⁡d(1 + \alpha) d / \ln d 个子问题,参数分别为 ln⁡c\ln c 和 ln⁡d\ln d,然后分别递归解决。通过不断取 ln⁡\ln,最终问题会变成常数规模,于是我们可以构造一个确定的调度方案。最终通过合并解决原问题。由于递归层数是 O(log⁡⋆(c+d))O(\log^\star (c + d)) 的,每层总长度会伸长 1+α1 + \alpha 倍,因此总时间为 d2O(log⁡⋆(c+d))d2^{O(\log^\star (c + d))},同时不同帧之间不会影响,因此缓冲区大小为 O((log⁡d)2O(log⁡⋆(c+d)))O((\log d) 2^{O(\log^\star(c+d))})。

Asymmetric LLL

Lemma (General LLL): 设 A1,⋯ ,AnA_1, \cdots, A_n 是一系列坏事件,Di⊆{A1,⋯ ,An}D_i \sube \{A_1, \cdots, A_n\} 是 AiA_i 相关的事件集合,如果存在实数 x1,⋯ ,xn∈[0,1)x_1, \cdots, x_n \in [0, 1) 使得对所有的 ii,有 Pr⁡[Ai]≤xi∏j∈Di(1−xj)\Pr[A_i] \le x_i \prod_{j \in D_i} (1 - x_j),则 Pr⁡[⋂i=1nAi‾]≥∏i=1n(1−xi)>0\Pr[\bigcap_{i=1}^{n} \overline{A_i}] \ge \prod_{i=1}^{n} (1 - x_i) > 0。

通过带入 xi=2Pr⁡[Ai]x_i = 2\Pr[A_i],有

Corollary (Asymmetric LLL): 同上,如果 ∑j∈DiPr⁡[Aj]≤1/4\sum_{j \in D_i} \Pr[A_j] \le 1/4,则 Pr⁡[⋂i=1nAi‾]≥∏i=1n(1−2Pr⁡[Ai])>0\Pr[\bigcap_{i=1}^{n} \overline{A_i}] \ge \prod_{i=1}^{n} (1 - 2 \Pr[A_i]) > 0。

Frugal Graph Coloring

Definition: 称 GG 的一个合法染色是 β\beta-frugal 的,如果对于任何 v∈Gv \in G 的邻居,都没有一种颜色出现了多于 β\beta 次。

Theorem: 如果 GG 的最大度数 Δ≥ββ\Delta \ge \beta^\beta,则 GG 有一种用 16Δ1+1/β16 \Delta^{1 + 1/\beta} 种颜色的 β\beta-frugal 染色。

对于 β=1\beta = 1,有 16Δ216 \Delta^2 种颜色,这是容易做到的。

对于 β≥2\beta \ge 2,对 GG 随机均匀 Q:=16Δ1+1/βQ := 16 \Delta^{1 + 1/\beta} 染色。下面证明有正数概率是满足条件的即可。有两类坏事件:

  1. AuvA_{uv}:相邻的两点 u,vu, v 染成同一种颜色。
  2. Bu1,u2,⋯ ,uβ+1B_{u_1, u_2, \cdots, u_{\beta + 1}}:某一个点的邻居 u1,u2,⋯ ,uβ+1u_1, u_2, \cdots, u_{\beta + 1} 染成了同一种颜色。

容易看出 Pr⁡[Auv]=1/Q,Pr⁡[Bu1,⋯ ,uβ+1]=1/Qβ\Pr[A_{uv}] = 1/Q, \Pr[B_{u_1, \cdots, u_{\beta + 1}}] = 1 / Q^\beta。对于 A 类事件,它与至多 2Δ2\Delta 个 A 类事件、2Δ(Δβ)2\Delta \binom{\Delta}{\beta} 个 B 类事件相关;对于 B 类事件,它与至多 (β+1)Δ(\beta + 1) \Delta 个 A 类事件、(β+1)Δ(Δβ)(\beta + 1) \Delta \binom{\Delta}{\beta} 个 B 类事件相关。可见 B 类事件的相关性更强,我们对其验证 Asymmetric LLL 的使用条件:
((β+1)Δ⋅1Q)+((β+1)Δ(Δβ)⋅1Qβ)≤ (β+1)ΔQ+(β+1)Δβ+1β!Qβ≤ β+116Δ1/β+β+1β!16β≤β+116β+β+1β!16β<1/4\begin{aligned} & \left( (\beta + 1) \Delta \cdot \frac{1}{Q} \right) + \left( (\beta + 1) \Delta \binom{\Delta}{\beta} \cdot \frac{1}{Q^\beta} \right) \\ \le \ & \frac{(\beta + 1) \Delta}{Q} + \frac{(\beta + 1) \Delta^{\beta + 1}}{\beta! Q^\beta} \\ \le \ & \frac{\beta + 1}{16 \Delta^{1/\beta}} + \frac{\beta + 1}{\beta ! 16^\beta } \le \frac{\beta + 1}{16 \beta} + \frac{\beta + 1}{\beta ! 16^\beta } < 1/4 \end{aligned}

因此满足 Asymmetric LLL 的使用条件,得证。