Skip to content

第十章:通信复杂度 ​

通信复杂度将输入拆分给多个参与者,并把本地计算视为免费。lower bound 因而只反映完成任务所需交换的信息量。

双参与者模型 ​

Alice 持有 x∈Xx\in X,Bob 持有 y∈Yy\in Y,目标是计算

f:X×Y→{0,1}.f:X\times Y\to\{0,1\}.

确定性协议按轮发送 bit,每条消息可以依赖本地输入和此前 transcript。cost 是最坏输入上的总通信 bit 数:

D(f)=min⁡Πmax⁡x,y∣Π(x,y)∣.D(f)=\min_\Pi\max_{x,y}|\Pi(x,y)|.

双方本地拥有无限计算能力,因此即使 ff 在单机上计算困难,也可能通信很少;反之,单机上简单的函数可能要求线性通信。

协议树 ​

确定性协议可表示为二叉树。内部节点指定发送方,分支由下一 bit 决定,叶节点给出输出。深度即最坏通信量。

每个 transcript 对应输入矩阵中的 combinatorial rectangle

A×B⊆X×Y.A\times B\subseteq X\times Y.

原因是:固定 transcript 后,Alice 的一致输入集合只依赖 xx,Bob 的一致输入集合只依赖 yy。确定性协议的每个叶子必须是 monochromatic rectangle。

因此,若通信量为 cc,输入矩阵至多被 2c2^c 个 monochromatic rectangle 划分。通信 lower bound 可转化为 rectangle partition lower bound。

相等性问题 ​

定义

EQ(x,y)=1  ⟺  x=y,x,y∈{0,1}n.\mathrm{EQ}(x,y)=1\iff x=y, \qquad x,y\in\{0,1\}^n.

确定性通信复杂度为 Θ(n)\Theta(n);是否额外传一位告知双方结果取决于输出约定。矩阵对角线上的 2n2^n 个 1 输入不能有两个落在同一 1-monochromatic rectangle,否则交叉输入也会被错误接受。

使用 public randomness 时,可以选择随机 hash,将 x,yx,y 映射到较短指纹。常数错误率只需 O(1)O(1) 或 O(log⁡1/ε)O(\log 1/\varepsilon) 通信。该例说明随机化可指数降低通信量。

愚弄集 ​

集合

S={(xi,yi)}S=\{(x_i,y_i)\}

是 1-fooling set,若所有 f(xi,yi)=1f(x_i,y_i)=1,且任意 i≠ji\ne j 至少一个交叉输入 (xi,yj)(x_i,y_j)、(xj,yi)(x_j,y_i) 输出 0。

任何 1-monochromatic rectangle 至多包含一个 SS 中元素,因此

D(f)≥log⁡2∣S∣.D(f)\ge\log_2|S|.

fooling set 易于使用,但并非对所有函数都给出紧 lower bound。

秩方法 ​

令 MfM_f 为通信矩阵,元素为 f(x,y)f(x,y)。若一个 monochromatic rectangle 的指示矩阵 rank 为 1,而协议用至多 2c2^c 个 rectangle 表示矩阵,则

D(f)≥log⁡2rank⁡(Mf)D(f)\ge \log_2\operatorname{rank}(M_f)

(根据使用的域和输出表示作相应调整)。

rank 将组合划分转为线性代数对象。log-rank conjecture 研究确定性通信复杂度与矩阵 rank 的多项式关系,是该领域的重要问题。

随机通信 ​

随机协议可使用 private coin 或 public coin。复杂度

Rε(f)R_\varepsilon(f)

要求对每个固定输入,协议对随机位的错误概率至多 ε\varepsilon。

Newman theorem 说明在有限输入长度下,public coin 相比 private coin 只节省约 O(log⁡n)O(\log n) 通信。该结论需要额外传递少量信息来选择一个小随机样本集。

使用 Yao principle 证明 randomized lower bound:

  1. 选择输入分布 μ\mu;
  2. 证明任何低通信确定性协议在 μ\mu 下错误较大;
  3. 推出任意低通信随机协议存在某个输入错误较大。

集合不交问题 ​

Alice、Bob 分别持有集合的指示向量。DISJn(x,y)=1\mathrm{DISJ}_n(x,y)=1 表示两集合不相交,即不存在位置 ii 满足 xi=yi=1x_i=y_i=1。随机有界错误通信复杂度为

R(DISJn)=Ω(n).R(\mathrm{DISJ}_n)=\Omega(n).

该线性下界可用 corruption 或 information complexity 等方法证明;基本 discrepancy 方法并不能直接给出这里的紧线性界。它是许多 streaming、distributed monitoring 和 data structure lower bound 的基础。

信息复杂度 ​

通信量计算 transcript 长度;information complexity 计算 transcript 对输入泄露的互信息。例如内部信息成本为

I(X;Π∣Y)+I(Y;Π∣X).I(X;\Pi\mid Y)+I(Y;\Pi\mid X).

任何协议传输的 bit 数至少覆盖其信息成本。信息方法还允许 direct-sum:独立求解多个实例通常需要累加信息,从而解释批处理不能任意压缩。

通信下界向其他模型的传递 ​

通信模型常嵌入其他计算过程:

  • streaming:把输入流切成两段,算法内存状态作为 Alice 向 Bob 的消息;
  • data structure:查询算法访问的 cell 与预处理数据形成通信协议;
  • distributed computing:节点间消息本身就是通信;
  • circuit:按变量划分线路,cut 上的信号形成协议。

归约需要精确说明一次查询、一个 memory cell 或一轮 streaming 对应多少通信 bit 和轮数。

本章自测 ​

  1. 为什么确定性协议的固定 transcript 对应 rectangle?
  2. Equality 的随机协议为何不与确定性 lower bound 矛盾?
  3. fooling set 如何限制 monochromatic rectangle 的覆盖?
  4. Yao principle 中为什么只需分析确定性协议?
  5. streaming 空间如何转化为通信消息长度?

上次更新: