Lecture 22 - 2025 / 5 / 12
Packet Routing
考虑给定一张无向图 G,第 i 个数据包想从 si→ti,沿着固定的路径 Pi。但是每条边每个时刻只能通过一个数据包。我们想要设计一个调度方案,使得传输完所有数据包的总时间最少。
定义 ce 为经过 e 的路径数量,c=max{ce},d 为所有路径 Pi 长度的最大值。显然答案必须 ≥max{c,d}。
Theorem: 存在一种调度方案满足时间为 O(c+d) 且只有常数大小的缓冲区。
Theorem': 存在一种调度方案满足时间为 O((c+d)2O(log⋆(c+d))) 且只有 O((logd)2O(log⋆(c+d))) 大小的缓冲区。这里 log⋆ 的意思是通过不断取 ln 直到变成常数规模所需要的次数。
不失一般性设 c=d。考虑尝试安排数据包 i 在起点等待 Zi 时间,然后直接不等待地沿着路径 Pi 完成传输。这里 Zi 是独立均匀从 {1,2,⋯,αd} 中抽取,α>1 是待确定常数,显然这种做法的时间开销是 (1+α)d,正确性待证。
Claim: 将时间切分为 lnd 长度的帧,可以将问题分割为若干子问题,其中每个数据包想从这个帧内的起点到这个帧内的终点。以正概率每个子问题中的边的冲突次数(经过的路径数量)为 lnc。
对于每条边 e 定义坏事件 Ae 代表在某个帧内经过 e 的路径数量超过 lnc。
注意到 Ae 只和 Ae′ 相关,其中 e,e′ 存在公共经过的数据包。由于只有至多 c 个数据包经过 e,每个数据包经过的路径长度至多 d,因此 Ae 至多依赖 cd=d2 个坏事件。
接下来分析 Pr[Ae]。对于任何一个数据包,因为帧的长度是 lnd,所以对于一个特定的帧,在其中任何数据包经过 e 的概率仅为 lnd/αd。于是该帧内经过 e 的总边数 ∼B(c,lnd/αd),因此 Pr[Ae]=(1+α)d⋅Pr[B(c,lnd/αd)>lnc],即对所有 <(1+α)d 个帧 union bound。
根据 Chernoff bound,
Pr[Ae]≤(1+α)d⋅(dαlnccelnd)lnd=(1+α)d2−lnα
因此只需要取 α 足够大,即可满足 Pr[Ae]<1/e(d2+1)。
利用这一性质,可以将问题拆分为 (1+α)d/lnd 个子问题,参数分别为 lnc 和 lnd,然后分别递归解决。通过不断取 ln,最终问题会变成常数规模,于是我们可以构造一个确定的调度方案。最终通过合并解决原问题。由于递归层数是 O(log⋆(c+d)) 的,每层总长度会伸长 1+α 倍,因此总时间为 d2O(log⋆(c+d)),同时不同帧之间不会影响,因此缓冲区大小为 O((logd)2O(log⋆(c+d)))。
Asymmetric LLL
Lemma (General LLL): 设 A1,⋯,An 是一系列坏事件,Di⊆{A1,⋯,An} 是 Ai 相关的事件集合,如果存在实数 x1,⋯,xn∈[0,1) 使得对所有的 i,有 Pr[Ai]≤xi∏j∈Di(1−xj),则 Pr[⋂i=1nAi]≥∏i=1n(1−xi)>0。
通过带入 xi=2Pr[Ai],有
Corollary (Asymmetric LLL): 同上,如果 ∑j∈DiPr[Aj]≤1/4,则 Pr[⋂i=1nAi]≥∏i=1n(1−2Pr[Ai])>0。
Frugal Graph Coloring
Definition: 称 G 的一个合法染色是 β-frugal 的,如果对于任何 v∈G 的邻居,都没有一种颜色出现了多于 β 次。
Theorem: 如果 G 的最大度数 Δ≥ββ,则 G 有一种用 16Δ1+1/β 种颜色的 β-frugal 染色。
对于 β=1,有 16Δ2 种颜色,这是容易做到的。
对于 β≥2,对 G 随机均匀 Q:=16Δ1+1/β 染色。下面证明有正数概率是满足条件的即可。有两类坏事件:
- Auv:相邻的两点 u,v 染成同一种颜色。
- Bu1,u2,⋯,uβ+1:某一个点的邻居 u1,u2,⋯,uβ+1 染成了同一种颜色。
容易看出 Pr[Auv]=1/Q,Pr[Bu1,⋯,uβ+1]=1/Qβ。对于 A 类事件,它与至多 2Δ 个 A 类事件、2Δ(βΔ) 个 B 类事件相关;对于 B 类事件,它与至多 (β+1)Δ 个 A 类事件、(β+1)Δ(βΔ) 个 B 类事件相关。可见 B 类事件的相关性更强,我们对其验证 Asymmetric LLL 的使用条件:
≤ ≤ ((β+1)Δ⋅Q1)+((β+1)Δ(βΔ)⋅Qβ1)Q(β+1)Δ+β!Qβ(β+1)Δβ+116Δ1/ββ+1+β!16ββ+1≤16ββ+1+β!16ββ+1<1/4
因此满足 Asymmetric LLL 的使用条件,得证。