Lecture 1 - 2025 / 2 / 17

Checking Matrix Multiplication

输入:三个 n×nn\times n 矩阵 A,B,CA, B, C。

输出:是否 AB=CAB = C。

随机选定向量 r=(r1,r2,⋯ ,rn)r = (r_1, r_2, \cdots, r_n),其中 rir_i 独立同分布于 U(S)U(S),2≤∣S∣<∣N∣2 \le |S| < |\N|

如果 (AB)r≠Cr(AB)r \ne Cr 则输出 No,否则输出 Yes。

确定算法 O(n3)O(n^3),或者最优秀的是 O(n2.376)O(n^{2.376})。

算法时间复杂度 O(n2)O(n^2)。

Claim: 如果 AB≠CAB \ne C,则 Pr⁡[(AB)r=Cr]≤1∣S∣\Pr[(AB)r = Cr] \le \dfrac{1}{|S|}。

设 D=AB−C≠0D = AB - C \ne 0,则不失一般性设 d11≠0d_{11} \ne 0。

如果 Dr=0Dr = 0,则 (Dr)1=∑i=1nd1iri=0(Dr)_1 = \sum_{i=1}^{n} d_{1i}r_i = 0

于是 r1=−1d11(d12r2+⋯+d1nrn)r_1 = - \dfrac{1}{d_{11}} (d_{12} r_2 + \cdots + d_{1n} r_n)

于是对于 r2,⋯ ,rnr_2, \cdots, r_n 的每种选择,r1r_1 只有唯一的可能性有可能使 Dr=0Dr = 0,于是 Pr⁡[Dr=0]≤1∣S∣\Pr[Dr = 0] \le \dfrac{1}{|S|}。

Checking Associativity

输入:在一个大小为 nn 的集合 XX 上定义二元运算 ∘\circ。

输出:是否满足结合律 ∀i,j,k∈X,i∘(j∘k)=(i∘j)∘k\forall i, j, k \in X, i \circ(j \circ k) = (i \circ j) \circ k。

确定性算法 O(n3)O(n^3)。

不妨规定 X={1,2,⋯ ,n}X = \{1 ,2, \cdots, n\}。

首先可以构造一种 ∘\circ 使得不满足条件的三元组是常数组。

事实上,构造 1∘2=11 \circ 2 = 1,其余运算结果全部为 33,则只有 (1∘2)∘2≠1∘(2∘2)(1 \circ 2) \circ 2 \ne 1 \circ (2 \circ 2)。

记 X=2X\mathcal X = 2^X,对于 R∈XR \in \mathcal X,可以用 R=r1r2⋯rnR = r_1r_2\cdots r_n 表示,其中 ri∈F2r_i \in \mathbb F_2 表示 ii 有没有在 RR 中出现。

从而 RR 可以写成 ∑i=1nri⋅i\sum\limits_{i = 1}^{n} r_i \cdot i。

我们在 X\mathcal X 上定义一种 ++ 运算,并扩展 ∘\circ 运算

R+S=∑i=1n(ri+si)⋅iR∘S=∑i=1n∑j=1n(risj)⋅(i∘j)R + S = \sum_{i=1}^{n} (r_i + s_i) \cdot i \\ R\circ S = \sum_{i=1}^{n}\sum_{j=1}^{n} (r_i s_j) \cdot (i\circ j)

我们将算法规定为:

均匀随机选择 R,S,T∈XR, S, T \in \mathcal X,如果 (R∘S)∘T≠R∘(S∘T)(R \circ S) \circ T \ne R \circ(S \circ T) 输出 No,否则输出 Yes。

可以看出 ∘\circ 在 XX 上是结合的,等价于 ∘\circ 在 X\cal X 上是结合的。

⇒\Rightarrow 可以通过展开得到,⇐\Leftarrow 是因为单元素集 ∈X\in \cal X。

Claim: 如果 ∘\circ 不结合,那么 Pr⁡[(R∘S)∘T=R∘(S∘T)]≤78\Pr[(R \circ S) \circ T = R \circ (S \circ T)] \le \dfrac 7 8。

假设存在 i∗,j∗,k∗i^*, j^*, k^* 不结合。

任取一组 R0,S0,T0R_0, S_0, T_0 使得 i∗∉R0,j∗∉S0,k∗∉T0i^* \notin R_0, j^* \notin S_0, k^* \notin T_0。

令 R1=R0∪{i∗},S1=S0∪{j∗},T1=T0∪{k∗}R_1 = R_0 \cup \{i^*\}, S_1 = S_0 \cup \{j^*\}, T_1 = T_0 \cup \{k^*\}。

则设 f(α,β,γ)=(α∘β)∘γ+α∘(β∘γ)f(\alpha, \beta, \gamma) = (\alpha \circ \beta) \circ \gamma + \alpha \circ (\beta \circ \gamma)。

不结合即 f({i∗},{j∗},{k∗})≠∅f(\{i^*\}, \{j^*\}, \{k^*\}) \ne \varnothing。

根据容斥原理 f({i∗},{j∗},{k∗})=∑r,s,t∈{0,1}f(Rr,Ss,Tt)≠∅f(\{i^*\}, \{j^*\}, \{k^*\}) = \sum_{r,s,t\in \{0, 1\} } f(R_r, S_s, T_t) \ne \varnothing

从而 ∃r,s,t∈{0,1}\exists r, s, t \in \{0, 1\} 使得 f(Rr,Ss,Tt)≠∅f(R_r, S_s, T_t) \ne \varnothing。

由于这样的 (R0,S0,T0)(R_0, S_0, T_0) 以及衍生出的 88 个集合构成了 X3\cal X^3 的一个划分,所以一定有 18\frac{1}{8} 的 X\cal X 的三元组是不满足结合律的。

Testing Polynomial Identities

给定某个域下 22 个 nn 元多项式 P,QP, Q,判定是否 P≡QP \equiv Q。

作差后问题等价于判定 P≡0P \equiv 0 是否成立。

我们在有限集 ∣S∣|S| 上均匀随机采样 r1,⋯ ,rnr_1, \cdots, r_n,并带入 PP 计算。

Claim: 如果 P≠0P \ne 0,则 Pr⁡[P(r1,⋯ ,rn)=0]≤d∣S∣\Pr[P(r_1, \cdots, r_n) = 0] \le \dfrac{d}{|S|},其中 d=deg⁡Pd = \deg P。

对于 nn 归纳。n=1n = 1 时显然至多 dd 个根,结论成立。

设 kk 是 PP 关于 x1x_1 的最大度数。

P(x1,⋯ ,xn)=M(x2,⋯ ,xn)x1k+N(x1,⋯ ,xn)P(x_1, \cdots, x_n) = M (x_2, \cdots, x_n) x_1^k + N(x_1, \cdots, x_n)

其中 deg⁡M≤d−k\deg M \le d - k,NN 中 x1x_1 的度数 <k< k。

设 E\cal E 表示 M(r2,⋯ ,rn)=0M(r_2, \cdots, r_n) = 0。

  1. 如果 E\cal E 发生,则对 MM 由归纳,Pr⁡[E]≤d−k∣S∣\Pr[\mathcal E] \le \dfrac{d - k}{|S|}。

  2. 如果 E\cal E 不发生,则当固定 r2,⋯ ,rnr_2, \cdots, r_n 时,PP 是关于 x1x_1 的 kk 次多项式,从而能使 P=0P = 0 的 x1x_1 不超过 kk 个,于是 Pr⁡[P(r1,⋯ ,rn)=0∣¬E]≤k∣S∣\Pr[P(r_1, \cdots, r_n) = 0 \mid \neg \mathcal E] \le \dfrac{k}{|S|}。

根据 union bound 立刻得证。